焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

51单片机点亮8个led灯程序(51单片机点亮LED灯)

工品易达2022-10-21led灯18

51单片机如何控制8个led程序

#includereg51.h 包含单片机专用头文件

#includeintrins.h 这个是什么俺也不知道,但这个程序不需要这个头文件

void Delay10ms(unsigned int c); 自定义的延时函数声明

main() 主函数

{

unsigned int LED; 建立一个数值型变量,变量名 LED

LED=0xfe; 给这个变量赋值,0xfe 换成二进制数为 1111 1110

while(1) 主循环

{

P2=LED; 点亮发光管,即先点亮右边的第一个

Delay10ms(50); 延时一段时间

LED=LED1; 点亮的发光管,向左移动一位

if (P2==0x00) 判断是否8个全部点亮了

{

LED=0xff; 如果全部点亮,则将全部发光管熄灭

}

}

}

void Delay10ms(unsigned int c)延时函数主程序

{

unsigned char a, b;建立两个变量 a b

for(;c0;c--)循环语句,不断改变变量数值,已达到延时目的

{

for(b=38;b0;b--)

{

for(a=130;a0;a--);

}

}

}

给你翻译了,希望能帮到你

用51单片机控制八个发光二极管

// 51单片机控制八个发光二极管 左右循环。

#includereg52.h

#define uchar unsigned char

#define uint unsigned int

unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; // 改变这里 LED 各种花样

uchar t,i;

void main()

{

TMOD=0x10;

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

EA=1;

ET1=1;//开定时器1中断

TR1=1;//启动定时器1

t=0;

i=0;

while(1)

{

}

}

void timer1() interrupt 3

{

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

t++;

if(t==20)

{

t=0;

P2=TAB[i];

i++;

if(i==18) { i=0;}

}

}

51单片机的八个LED循环点亮,如何写代码?

// 51单片机控制八个发光二极管 左右循环。

#includereg52.h

#define uchar unsigned char

#define uint unsigned int

unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; // 改变这里 LED 各种花样

uchar t,i;

void main()

{

TMOD=0x10;

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

EA=1;

ET1=1;//开定时器1中断

TR1=1;//启动定时器1

t=0;

i=0;

while(1)

{

}

}

void timer1() interrupt 3

{

TH1=(65535-50000)/256;  // 50ms一次

TL1=(65535-50000)%256;

t++;

if(t==20)

{

t=0;

P2=TAB[i];

i++;

if(i==18) { i=0;}

}

}

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮,并循环。

一、#includereg51.h

void delay(unsigned char Xms)//延时Xms

{

int i,j;

for(X = i; X0; X--)

for(j=110;j0;j--);

}

void main()

{

P0 = 0x00; //P0.0~P0.7分别接八个发光二极管,刚开始全灭

while(1)

{

delay(1000);

P0 = 0xc0;//点亮前两个发光二极管P0.0和P0.1;

delay(1000);//延时1秒

P0 = 0x30;//点亮第三个和第四个LED

delay(1000);

P0 = 0x0c;

delay(1000);

P0 = 0x03;

}

}

二、

#include reg52.h

#include intrins.h

#define uchar unsigned char

#define uint unsigned int

uchar temp, t0, t1;

bit t2;

sbit P10 = P1^0;

void main()

{

P10 = 1;

temp = 0xfe;

P0 = temp;

P2 = 0xff;

TMOD = 0x01;

TH0 = (65536 - 50000) / 256;

TL0 = (65536 - 50000) % 256;

ET0 = 1;

EA = 1;

TR0 = 1;

while(1);

}

void timer0() interrupt 1

{

TH0 = (65536 - 50000) / 256;

TL0 = (65536 - 50000) % 256;

t0++;

if(t0 == 10) {

t0 = 0;

t1++;

if(t1 == 8) {t1 = 0; t2 = ~t2; P10 = t2;}

temp = _crol_(temp, 1);

if(t2) {P0 = temp; P2 = 255;}

else {P2 = temp; P0 = 255;}

}

}

扩展资料:

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。

顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。

参考资料来源:百度百科-c语言

51单片机点亮8个led灯程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于51单片机点亮LED灯、51单片机点亮8个led灯程序的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~