单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS),第1张

1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。

2、#include "reg51.h"首先写出单片机的头函数

3、#include "intrins.h"输入位移函数。

4、unsigned int count=0,led定义函数。

5、输入主函数,定义单片机的端口,写入延时函数。

6、中断跳转,使流水灯运行起来。

#include

unsigned int LED

unsigned int a,i,m

void yiwei()

void delay(unsigned int b)

void main()

TMOD=0x01 //T0为方式1

TH0=(65536-50000)/256

TL0=(65536-50000)%256  //初值

EA=1      //允许中断

ET0=1

while(1)

P2=0x00

delay(2000)

LED = 0x7f

m

=0

for (i = 0 i <8 i++)

{

a=0

TR0=1

delay(100)

while(m)

delay(2000)

P2=0x00

delay(2000)

LED = 0xfe

m=0

for (i = 0 i <8 i++)

a=1

TR0=1

delay(100)

while(m)

}

delay(2000)   

}

}

void t0() interrupt 1 using 1

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

m++

if(m==20)

{

m=0

yiwei()   

}

}

void yiwei()

{

if(a==0)

{      

P2=LED

LED = LED>>1 // 右移

LED = LED|0x80 

}

else

{  

P2  = LED

LED = LED <<1     // 左移

LED = LED | 0x01

}

}

void delay(unsigned int b)

{

unsigned char j

for(bb >0b--)    //机器在这里执行需要一段时间 也就达到了延时效果

for(j = 255j >0j--)

}

自己调试过,我12晶振


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8096141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存