您好,欢迎访问三七文档
单片原理及接口技术节日彩灯控制器设计班级学号:姓名:节日彩灯控制器设计1.设计要求与思路1.1设计要求在单片机的P0口接有8个发光二极管作为指示灯,P1.0~1.3接有4个按键开关,当不同脚上的按键按下时,实现如下功能:(1)按下P1.0脚的按键——8只灯全亮然后全灭,再全亮然后全灭,交替闪亮。(2)按下P1.1脚的按键——按此键则停止点亮8只灯,所有灯全灭。(3)按下P1.2脚的按键——LED指示由上向下流动点亮。(4)按下P1.3脚的按键——LED指示灯由下向上流动点亮。1.2设计思路由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。其中的LED采取共阳极接法,通过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。1.3电路设计(PROTEUS软件仿真)2.代码设计代码使用keiluvision3软件编辑,并编译为HEX文件#includereg51.h#defineucharunsignedcharsbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;voiddelay02s(void){unsignedchari,j,k;for(i=2;i0;i--)for(j=200;j0;j--)for(k=248;k0;k--);}voiddelay05s(void){unsignedchari,j,k;for(i=5;i0;i--)for(j=200;j0;j--)for(k=248;k0;k--);}voidk1yes(){P2=0x00;delay05s();P2=0xff;delay05s();}voidk2yes(){P2=0xff;}voidk3yes(){unsignedchari,count;count=0x01;for(i=0;i8;i++){P2=~count;delay02s();count=count1;}}voidk4yes(){count=0x80;for(i=0;i8;i++){count=count1;P2=~count;delay02s();}}voidmain(void){while(1){if(k1==0)k1yes();if(k2==0)k2yes();if(k3==0)k3yes();if(k4==0)k4yes();}}总结在这次设计中,我真诚地感谢老师和同学们的帮助,在他们的帮助下我顺利的完成了此次设计也使我对单片机的一些相应的周边知识有了更进一步的了解。在做论文的过程中,老师又反复而耐心地给我指出问题的所在,并帮助我纠正了许多不妥之处。在做系统设计这一过程中,也给我提出了许多意见和建议,并交给我许多解决问题的技巧和方法。单片机是一门实践性很强的课程,光光一个单片机并不能发挥什么作用,必须要和其它的芯片一起才能最大可能的发挥它的各种各样的功能。为了做这个课程设计我查阅了不少单片机的资料,图书馆关于单片机的书基本上都被我们班同学借光了。上网查找相应的资料和找老师指导;最后完成了这篇课程设计。在这次设计的过程中,软件编程是比较难的环节,因为用的是汇编和C语言,汇编语言是低级语言,不像高级语言哪么直观,算法的实现也比较困难,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,才能实现LED灯的相应的功能,在编程上需要花大量的时间在里面。还有在老师对我的系统提出了很多改进的意见,对我的论文中的一些不足的地方也一一地指出。没有他的帮助,我也不可能很好的完成这次设计。
本文标题:节日彩灯控制器设计
链接地址:https://www.777doc.com/doc-2053546 .html