单片机节日彩灯控制器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及接口技术

节日彩灯控制器设计

2016-XX-XX XX大学xx xx xx xx xx

姓名学号指导老师学院专业:::::

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标准进行编写。

程序如下:

#include

#include

#define uchar unsigned char

uchar key,led=0xfe;

void delay(uchar a)

{

uchar i,j;

for(i=0;i

for(j=0;j<120;j++);

}

main()

{

while(1)

{

key=P1&0x0f;

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

软件上可以很好的实现各种要求的仿真。

当仿真开始运行时,各个模块处于初始状态。再触发按键后,主程序跳转到相应的程序段执行并控制节日彩灯进行工作。从仿真结果可以看出,本设计可以得到预期的仿真结果。

用的时候把截图名字裁剪了就可以啦!

Welcome To Download !!!

欢迎您的下载,资料仅供参考!

相关文档
最新文档