电气毕业设计 sheji.docx
《电气毕业设计 sheji.docx》由会员分享,可在线阅读,更多相关《电气毕业设计 sheji.docx(30页珍藏版)》请在冰豆网上搜索。
![电气毕业设计 sheji.docx](https://file1.bdocx.com/fileroot1/2023-4/17/259ea089-3288-4b5f-8f1f-8429b8138e82/259ea089-3288-4b5f-8f1f-8429b8138e821.gif)
电气毕业设计sheji
科技学院本科毕业设计(论文)
题目:
基于单片机的循环彩灯设计
院(系):
科技学院
专业:
电气工程及其自动化
学号:
**********
****************************
**************************
完成日期:
2011年3月——2011年6月
摘要
本文介绍了一种简易LED彩灯控制系统的软硬件设计过程,本方案以AT89C51单片机作为主控核心,按键控制电路、彩灯显示电路以及单片机最小系统等模块组成的核心主控制电路。
利用软件编程烧录程序到单片机来实现对LED彩灯进行控制,本系统亮灯模式多,用户根据操作提示可以随意变换想要的闪烁方式和控制彩灯的闪烁频率。
本系统具有电路结构简单、易操作、硬件少、体积小、成本低、低能耗等优点,具有一定的实用和参考价值。
关键词 LED彩灯;彩灯控制系统;闪烁方式
Abstract
ThispaperintroducesakindofsimpleLEDlightscontrolsystemhardwareandsoftwaredesignprocess,thisplantoAT89C51asthemastercore,buttoncontrolcircuit,lanternshowcircuitmodule,suchassinglechipminimizesystemandformthenucleusofthemaincontrolcircuit.UsingthesoftwareprogrammingburnprocedurestomicrocontrollertoachievetheLEDlights,thissystemtocontrolmorethanalightmodeaccordingtooperatinghints,userscanbeoptionaltransformwantflashinglightsflickeringwayandcontrolfrequency.Thissystemhasthecircuitstructureissimple,easytooperate,hardware,smallvolume,lesscostislow,lowenergyconsumptionadvantages,hascertainpracticalandreferencevalue.
Keywords:
LEDlights;Lanterncontrolsystem;Flashingway
绪论
选题依据
自1879年美国科学家爱迪生发明了白炽灯以来,便结束了人类“黑暗“的历史,给人类以光明,创造了巨大的财富。
如今灯光已成为人民生活中必不可少的家用品。
而相续发展起来的的循环彩灯也成为时代前沿的时尚艺术,它以现代高科技为基础,随着高技术日新月异的发展,其艺术性和表现力都产生了质的飞跃,实现了艺术上的创新与突破,不断创造出令人惊叹、叫绝的视觉艺术效果,给人们带来了美的享受和心灵上的震撼。
伴随着人们生活环境的不断改善和美化,在许多场合可以看到霓虹灯。
LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点而且价格昂贵。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电(与全部彩灯始终全亮相比)。
再由于人们对于物质生活的要求也在逐渐提高,不光是对各种各样的生活电器的需要,也开始在环境的幽雅方面有了更高的要求。
比如日光灯已经不能满足于我们的需要,彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK包房,从节日的祝贺到日常生活中的点缀。
这些不紧说明了我们对生活的要求有了质的飞跃,也说明科技在现实运用中有了较大的发展。
在这一设计中我们将涉及有关彩灯控制器的设计,从原理上使我们对这一设计有所了解。
将其确实的与我们生活相联系起来。
完成循环彩灯的控制,以目前所学专业知识可用三种方案来实现:
一种是用PLC数控逻辑设计,一种是用数字逻辑设计,最后一种是单片机。
用PLC数控逻辑设计虽然简单,容量大但设计所需设备不方便,此处不便采用。
数字逻辑设计具有电路结构复杂、功能单一、芯片过多、功率损耗大等缺点,而且价格昂贵,此外从功能效果上看亮灯模式少而且样式单调,缺乏用户可操作性,因此也未采用。
单片机外围元件少结构简单,易于维护,节约能源用户可操作性强,设备方便,价格合理,因此本设计采用单片机实现该功能。
单片机是通过内部编程实现控制每个引脚。
本设计就是通过编写程序来达到控制引脚的目的,让其引脚输出低电平则该灯亮,输出高电平则该灯灭。
全部输出为高电平则全灭,全部输出低电平则全亮。
在每步执行完都调用内部延时循环程序达到外部引脚亮灭延时的目的。
最终实现设计要求所需循环彩灯控制电路。
应用价值
在家庭装饰、商业区、许多户外广告、公益广告等的灯光布置中经常需要完成彩灯循环点亮以实现灯光动态效果,做到广告、彩灯等作品色彩鲜艳,富有创艺,变化形式丰富,起着宣传和美化环境的作用,营造文明和亮丽氛围,增添人们生活乐趣。
彩灯控制现已广泛用于广告、舞厅、商店方面。
伴随着经济的发展和夜市的兴起循环彩灯的用途将越来越广,必然是现代都市的发展和人们生活水平提高要求的需要。
第1章 方案设计
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响彩灯效果,因此有必要对现有的彩灯控制器进行改进。
1.1设计方案
彩灯控制器大致可分为两种方案实现。
一种是利用电子电路装置控制,另一种是采用单片机控制。
方案一:
根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。
其框图如图1-1所示。
方案二:
本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。
其硬件构成框图如图1-2所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光极管和5V直流电源电路组成。
图1-2 单片机彩灯循环控制系统硬件框图
此设计方案中单片机的P1口接5路按键控制电路,实现彩灯花型的切换功能;单片机的P3.7引脚接上一个按钮开关以实现对彩灯闪烁频率的控制,即实现了快慢两种节拍实现花型的变换;单片机上的P2口接八路LED发光二极管组成彩灯电路,显示彩灯循环情况。
1.2方案选择
结合设计任务书比较以上两种方案可知:
利用电子电路装置控制,其电路不很复杂,制作相对较容易点,成本也相对较低,但可调性差,亮灯模式少而且样式单调,达不到设计任务要求或实现困难。
采用单片机控制其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,控制的图案花样多,移植性好等。
综上,显然方案二各方面优越于方案一,以及为了体现专业优势,本次设计采用第二种方案。
第二章硬件设计
2.2.1AT89c51结构及功能简介
AT89C51是美国ATMEL公司生产低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CUP)和Flash存储单元,功能强大AT89C51单片机可提供许多高性价比的应用场合,灵活应用于各种控制领域。
(1)主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
·寿命:
1000写/擦循环·数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
(2)功能特性概述:
AT89C51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑系操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信接口及中断系统继续工作。
掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
(3)主要引脚及芯片基本工作条件说明
40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
Pin9:
RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现2个时钟周期以上的高电平,系统即初始复位。
8051的复位方式可以是自动复位,也可以是手动复位,如图2—3复位电路。
此外RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
Pin20、40:
分别是单片机的主电源引脚。
20脚是芯片的接地端。
40脚则是芯片的电源端。
二者是必不可少的,它们是单片机基本工作的条件。
Pin18、19:
XTAL1接外部晶振的一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输入端。
当采用外部振荡时,该引脚接受振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。
则XTAL2接外部晶振另一个引脚。
在单片机内部它是上述振荡器的反相放大器的输出端。
采用外部振荡器时该引脚应该悬空。
(4)管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写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口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
单片机管脚图
2.2.2供电电路
对于一个完整的设计,解决它的电源问题是重要的第一步,电源电路的稳定可靠是系统平稳运行的前提和基础。
单片机工作的电压为4.0-5.5V。
这里可以用变压器直接接家庭用电转化为单片机可用电源,这样就可以给单片机提供稳定的电压。
现在比较受大家欢迎的单片机电源有USB电源,直接输出的电源就是5v,比较方便使用。
也可用3节1.5v的干电池提供单片机工作的电压。
图2-1 三端固定式集成稳压电源电路图2.2.2
2.2.3复位电路
单片机在开机或工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。
复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
AT89C51单片机的复位是靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。
复位方式一般有上电复位、手动复位和自动复位电路三种,在本设计中采用的是手动复位。
复位电路
2.2.4时钟电路
AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。
从而构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
时钟电路
单片机最小系统
要使单片机正常工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成。
这些电路组合在一起才能使单片机正常的运行起来。
单片机最小系统如下图2-2所示。
图2-2 单片机最小系统
2.2.6LED彩灯显示电路
LED彩灯显示电路(如图所示)实际上是由8个发光二极管和8个电阻构成的电路。
发光二极管与电阻对应串联,然后接在与之相对应的P2口上。
通过软件编程对P2口输出高低电平来实现不同的闪烁花型。
由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电阻选择范围100欧姆~3千欧姆在此我们这里选用560欧姆的电阻。
图2-3 LED彩灯显示电路
2.2.7 按键控制电路
按键控制电路(如图2-4所示)是由9个按键开关构成的。
他们分别接在单片机AT89C51的P1接口和P3.0口,Key1﹍Key8接在P1.0﹍P1.7,Key9接在P3.7上。
为了一对一的控制LED灯的闪烁方式。
当按下开关Key1时,LED彩灯系统闪烁第一种彩灯花型。
当按下开关Key2时,LED灯系统闪烁第二种闪烁方式……这样可以更加好的控制彩灯的花样。
当闭合Key9时,彩灯闪烁节拍变慢。
图2-4 键盘控制电路
第3章 软件设计
单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到多控制、多闪烁方式的LED灯系统循环点亮的现象,我们还需要告诉单片机怎么样进行控制,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的明灭。
软件编程是多控制、多闪烁方式的LED灯系统中的一个重要的组成部分,是本设计的重点和难点。
下面,我将阐述多控制、多闪烁方式的LED灯系统是如何实现8个LED灯的循环点亮,来介绍实现流水灯控制的软件编程方法。
本设计是以单片机AT89C51为核心控制8个发光二极管8种闪烁方式的变换。
硬件电路如图附录1所示,八个发光二极管D1-D8分别接在单片机的P2.0-P2.7接口上,当给P2.0口输出“0”时,发光二极管点亮,当输出“1”时,发光二极管熄灭。
可以运用输出端口指令MOVP0,A或MOVP0,#DATA,只要给累加器值或常数值,同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的成流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。
程序设计流程如图3-1。
程序启动时跳转到键盘判断模块程序中,此程序里面包含Key1~Key8的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示的花型模块,与此同时,当按键Key9有闭合时,程序中调用延时程序程序时,给延时参数赋值上另一个值,是延时程序延时时间发生改变,以达到不同快慢节奏闪烁的彩灯。
具体程序流程如下图所示。
系统的仿真与调试
4.1系统仿真
4.1.1protuse
单片机的仿真软件这里我选择的是protuse。
Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
4.1.2KeiluVision3编程调试器
在这里的编程软件使用的是KeilC51软件,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面到达了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。
它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言,是目前广泛的单片机开发软件。
这两个软件的相结合使单片机电路仿真可以很好的实现
图4-1仿真电路
图4-1是在protuseisis了绘制的仿真电路图。
由于没有接触过protuse软件,通过在网络上的视屏教程的学习,按照视屏教程里的讲解,自己画出了led的电路仿真。
在keil中进行了编写程序的检测。
图4-2是对程序的检测。
图4-2
总结
通过这几个月的学习和不断的复习以前学习的知识以及在老师的指导之下完成了这次毕业设计。
通过本设计锻炼了我们的实践能力,也是对以后我们实际工作能力的训练和考察过程。
现在是一个高科技的时代,单片机的应用无处不在,这更坚定了我要学好单片机的决心。
这次毕业设计的过程中每一步都是自己亲自做过的,在经过遇到问题,思索问题到解决问题的过程中,收获是最多的。
以往没有注意到的问题,都在这一次的毕业设计中得以体现,这培养了我的细心,耐心和专心。
我觉得能够在这次的毕业设计中学到很多的东西,以往不注意的细节,在这一次中是必须让自己去注意的。
也是我这四年来所学到知识的一个体现。
我深深知道,每一次的学习实践环节都是那么的来之不易,都是通过老师的深思熟虑后,才给我们定下目标。
然后让我们在知识的海洋里翱翔,让我们随着年龄的增长不断的扩充自己的知识领域,也逐渐成熟,逐渐长大,老师同时也教导我们逐渐成为一个能够为身边的人,为家庭,为国家做出点点贡献的人,教导我们学会感恩。
所以,我在这次的毕业设计中,认真对待每一个过程,希望自己的认真,自己最后的毕业设计的成果能够回报老师这么多年来的教导,这么多年的奉献。
感谢教导我们的所有老师。
在此特别感谢张晓海老师,对我们的督导和细心的讲解。
参考文献
[1]范立南单片微机接口与控制技术.沈阳:
辽宁大学出版社,1996
[2]陈梓城.模拟电子技术基础.北京:
高等教育出版社,2007
[3]崔华,蔡炎光编著.单片机实用技术.北京:
清华大学出版社,2004
[4]张松,尹春红编著.MCS-51单片机原理及应用开发技.北京:
中国铁道出版社,2006
[5]徐爱华主著.单片机应用技术教程.北京:
机械工业出版社,2006
[6]苏凯,陈国平编著.MCS-51系列单片机系统原理与设计.北京:
冶金工业出版社,2003
[7]胡汉才主编.单片机原理及接口技术.北京:
清华大学出版社,2004
[8]李全利主编.单片机原理及应用技术.北京:
高等教育出版社,2001[9]陈正义.单片机控制实习[M].北京:
人民邮电出版社,2006