单片机流水灯设计与制作张宗芳课件.pptx
单片机流水灯设计与制作张宗芳
硬件定时流水灯程序设计及演示设计要求1流水灯程序流程框图2流水灯演示3程序编写2
(一)设计要求从P0.0到P0.7依次循环点亮一个LEDP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08路流水灯的闪烁间隔时间为标准的0.5s,启动定时器T0,采用方式1;
编程思路0xfd0xfb0xf70xef0xdf0xbf0x7fP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.011111110111111011111101111110111111011111101111110111111011111110xfe
(二)流水灯程序流程框图
(二)流水灯程序流程框图
开始P0=0xfe;点亮LED1P0=0xfd;点亮LED2延时延时延时P0=0x7f;点亮LED8……
(三)程序编写点亮第1个灯P1=2=254点亮第2个灯P1=2=253点亮第3个灯P1=3=251点亮第4个灯P1=2=247点亮第5个灯P1=2=239点亮第6个灯P1=3=223点亮第7个灯P1=2=191点亮第8个灯P1=3=1271、2、4、8、16、32、64的差值递减函数
(三)程序编写#includeAT89X51.H//预处理命令voidmain(){unsignedinti,j,value,dec;TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;do{value=254;dec=1;for(i=0;i8;i++){P1=value;//点亮LEDfor(j=0;j10;j++)//循环10次,每次定时50ms,总共0.5s {while(TF0!=1);TH0=(65536-50000)/256;TL0=(65536-50000)%256;TF0=0; } value=value-dec; dec=dec*2;}}while(1);
流水灯演示
小结1根据编程需求,合理选择定时器工作方式,能准确设备定时器的初值,正确编程程序
ThankYou!