如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
单片机课程设计节日彩灯控制器的设计HUBEINORMALUNIVERSITY单片机课程设计所在院系教育信息与技术学院专业名称电子信息工程班级题目节日彩灯控制器的设计指导教师成员完成时间/12/18一、设计任务及要求:设计任务:以单片机为核心,设计一个节日彩灯控制器。要求:(1)P1.0—停止,按此键则停止流动,所有灯为暗;(2)P1.1—开始,按此键则灯全亮;(3)P1.2—按此键则灯由下向上流动;(4)P1.3—按此键则灯由上向下流动。指导教师签名:12月28日二、指导教师评语:指导教师签名:年12月18日三、成绩验收盖章12月18日节日彩灯控制器的设计1.设计要求与思路1.1设计要求(1)P1.0—停止,按此键则停止流动,所有灯为暗;(2)P1.1—开始,按此键则灯全亮;(3)P1.2—按此键则灯由下向上流动;(4)P1.3—按此键则灯由上向下流动。1.2设计思路由按键控制功能的流水灯,LED工作的方式经过键盘的扫描实现。其中的LED采取共阳极接法,经过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。1.3电路设计(Proteus仿真经过)本节日彩灯控制器电路原理图,如下图所示,各按键功能与实验设计要求相同:2.代码设计:代码使用keiluvision4软件编辑,并编译为HEX文件。#include<reg52.h>#include<intrins.h>sbitquanmie=P1^0;sbitquanliang=P1^1;sbitcongxiashang=P1^2;sbitcongshangxia=P1^3;intchuzhi,i;voiddelay_ms(intz){intx,y;for(x=110;x>0;x--)for(y=z;y>0;y--);}voidmain(){P1=0xff;P2=0xff;while(1){if(quanmie==0){P2=0xff;}if(quanliang==0){P2=0;}if(congxiashang==0){inta;a=0xfe;while(1){delay_ms(100);a=_cror_(a,1);P2=a;if(quanliang==0||quanmie==0||congshangxia==0){break;}}}if(congshangxia==0){delay_ms(10);if(congshangxia==0){inta;a=0xfe;while(1){delay_ms(100);a=_crol_(a,1);P2=a;if(quanliang==0||quanmie==0||congxiashang==0){break;}}}}}}3.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“led.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。启动仿真如下页图所示:P1.0—停止,按此键则停止流动,所有灯为暗。P1.1—开始,按此键则灯全亮。P1.3—按此键则灯由下向上流动。P1.4—按此键则灯由上向下流动。4.结论经过几天的努力,终于完成了本学期的单片机课程设计,过程虽是辛苦的,但从中我学到了很多东西。首先巩固了课上学习的理论知识,对于计算机汇编语言的系统化整体化有了更深的认识。在编写程序的过程中遇到了很多困难经过重复修改不断修正最终才能得以执行。再次是经过搜集资料基本了解了proteus软件的使用。整个设计过程最大的收获就是意识到理论知识扎实的重要性,实践是建立在理论之上的。5.参考文献1、《单片机应用系统设计技术》张齐朱宁西编著2、《单片机原理与应用系统设计》张齐编著