简易多彩广告灯控制设计_课程设计说明书(编辑修改稿)内容摘要:

控制用于控制 8个发光二极管的闪亮顺序和个数。 程序设计的总框图如图 8. 8/20 系统设计 按键确认程序 通过 void key_detect()子函数 采集相应的 P口的电平判断按键是否按下,程序见系统实施中的源程序。 数码管显示程序 通过 void display(void)子函数来显示相应的方案数,程序见 系统实施中的源程序。 通过 void delay(unsigned int )子函数来完成延时功能,程序见 系统实施中的源程序。 开始 判断有无加一键按下 调用显示方案 调用 LED 显示方案 判断有无确定键按下 图 8 程序设计总框图 9/20 通过分别调用 void right_loop()、 void left_loop()、 void other_program()、 void ji_ou()四种子函数来显示相应的闪烁方案,程序见 系统实施中的源程序。 本课设所用源程序如下: include include unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 unsigned int flag = 0。 void key_detect(void)。 void display(void)。 void delay(unsigned int )。 void right_loop()。 void left_loop()。 void other_program()。 void increase()。 void ji_ou()。 sbit k1=P0^0。 //加一键 sbit k2=P0^1。 //确定键 void main() { while(1) { key_detect()。 if(flag==11) { flag=0。 } display()。 } } 10/20 /**************************************** 函数功能:实现任务一: 流水灯左循环亮 1秒闪烁 ****************************************/ void left_loop() { unsigned char temp。 temp=0x7f。 while(1) { temp=_crol_(temp,1)。 delay(100)。 P1=temp。 delay(100)。 P1=0xff。 if(k1==0) { P1=0xff。 //灯全灭 delay(20)。 if(k1==0) { P1=0xff。 flag++。 delay(10)。 } while(!k1)。 //检测是否松开按键 r delay(20)。 while(!k1)。 break。 } 11/20 } } /**************************************** 函数功能:实现任务二: 流水灯右循环亮 1秒闪烁 ****************************************/ void right_loop() { unsigned char temp。 temp=0xfe。 while(1) { temp=_cror_(temp,1)。 delay(100)。 P1=temp。 delay(100)。 P1=0xff。 if(k1==0) { delay(20)。 if(k1==0) { P1=0xff。 flag++。 delay(10)。 } while(!k1)。 //检测是否松开按键 r delay(20)。 while(!k1)。 12/20。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。