循环彩灯的设计

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

目录

一、系统设计 (2)

(一)、方案的选择与论证 (2)

(二)、总体方案设计 (2)

二、MCS-51单片机 (3)

(一)、单片机简介 (3)

(二)、单片机各引脚功能 (4)

(三)、单片机的结构组成 (5)

三、硬件电路设计 (7)

(一)、单机片最小系统 (7)

(二)、按键控制电路 (7)

(三)、中断电路 (8)

(四)、LED显示电路 (8)

四、系统的软件设计 (10)

(一)、软件的设计思路 (10)

(二)、软件设计流程图 (10)

(三)、软件程序 (10)

五、系统的调试 (17)

循环彩灯的设计

(电自12102,周家乐)

摘要:随着电子技术的迅速发展,单片机得到了越来越多的应用。本设计以AT89C51单片机作为主控核心,且以复位电路、时钟电路、按键电路、中断电路以及彩灯显示电路组成,利用软件编程烧录程序到单片机来实现对LED彩灯进行多样控制。单片机89c51还结合LED发光二极管制作了一个循环彩灯,它由一块89c51组成,通过逐次扫描其中一块的P0.0—P1.7口,从而依次实现彩灯轮流点亮、逐点点亮、间隔点亮、全亮全灭等。该系统具有电路结构简单、易操作、硬件少、体积少、成本低、能耗低等优点,有一定的实用价值。

关键词:LED彩灯;AT89C51单片机;闪烁方式;控制电路

一、系统设计

(一)、方案的选择与论证

方案一:采用各类数字电路来组成键盘控制系统,进行信号处理,如选用CPLD等可编程逻辑器件。本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。

方案二:过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。P0,P1口接16个二极管,P3口接扩展板的数码显示接口。

第二种方案简单,易于设计和控制,所以选择第二种。

(二)、总体方案设计

总体的方案设计如下:单片机的P1口接4路按键控制电路,实现彩灯闪烁方式的切换功能;单片机的P3.3引脚接上一个按键开关以实现对彩灯中断的控制;单片机上的P0和P2口接16路LED发光二极管组成彩灯显示电路,实现多种形式的闪烁功能。

二、MCS-51单片机

(一)、单片机简介

单片机采用MCS-51系列单片机。由A TMEL公司生产的A T89C51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业89C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89C51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。

AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其芯片外观及引脚图如下:

(二)、单片机各引脚功能

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1“时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89S52的一些特殊功能口,如下表所示:

表2.1 A

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然

相关文档
最新文档