求一个AT89C52单片机流水灯程序,8个灯从左到右亮1个,亮2个亮3个,以此类推,用定时器

求一个AT89C52单片机流水灯程序,8个灯从左到右亮1个,亮2个亮3个,以此类推,用定时器,第1张

假设灯接P0口,低电平点亮

主程序

void main()

{

unsigned char a=0, i=0

TMOD=0X01

TH0=(65536-50000)/256/定时50ms

TL0=(65536-50000)%256

EA=1ET0=1

TR0=1

P0=0XFF

while(1)

}

中断程序

void timer0 (void) interrupt 1

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

a++

if(a==20)//1秒时间到

{a=0i++P0=0XEF>>(i-1)}

if{i==8)i=0

}

方法:将定时器中断时间设置为一秒一次。声明一个全局的变量temp 在初始化的时候赋初值,在中断服务函数中,添加 temp=_cror_(temp,1)在主程序while(1){ P0 = temp}

首先要加强学习掌握一定的知识,要多思考做好必要的准备工作,借签别人的成功经验,要有一定的心理素质,得夫心不能太重,吃一堑长一智善于总结经验,那样就不会烦躁一次性地解决。做之前先分析一下,看看自我准备工作到没到位,不要没有准备盲目的做首先要加强学习掌握一定的知识,要多思考做好必要的准备工作,借签别人的成功经验,要有一定的心理素质,得夫心不能太重,吃一堑长一智善于总结经验,那样就不会烦躁一次性地解决。做之前先分析一下,看看自我准备工作到没到位,不要没有准备盲目的做,就像考试


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存