1、单片机课程设计节日彩灯控制器的设计102020年4月19日文档仅供参考,不当之处,请联系改正。HUBEI NORMAL UNIVERSITY单片机 课程设计所在院系教育信息与技术学院专业名称电子信息工程班级题目节日彩灯控制器的设计指导教师成员完成时间 /12/18 一、设计任务及要求:设计任务:以单片机为核心,设计一个节日彩灯控制器。要 求: (1) P1.0停止,按此键则停止流动,所有灯为暗; (2) P1.1开始,按此键则灯全亮;(3) P1.2按此键则灯由下向上流动;(4) P1.3按此键则灯由上向下流动。指导教师签名: 12月28日 二、指导教师评语:指导教师签名: 年12月 18日
2、三、成绩 验收盖章 12月18 日 节日彩灯控制器的设计1.设计要求与思路1.1设计要求(1) P1.0停止,按此键则停止流动,所有灯为暗; (2) P1.1开始,按此键则灯全亮;(3) P1.2按此键则灯由下向上流动;(4) P1.3按此键则灯由上向下流动。1.2设计思路由按键控制功能的流水灯,LED工作的方式经过键盘的扫描实现。其中的LED采取共阳极接法,经过依次向连接LED的/口送出低电平,可实现题目要求的功能。1.3电路设计(Proteus仿真经过)本节日彩灯控制器电路原理图,如下图所示,各按键功能与实验设计要求相同:2.代码设计:代码使用keil uvision4软件编辑,并编译为H
3、EX文件。#include #include sbit quanmie=P10;sbit quanliang=P11;sbit congxiashang=P12;sbit congshangxia=P13;int chuzhi,i; void delay_ms(int z)int x,y;for(x=110;x0;x-)for(y=z;y0;y-);void main()P1=0xff;P2=0xff;while(1)if(quanmie=0)P2=0xff;if(quanliang=0)P2=0;if(congxiashang=0)int a;a=0xfe;while(1)delay_ms(
4、100);a=_cror_(a,1);P2=a;if(quanliang=0|quanmie=0|congshangxia=0)break; if(congshangxia=0)delay_ms(10);if(congshangxia=0)int a;a=0xfe;while(1)delay_ms(100);a=_crol_(a,1);P2=a;if(quanliang=0|quanmie=0|congxiashang=0)break; 3. Proteus仿真加载目标代码文件 打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件“led.hex”;在“Cl
5、ock Frequency”栏中输入晶振频率为12MHz。启动仿真如下页图所示:P1.0停止,按此键则停止流动,所有灯为暗。P1.1开始,按此键则灯全亮。P1.3按此键则灯由下向上流动。P1.4按此键则灯由上向下流动。4.结论经过几天的努力,终于完成了本学期的单片机课程设计,过程虽是辛苦的,但从中我学到了很多东西。首先巩固了课上学习的理论知识,对于计算机汇编语言的系统化整体化有了更深的认识。在编写程序的过程中遇到了很多困难经过重复修改不断修正最终才能得以执行。再次是经过搜集资料基本了解了proteus软件的使用。整个设计过程最大的收获就是意识到理论知识扎实的重要性,实践是建立在理论之上的。5.参考文献 1、单片机应用系统设计技术 张齐 朱宁西 编著 2、单片机原理与应用系统设计 张齐 编著