当前位置:文档之家› 基于单片机的彩灯控制系统设计

基于单片机的彩灯控制系统设计

四川信息职业技术学院毕业设计说明书设计题目: 基于单片机的彩灯控制系统设计专业:二0一一年十一月二十日目录摘要 0绪论 (1)第1章彩灯控制器方案设计和选择 (2)1.1 设计要求 (2)1.2 系统功能 (2)1.3 方案选择 (2)第2章硬件设计 (5)2.1 系统整体硬件电路和各部分介绍 (5)2.1.1 单片机AT89C52 (5)2.1.2 复位电路 (7)2.1.3 时钟电路 (8)2.2 74HC595的引脚及功能 (9)2.3 驱动模块 (10)2.4 显示模块简介 (12)2.5 彩灯控制器总图 (13)第3章软件设计 (15)3.1 语言选择新型 (15)3.2 程序功能说明 (16)3.3 主程序流程图 (16)3.4 程序简介 (17)第4章彩灯控制器的调试与仿真 (18)结论 (25)参考文献 (27)附录1 源程序清单 (29)附录2 整机电路图 (33)附录3 元器件明细表 (34)摘要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

本设计是一种基于AT89C52单片机的彩灯控制方案,实现对LED彩灯的控制。

本方案以AT89C52单片机作为主控核心,用32个LED构成显示模块、用74HC595作为驱动模块,由编程实现亮灯循环模式。

由在显示模块上有32个LED彩灯,根据用户需要可以编写若干种亮灯模式. 本系统具有体积小、硬件少、电路结构简单及容易操作和阅读等优点。

该LED彩灯控制器实际应用效果较好,亮灯模式多。

与其他LED彩灯相比,具有体积小、价格低、低能耗等优点。

在能源比较匮乏的今天,彩灯的循环控制在显示方面更表现出一种节约能源的魅力.这将使彩灯具有更广阔的发展天地。

关键词AT89C52;74HC595;循环LED彩灯绪论随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。

LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用。

彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK包房,从节的祝贺到常生活中的点缀。

这些不紧说明了我们对生活的要求有了质的飞跃,也说明科技在现实运用中有了较大的发展,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此有必要对现有的彩灯控制器进行改进。

本文提出了一种基于AT89C52单片机的彩灯控制方案,实现对LED彩灯的控制。

第1章彩灯控制器方案设计和选择1.1 设计要求本次毕业设计要求设计一个可编程彩灯控制器,其设计要求如下:1、用32个发光二极管作为显示电路。

2、实现LED动态显示。

3、能连续循环显示。

1.2 系统功能彩灯控制器可直接与220 V交流市电相连接,经过开关电源变换,输出直流工作电压,一方面为管内LED模块提供12 V工作电源,另一方面为主控模块单片机系统提供5 V工作电源。

整个系统工作由软件程序控制运行。

上电后,彩灯控制器按程序设计好的模式进行显示,由全灭→按程序显示→全都熄灭为一个周期。

然后循环继续工作。

1.3 方案选择方案1:可采用AT89C52作为主控制芯片,用74LS164作为驱动,用4个164分别接8个LED,32个LED构成显示模块。

可用C或者汇编编程实现。

方案框图如图1-1:方案1用了164164不具有数据锁存功能,显示不稳定,容易受干扰。

方案2:可用AT89C52作为主控芯片,用74HC595作为驱动,用4个595分别接8个LED ,32个LED 构成显示模块。

可用C 或者汇编编程实现。

方案框图如图1-2:方案2采用595作为驱动,由于595有数据锁存功能,显示稳定,不易受干扰,显示方案也比方案1多。

综合考虑:本设计采AT89C52作为主控芯片,595作为驱动,实现彩灯循环显示。

第2章硬件设计2.1 系统整体硬件电路和各部分介绍2.1.1 单片机AT89C52图2-1 AT89C52引脚图VCC:供电电压。

GND:接地。

P0口:P0口是一组8 位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8gTTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问个外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1是一个带内部上拉电阻的8 位双向I/O口,P1 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参表2-1。

Flash编程和程序校验期间,P1接收低8 位地址。

表.P1.0和P1.1的第二功能表2-1 P1.0和P1.1的第二功能P2口:P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。

在访问8 位地址的外部数据存储器时,P2口输出P2锁存器的内容。

Flash 编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动4 个TTL 逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST:复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

振荡器特性:AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

使用石英晶体,我们推荐电容使用30pF±10pF,使用陶瓷谐振器建议选择40pF±10F。

用户也可以采用外部时钟。

这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

AT89C52主要特性:兼容MCS51指令系统,8k可反复擦写(>1000次)Flash ROM32个双向I/O口,256x8bit内部RAM3个16位可编程定时/计数器中断,时钟频率0-24MHz2个串行中断,可编程UART串行通道2个外部中断源,共6个中断源2个读写中断口线,3级加密位低功耗空闲和掉电模式,软件设置睡眠和唤醒功。

2.1.2 复位电路为确保两点间温度控制系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。

一般电路正常工作需要供电电源为5V±5%,即4.75~5.25V。

复位是单片机的初始化操作,其目的是使CPU及各专用寄存器处于一个确定的初始状态。

如:把PC的内容初始化为0000H,使单片机从0000H单元开始执行程序。

除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要复位以使其恢复正常工作状态。

RST端的外部复位电路有两种操作方式:上电自动复位和按键手动复位。

按键手动电平复位是相当于RST2.1.3 时钟电路单片机的时钟信号用来提供单片机内各种微操作的时间基准,时钟电路用于产生单片机工作所需要的时钟信号。

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。

本系统设计采用内部振荡方式,如图2-3所示。

MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式。

X1CRYSTALC122pfC222pfXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52图2-3 时钟电路主控模块:本设计用AT89C52作为主控模块,用P10口作为信号口与驱动模块相连。

相关主题