1、海口经济学院信息工程学院 海口经济学院信息工程学院 通信工程专 业毕业设计 课题题目: 彩灯控制设计 姓 名: 武志军 学 号: 5141306129 年级专业: 2014级信息通信 学 期: 第七学期 指导教师: 李小军 职 称: 副教授 开题时间: 2015年 1月 25 日 海口经济学院信息工程学院 1 一、方案论证 . 2 (一)方案比较 . 2 (二)总体设计方案 . 2 二、硬件电路设计 . 3 (一)单机片最小系统 . 3 (二)按键控制电路 . 4 (三)中断电路 . 5 (四) LED 显示电路 . 5 (五)总体电路 . 6 (六)单机片的介绍 . 7 三、软件设计 . 9
2、 (一)软件设计思路 . 9 (二)软件设计流程 . 10 (三)软件程序 . 11 四、结论 . 18 参考文献: . 19 海口经济学院信息工程学院 2 摘要 : 本文介绍了一种由 16个 LED发光二极管组成多功能发光形式的简易彩灯控制系统的软硬件设计过程,方案以 AT89C51 单片机作为主控核心, 且以 复位电路、时钟电路、按键电路、中断电路以及彩灯显示电路组成, 利用软件编程烧录程序到单片机来实现对 LED 彩灯进行多样控制 。 该控制电路能完成多种闪灯模式以及随意变换想要的闪烁方式和控制彩灯的闪烁频率等功能。该系统具有电路结构简单、易操作、硬件少、体积少、成本低、能耗低等优点,有
3、一定的实用价值。 关键词 : 8051 单片机 ; LED 彩灯 ; 控制系统 ; 闪烁方式 一、 方案论证 (一)方案比较 方案一 : 可用 555产生脉冲加到计数器来完成,试验原理框图如下: 方案二: 也可用两非门与电阻与电容构成多谐振荡器加到计数器来完成。框图如下: 方案三 : 通过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。 P0, P1口接 16 个二极管, P3 口接扩展板的数码显示接口。 该方案简单,易于设计和控制,所以选择法案三。 (二) 总体设计方案 设计思路 : 本方案这要是通过对基于单片机的多控制、多闪烁方式 的 LED 彩灯循环振 荡脉冲 计数器 LE
4、D 灯 计数器 555多谐振荡器 LED 灯显示 海口经济学院信息工程学院 3 系统的设计,来达到本设计的要求。本课题设计的 总体框图如下图 1-2 所示 图 1-2 系统总体设计框图 系统设计如下: 此设计方案中单片机的 P1 口接 4 路按键控制电路,实现彩灯闪烁方式的切换功能;单片机的 P3.3 引脚接上一个按键开关以实现对彩灯中断的控制;单片机上的 P0 和 P2口接 16 路 LED 发光二极管组成彩灯显示电路,实现多种形式的闪烁功能。 二、 硬件电路设计 (一) 单机片最小系统 要使单片机工作起来,最基本的电路构成由单片机 、 时钟电路 、 复位 电路 等 组成。单片机最小系统由复
5、位电路和时钟信号电路 组成(如图 2-1)。 复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用上电自动复位。 单片机最小系统还有一块 模块 叫时钟电路。时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。 AT89C51单片机芯片内部有一个反向放大器构成的振荡器, XTAL1和 XTAL2 分别为振荡器电路的输入端和输出端,时钟可由内部和外部生成,在 XTAL1 和XTAL2 引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路 。晶振频率选择 12MHz,电容值取 30P
6、F,电容的大小频率起微调的作用。 海口经济学院信息工程学院 4 图 2-1 单片机最小系统图 (二) 按键控制电路 按键控制电路(如图 2-2)是由 4 个按键开关构成的。他们分别接在单片机 AT89C51的 P1.0P1.3 引脚上,为了一对一方式控制 16 个 LED 彩灯的不同闪烁形式。当按下开关 key1 时, 16 个 LED 发光二极管闪烁第一种彩灯方式;当按下开关 key2 时, 16 个 LED发光二极管闪烁第二种彩灯方式;同理,当按下开关 key3 时, 16 个 LED 发光二极管闪烁第三种彩灯方式;当按下开关 key4 时, 16 个 LED 发光二极管闪烁第四种彩灯方式
7、。 图 2-2 按键控制电路图 时钟电路 复位电路 key1 key2 key3 key4 海口经济学院信息工程学院 5 (三) 中断电 路 单片机的 P3.3 引脚街上一个按键开关以实现对彩灯中断的控制(如图 2-3)。当彩灯系统正在实现无论哪一种控制方式时,按下中断开关使过程终止, 16个 LED 发光二极管同时会处于熄灭状态,停止当前工作;当再次按一下中断开关时,彩灯系统会继续进行工作,闪光方式会与中断之前的方式一样。 如图 2-3 中断控制电路图 (四) LED 显示电路 流水灯采用的是发光二极管( Light-Emitting Diode),简称 LED, 是一种将电能转换为光能的半
8、导体器件,具有体积小、耗电低的优点,常被用作微型计算机与数字电路的输出装置。当 LED 两端加上一定的正向电压,使之流过一定的工作电流就会发光,其亮度随流过的电流增加而增加,但电流过大 LED 的寿命也将缩短。普通 LED 正向电流一般为 520mA。由于 51 的 I/O 是弱上拉的方式,在输出高电平时,只能输出几十微安的电流,而在输出低电平时, I/O 最大可以输入几十毫安的电流。所以,通常采用灌电流的方式,即电流从电源经 LED 流向 I/O 口。为了不让流过 LED 的电流太大而把它烧坏,还得串上限流电阻 R,当 P0 和 P2 口输出高电平( +5V)时, LED 两端没有电压降,所
9、以熄灭;当 P0 和 P2 口输出低电平(即 P0/P2=0)时 , LED 正向导通发光。此时 LED 两端电压 VD 约为 1.7V,则限流电阻 R 两端将存在 3.3V(即 5-1.7=3.3V)。查阅 AT89C51 技术手册后发现,单个 I/O 口的输入电流不能超过 10mA; P0 口的输入电流总和不能超过26mA; P1、 P2、 P3 的输入电流总和不能超过 15mA;所有 I/O 口的输入电流总和不能超海口经济学院信息工程学院 6 过 71mA。(如图 2-4) 图 2-4 led 显示电路图 (五)总体电路 海口经济学院信息工程学院 7 (六) 单机片的介绍 AT89C51
10、管脚图如 下 图 2-5所示 海口经济学院信息工程学院 8 图 2-5 AT89C51 引脚 排列 VCC:供电电压 +5V。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0外部必须被拉高。本系统中 P0 口接 LED 数码管的段选段。 P1 口: P1 口是一 个内部提供上拉电阻的 8位双向 I/O 口,
11、P1 口缓冲器能接收输出4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收 7。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2口被写 “1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。在给出地
12、址 “1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。本系统中语音芯片 ISD1420 的地址端接 P2 口。 P3 口: P3 口是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。当 P3 口写入 “1” 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下海口经济学院信息工程学院 9 拉为低电平, P3 口将输出电流,这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如表 2.5 所示。 P3口同时为闪烁编
13、程和编程校验接收一些控制信号。 表 2.5 P3 口的第二功能 口管脚 备选功能 信号名称 P3.0 RXD 串行输入口 P3.1 TXD 串行输出口 P3.2 /INT0 外部中断 0 P3.3 /INT1 外部中断 1 P3.4 T0 记时器 0 外部输入 P3.5 T1 记时器 1 外部输入 P3.6 /WR 外部数据存储器写选通 P3.7 /RD 外部数据存储器读选通 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在平时, ALE 端以不变的频率周期输出正脉冲信号,
14、此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取 指期间,每个机器周期两次 /PSEN 有效。在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。 EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时, EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。在本设计中,对 ROM 的读操作只在内部程序存储器中,所以 EA 置应高电平。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出 8。 三、 软件设计 (一) 软件设计思路