单片机课程设计节日彩灯控制器的设计Word文件下载.docx
《单片机课程设计节日彩灯控制器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计节日彩灯控制器的设计Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
指导教师
成员
完成时间
/12/18
一、设计任务及要求:
设计任务:
以单片机为核心,设计一个节日彩灯控制器。
要求:
(1)P1.0—停止,按此键则停止流动,所有灯为暗;
(2)P1.1—开始,按此键则灯全亮;
(3)P1.2—按此键则灯由下向上流动;
(4)P1.3—按此键则灯由上向下流动。
指导教师签名:
12月28日
二、指导教师评语:
年12月18日
三、成绩
验收盖章
12月18日
1.设计要求与思路
1.1设计要求
1.2设计思路
由按键控制功能的流水灯,LED工作的方式经过键盘的扫描实现。
其中的LED采取共阳极接法,经过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。
1.3电路设计(Proteus仿真经过)
本节日彩灯控制器电路原理图,如下图所示,各按键功能与实验设计要求相同:
2.代码设计:
代码使用keiluvision4软件编辑,并编译为HEX文件。
#include<
reg52.h>
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>
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、《单片机原理与应用系统设计》张齐编著