图二:方案二原理框图
2.2 方案论证
结合设计任务书比较以上两种方案可知:利用电子电路装置控制,其电路不很复杂,制作相对较容易点,成本也相对较低,但可调性差,亮灯模式少而且样式单调,达不到设计任务要求或实现困难。采用单片机控制其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,控制的图案花样多,移植性好等。
2.3 方案选择
综上,显然方案二各方面优越于方案一,以及为了体现专业优势,本次设计采用第二种方案。
第三章 硬件电路设计 3.1 单片机最小系统设计
要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。单片机最小系统如图3所示。
时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个33p微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
6
复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。
图三:时钟电路与复位电路原理图
3.2 LED彩灯显示电路设计
设计任务主要涉及参数:
1.以单片机为核心,设计一个节日彩灯控制器。
2.P0.0~P0.7接8只红色LED,P2.0~P2.7接8只绿色LED,P3.0~P3.7接8只黄色LED。
3.P1.2—开始,按此键则彩灯开始流动(依次点亮)。 P1.3—停止,按此键则停止彩灯流动,所有灯为暗。
P1.4—P1.7彩灯不同的显示方式,按下相应的按键彩灯则按照不同的显示方 式显示,渲染节日气氛。
7
彩灯显示电路原理图
3.3 按键控制电路设计
P1.2—开始,按此键则彩灯开始流动(依次点亮)。 P1.3—停止,按此键则停止彩灯流动,所有灯为暗。
P1.4—P1.7彩灯不同的显示方式,按下相应的按键彩灯则按照不同的显示方 式显示,渲染节日气氛。
图五:按键电路原理图
8
3.4 AT89C51单片机结构
AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。
另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到零并提供两种软件的省电方式-空闲方式和掉电方式。在空闲方式中,CPU停止工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。
主要特性:
(1)与MCS-51产品指令系统兼容 (2)4K字节可编程闪烁存储器 (3)寿命:1000写/擦循环 (4)数据保留时间:10年 (5)全静态工作:0Hz-24Hz (6)三级程序存储器锁定 (7)128*8位内部RAM (8)32可编程I/O线 (9)两个16位定时器/计数器 (10)6个中断源 (11)可编程串行通道 (12)低功耗的闲置和掉电模式 (13)片内振荡器和时钟电路
9
管脚说明:
VCC(40):供电电压,其工作电压为5V。 GND(20):接地。
P0端口(P0.0-P0.7):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。
P3口也可作为AT89C51的一些特殊功能口,如下表1所示。
10