用keil. c语言编写每隔一秒亮一个灯,总共8个灯

如题所述

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar a=0,i=8;
void main()
{
uchar t;
TMOD=1; //初始化定时器0
TH0=(65535-50000)/256; //设定50ms计时初值
TL0=(65535-50000)%256;
EA=1; //开总中断
ET0=1; //开T0中断
TR0=1; //启动T0定时器
t=0Xfe;
P1=t;
while(i)
{
if(a==20)
{
t=_crol_(t,1);
P1=t;
a=0;
i--;
}
}
while(1)
P1=0xff; //8个led灯为共阳接法
}

void time0() interrupt 1
{
TH0=(65535-50000)/256; //设定50ms计时初值
TL0=(65535-50000)%256;
a++;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

用keil. c语言编写每隔一秒亮一个灯,总共8个灯
void main(){ uchar t;TMOD=1; \/\/初始化定时器0 TH0=(65535-50000)\/256;\/\/设定50ms计时初值 TL0=(65535-50000)%256;EA=1;\/\/开总中断 ET0=1;\/\/开T0中断 TR0=1;\/\/启动T0定时器 t=0Xfe;P1=t;while(i){ if(a==20){ t=_crol_(t,1);P1=t;a=0;i--;} } while(1)P1...

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
unsigned char w,i;while(1){ w=0xfe;for (i=0;i<8;i++){ P1=w; \/\/循环点亮LED w<<=1; \/\/点亮灯的位置移动,最低位补0 w=w|0x01; \/\/将最低位置1 delay(500); \/\/延时 } } } 或:include "reg51.h"\/\/程序中使用_crol_函数,所以要包含头文件"intrins.h"in...

单片机 8个LED灯随机闪烁怎么做?
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。3、接着创建延迟函数,如下图所示,输入以下代码。4、然后创建C语言主函数,如下图所示,输入以下代码。5、接着输入对输出取反,最后调用延迟函数,如下图所示就完...

在51单片机中用c语言keil写程序实现用一个按键控制8个灯的亮和灭(按...
sbit key = P1^0;\/\/按键 void delay(unsigned int time){ unsigned int i,j;for(i=0; i<time; i++)for(j=0; j<1000; j++){;} } void mian(){ unsigned int temp =0x00;while(1){ if(key == 0){ delay(20);\/\/适当延时,消除按键抖动,自己看实际情况修改时间 if(key ==...

...流水灯C语言代码。要求第一三五七个灯亮,另一个是二四六八个灯亮...
假设P1口接8个LED灯,通过灌电流驱动(即0亮1灭)。编译器keil C代码如下:include<reg51.h> include<intrins.h> \/\/包含循环左移函数 _cro_l头文件 unsigned char tmp; \/\/中间变量 \/\/\/ \/\/ 延时子程序 \/\/\/

单片机流水灯程序,烧到单片机里,8个灯全亮,是怎么回事,下面使程序...
你这程序写得太复杂了吧,延时位置不对,主循环程序改成下面这样才行。while(1){ if(i!=8) { P2=table[i]; i++; while(num<100);num=0; } else i=0;}还有:c3344c指出的:ET1=1;\/\/这一行应改成ET0 = 1;TR1=1; \/\/这一行应改成TR0 = 1; 本回答由提问者推荐 举报| 答案纠错 | 评论 ...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

如何编写一段程序,单片机是51系列的,要求编写8个LED灯有三种以上的闪烁...
给你最简单的,看得清楚易懂的,P1口接8位LED,有多种闪烁方式。P2(扫描端在P2口,P3为位选端,注意看代码)口接上两位数码管的话还可以显示00-99的数字:ZHUCX: MOV A,#11111110B MOV P1,A ACALL YANSHI MOV A,#11111100B MOV P1,A ACALL YANSHI MOV A,#11111000B MOV P1,A ACALL...

求用C语言编写的交通灯程序,C51单片机控制,无左转右转
PortDX_Yellow = OFF;PortDX_Red = ON ;PortDX_Green = OFF;\/\/东西红灯亮38秒 delay(3800);} } 1.当为黄灯时南北、东西两道同时为黄灯;以提示行人或车辆下一个灯色即将到来时间 3秒。2.当南北为红灯,南北道车辆禁止通行,时间30秒;南北道为绿灯,南北道车辆通过时间38秒 。3.当...

在51单片机中用c语言keil写程序实现用一个按键控制6个灯的亮和灭(按...
include<reg51.h> sbit key=P1^0;sfr LED=P0;main(){ while(1)if(key==0)P0=0xc0;else P0=0xff;}

相似回答