LED流水灯说明书

LED流水灯说明书
LED流水灯说明书

LED流水灯产品说明书

摘要

近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化核心部件。而AT89C51就是其中一种,它是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供一种灵活性高且廉价的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED灯从上到下依次点亮。

关键字:单片机、LED流水灯

实验内容

设计任务与要求

设计任务:在AT89C51开发板上实现8个LED“流水”现象即8只LED左右来回点亮,并通过编写程序控制流水现象。

要求:点亮第一个流水灯,然后熄灭,接着点亮第二个流水灯,熄灭,点亮第三个,到最后点亮第八个,熄灭;点亮第七个灯,依次到第一个灯,然后循环实现流水。

1、程序

先在Keil uVision编译器中输入下列程序:

#include

void Delay1ms(unsigned int count)//延时子程序

{

unsigned int i,j;

for(i=0;i

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

}

main() //主程序

{

unsigned char LEDIndex = 0;

bit LEDDirection = 1;

while(1)

{

if(LEDDirection)

P2 = ~(0x01<

else

P2 = ~(0x80>>LEDIndex);

if(LEDIndex==7)

LEDDirection = !LEDDirection;

LEDIndex = (LEDIndex+1)%8;

Delay1ms(200);

}

}

然后将上述程序编译生成目标文件LED.hex

2、需要用到的元件

3、绘制流水灯接线图

4、选用AT89C51的引脚功能

XTAL1:单芯片系统时钟的反向放大器输入端。

XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20pf的小电容,可以使系统更加稳定,避免噪音干扰而死机。

RESET:重置引脚,高电平动作,当要对晶体重置时,只要对次引脚电平提升至高电平并保持两个及其周期以上的时间遍能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。

P0:端口0是一个8位宽的开路汲汲双向输出入端口,共有8个位,p0.0表示0,p0.1表示1,以此类推。

P2:端口2是具有内部提升电路的双向I/0端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。

5、系统调试

8只LED上下来回点亮的调试结果,点亮第一个流水灯,然后熄灭,接着点亮第二个流水灯,熄灭;点亮第三个,实现流水式的左右来回点亮。输出端的小方点红色代表高点平,蓝色代表低电平,灰色代表不确定电平。

6、设计心得(总结)

设计心得:通过本次实验熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路节后,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项

相关主题
相关文档
最新文档