单片机节日彩灯控制器.doc
文本预览下载声明
单片机原理及接口技术
节日彩灯控制器设计
1、任务
目的:
以单片机为核心,设计一个节目彩灯指示器。
要求:
在单片机的P0口接有8个发光二极管作为指示灯,P1.0~P1.3接有4个按键开关,当不同脚上的按键按下时实现如下的功能:
(1)按下P1.0脚的按键——8只灯全亮然后全灭,再全亮然后全灭,交替闪烁。
(2)按下P1.1脚的按键——按此键则停止点亮8只灯,所有灯全灭。
(3)按下P1.2脚的按键——LED指示灯由上向下流动点亮。
(4)按下P1.3脚的按键——LED指示灯由下向上流动点亮。
2、硬件电路设计
本文仅依据任务目的及要求进行设计时钟电路、按键模块、LED输出模块。
原理图如下:
3、程序设计
按照任务要求设计程序,以C51标准进行编写。
程序如下:
#includereg51.h
#includeintrins.h
#define uchar unsigned char
uchar key,led=0xfe;
void delay(uchar a)
{
uchar i,j;
for(i=0;ia;i++)
for(j=0;j120;j++);
}
main()
{
while(1)
{
key=P10x0f;
switch(key)
{
case 0x0e://P1.0
P0=0xff;
delay(200);
P0=0x00;
delay(200);
break;
case 0x0d://P1.1
P0=0xff;
break;
case 0x0b://P1.2
P0=led;
led=_crol_(led,1);//左移
delay(100);
break;
case 0x07://P1.3
P0=led;
led=_cror_(led,1);//右移
delay(100);
break;
default:break;
}
}
}
编译程序并输出HEX文件。
4、电路仿真
4.1仿真结果
分别对任务要求中的(1)、(2)、(3)、(4)要求进行仿真,仿真效果如下:
(1)按下P1.0脚的按键——8只灯全亮然后全灭,再全亮然后全灭,交替闪烁。
(2)按下P1.1脚的按键——按此键则停止点亮8只灯,所有灯全灭。
(3)按下P1.2脚的按键——LED指示灯由上向下流动点亮。
(4)按下P1.3脚的按键——LED指示灯由下向上流动点亮。
4.2仿真结果分析
通过对上述模块的仿真,可以看出基于单片机控制的节日彩灯在Protues软件上可以很好的实现各种要求的仿真。
当仿真开始运行时,各个模块处于初始状态。再触发按键后,主程序跳转到相应的程序段执行并控制节日彩灯进行工作。从仿真结果可以看出,本设计可以得到预期的仿真结果。
用的时候把截图名字裁剪了就可以啦!
5
2016-xx-xx
xx大学
xx
xx
xx
xx
xx
姓名
学号
指导老师
学院
专业
:
:
:
:
:
显示全部