欢迎来到天天文库
浏览记录
ID:48135683
大小:5.08 MB
页数:19页
时间:2020-01-17
《LED流水灯 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、任务四LED闪烁灯江苏省惠山中等专业学校电信工程系一、任务要求:自行车夜行时,从安全角度考虑,需在车尾安装一个从右向左流动显示的LED警示灯,每1S向左移动1个。二、任务设计1、硬件电路:二、任务设计2、软件程序:#include“reg51.h”voiddelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i2、<<=1;P23、=0x01;if(P2==0x7F){delay_ms(1000);P2=0xFE;}}}三、任务操作:1、利用KeilC软件编写程序,编译生成HEX文件;2、正确连接最小系统与LED发光二极管模块电路;3、通过ISP数据下载器,加载HEX文件;4、调试程序,实现功能1、单片机程序结构:四、程序分析:2、程序:四、程序分析:(1)初始值左移时,初始值是最右边的灯亮,其余的都是灭的。P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.00XFE11111110四、程序分析:(2)移4、位左移分两步实现。P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.011111100第一步:通过P2<<=1,实现将P2中各位数据逐个向右移1位,第7位移出抛弃,最低的0位自动补上1个0;“<<=”左移位运算符四、程序分析:P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0原先11111100或0x0100000001新数据0x0D11111101第二步:通过P25、=0x01,实现将P2中最低的0位重新置1;“6、=”为或运算符四、程序分析:(3)移位终止P2P2.7P2.67、P2.5P2.4P2.3P2.2P2.1P2.00X7F01111111终止条件:P2=0x7F,程序实现:if(P2==0x7F){delay_ms(1000);P2=0xFE;}四、应用拓展:(1)改为从左向右流动P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0注意:硬件固定,即电路和杜邦线都不能动。四、应用拓展:(2)改为奇偶交替显示(3)改为左四位与右四位交替显示P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0四、应用拓展:(4)上述三种情况连起来,每个循环3次8、转入下一状态(5)设计16位LED流水灯P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0◆总结、思考、提升1、初值、终值2、移位、补位3、若任务要求为亮1S、灭0.5S,如何修改?ThankYou!(5)1秒延时的子程序(情况1)voiddelay1s(void){unsignedchari,j,k;for(i=0;i<2;i++){for(j=0;j<250;j++){for(k=0;k<250;k++);}}}(5)19、秒延时的子程序(情况2)voiddelay1s(void){unsignedinti,j;for(i=0;i<2;i++){for(j=0;j<62500;j++);}}(5)1秒延时的子程序(情况3)voiddelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i
2、<<=1;P2
3、=0x01;if(P2==0x7F){delay_ms(1000);P2=0xFE;}}}三、任务操作:1、利用KeilC软件编写程序,编译生成HEX文件;2、正确连接最小系统与LED发光二极管模块电路;3、通过ISP数据下载器,加载HEX文件;4、调试程序,实现功能1、单片机程序结构:四、程序分析:2、程序:四、程序分析:(1)初始值左移时,初始值是最右边的灯亮,其余的都是灭的。P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.00XFE11111110四、程序分析:(2)移
4、位左移分两步实现。P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.011111100第一步:通过P2<<=1,实现将P2中各位数据逐个向右移1位,第7位移出抛弃,最低的0位自动补上1个0;“<<=”左移位运算符四、程序分析:P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0原先11111100或0x0100000001新数据0x0D11111101第二步:通过P2
5、=0x01,实现将P2中最低的0位重新置1;“
6、=”为或运算符四、程序分析:(3)移位终止P2P2.7P2.6
7、P2.5P2.4P2.3P2.2P2.1P2.00X7F01111111终止条件:P2=0x7F,程序实现:if(P2==0x7F){delay_ms(1000);P2=0xFE;}四、应用拓展:(1)改为从左向右流动P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0注意:硬件固定,即电路和杜邦线都不能动。四、应用拓展:(2)改为奇偶交替显示(3)改为左四位与右四位交替显示P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0四、应用拓展:(4)上述三种情况连起来,每个循环3次
8、转入下一状态(5)设计16位LED流水灯P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0◆总结、思考、提升1、初值、终值2、移位、补位3、若任务要求为亮1S、灭0.5S,如何修改?ThankYou!(5)1秒延时的子程序(情况1)voiddelay1s(void){unsignedchari,j,k;for(i=0;i<2;i++){for(j=0;j<250;j++){for(k=0;k<250;k++);}}}(5)1
9、秒延时的子程序(情况2)voiddelay1s(void){unsignedinti,j;for(i=0;i<2;i++){for(j=0;j<62500;j++);}}(5)1秒延时的子程序(情况3)voiddelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i
此文档下载收益归作者所有