毕业论文基于单片机的霓虹灯控制器的设计97919_第1页
毕业论文基于单片机的霓虹灯控制器的设计97919_第2页
毕业论文基于单片机的霓虹灯控制器的设计97919_第3页
毕业论文基于单片机的霓虹灯控制器的设计97919_第4页
毕业论文基于单片机的霓虹灯控制器的设计97919_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的霓虹灯控制器的设计摘要本设计采用AT89C52单片机实现对霓虹灯的控制。系统由红外遥控模块、单片机控制模块、显示模块、语音模块四部分组成。红外遥控模块分红外发射部分和红外接收部分,通过单片机译码后,取出红外发射按钮的地址,从而实现红外遥控器对霓虹灯显示图案的远距离控制。红外接收管也只占用一个IO口。显示部分为16×16的点阵模块,通过单片机控制显示不同的图案以及想要的文字,并让字能够移动、暂停,以及从当前文字切换其它文字。语音模块采用的语音芯片是ISD1730,可以录制想要的语音,通过录音可以对设计进行介绍。语音的播放支持暂停、下一首、调节音量和复位。由于单片机的IO口不够用,本设计采用74HC154对其扩充,将四线扩充到十六线。该系统具有电路结构简单、易操作、成本低等优点,具有较强的实用价值。关键词:单片机;红外遥控;点阵;译码器;霓虹灯

TheDesignoftheNeonLightscontrollerBasedonSCMAbstractThisdesignusestheAT89C52singlechipmicrocomputertocontroltheneonlights.The

system

is

composed

bytheinfraredremotecontrolmodule,thesingle-chipmicrocomputercontrolmodule,thedisplaymoduleandthespeechmodule.Infraredremotecontrolmoduleisdividedintotheinfraredtransmitterandinfraredreceiverparts.Afterdecodingthroughthesinglechipmicrocomputer,theinfraredemissionbuttonaddresscanbetakenoutinordertorealizetheremotecontrolofinfraredneonlightsdisplay.TheinfraredreceivingtubeonlytakesuponeIOport.Thedisplaypartusesthedotmatrixmodulewith16plus16,throughthesingle-chipcontrol,itcandisplaydifferentpatternsandthetext,andmakethewordtomove,pause,andswitchfromthecurrenttexttotheother.ThevoicemoduleusesvoicechipISD1730,whichcanrecordthedesiredvoice,whichcanbeplayedtointroducethedesign.Itissupportforpause,next,adjustthevolumeandresetofthevoiceplayback.DuetotheIOportofthemicrocontrollerisnotenough,thisdesignusesa74HC154toexpandtheIOport,whichisexpandingthefour-lineto16-line.Thesystemhasastrongpracticalvaluebecauseofitsadvantagesofsimplecircuitstructure,easyoperationandlowcost.Keywords:SingleChip;InfraredRemoteControl;DotMatrix;Decoder;NeonLights

目录论文总页数:47页1引言 4课题背景及意义 4本课题研究方法和目标 42方案研究与主要芯片选择 62.1总体方案原理及设计框图 62.1.1主控电路的选择与论证 62.1.2显示设备的选择与论证 8控制器模块选择 92.2主要芯片介绍 112.2.1译码器74LS154的介绍 112.2.2LED点阵的介绍 12语音模块的介绍 133硬件电路设计与调试 153.1单片机模块单元电路设计 153.2串口通信电路设计 16译码器模块单元电路设计 173.4点阵模块单元电路设计 173.5红外遥控模块单元电路设计 183.6语音模块单元电路设计 193.7硬件仿真与调试 214软件设计 234.1单片机I/O口分配 234.2各模块程序 234.2.1主程序设计 234.2.2显示程序设计 244.2.3红外接收程序设计 264.2.4设定的图案和字程序 285软硬件联调及技术改进 30软硬件联调及实物演示 305.2技术改进 32结语 32参考文献 33致谢 34声明 35附录 361引言1.1课题背景及意义霓虹灯是一种冷阴极辉光放电灯,直接将电能转换成光能。自其问世以来,历经了上百年的发展,现已成为重要的显示、装饰光源。霓虹灯由于其外形变幻多端、加工灵活、色彩丰富,在广告业、商业、交通、建筑、室内外装饰、舞台布景、家用电器、城市美化等领域发挥了特有的作用。单片机自问世以来,迄今已有三十多年了,其产品琳琅满目,产家也众多纷纭,功能也是五花八门。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。在许多基于单片机的应用系统中,通过软件编程实现对外部硬件电路的控制。它给人们的生活带来了很多便利。因此本文将单片机与语音芯片结合起来,设计了一款用单片机控制的霓虹灯控制系统,伴随着霓虹灯图像的变化有不同的语音效果。流水灯在现代社会就有广泛的应用,大型电子广告牌、霓虹灯、指示牌和工业控制的控制面板等等都有流水灯的应用。而且基于单片机的流水灯的控制系统利用了单片机的内部资源,如定时器、I/O口和寄存器等,完成了单片机系统开发的基本流程,因此具有典型的代表意义,是学习和开发单片机的基本实验之一。AT89C52单片机是可多次改写的可编程芯片,用这种芯片构成的系统简单、可靠,性价比相当高,适合成为霓虹灯程序控制器的核心部件,结合锁存器MC74HC373实现的控制器功能,时间常数易修改,使用灵活,电路易实现,成本低,控制芯片更换方便。控制器的花样变化及速度调节能用软件方法实现,这样进一步提高了性价比。本课题研究方法和目标本设计要求完成一个霓虹灯控制器,控制发光二极管点阵显示,要求能形成多种图案和字。实现图案和字的左右移动、暂停、继续移动、跳转到指定字的操作。加设语音芯片,对整个设计进行简要概况。1、研究思路:本设计是以AT89C52芯片的电路为基础,通过软件程序来控制单片机内部的定时器来控制16×16的矩阵贴片发光二极管的明亮,显示不同的图案花样,形成霓虹灯控制器。实物以AT89C52为主控芯片,ISD1730语音模块、红外遥控模块构成电路,主要包括电源、控制电路、显示电路、语音电路。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性和一定的实际使用价值。2、硬件部分:图1.1硬件框图本设计硬件部分分为六个模块。(1)单片机最小系统模块,采用经典配置。(2)为实现程序下载需要串口模块。(3)为实现语音与图像的搭配,要搭载语音模块,每显示一个图案,发出不同的语音信息。(4)为实现语音能适应各种场合,采用可以自己录音的芯片ISD1730。(5)为实现图像的显示,由16×16的点阵模块,由点阵模块显示不同的图形。(6)为实现给单片机供电,需要电源模块。3、软件部分在主程序下,分别编写了如下子程序:时钟程序、红外译码程序、图像显示程序、中断程序等。2方案研究与主要芯片选择2.1总体方案原理及设计框图本设计是基于STC89C52RC单片机为核心器件控制整个系统进行工作的,系统控制框图如图2.1所示。图2.1 控制系统框图如图2.1所示,本方案具有红外遥控模块、语音模块、单片机控制模块、显示模块,共四个模块。此外,通过主控单元电路的扩展,可添加多种附加功能。单片机控制霓虹灯的设计以单片机STC89C52RC控制为核心,通过红外遥控器发出信号,接收头接收信号,通过单片机的中断处理,对图案的显示进行控制;在通电的同时伴随一段语音,对整个设计进行一个简要介绍;串口通信是为了帮助STC单片机实现程序的下载;点阵模块有图案显示,也有文字显示,对文字有左右滚动、速度变化、暂停、播放等操作。根据系统框图,对单元电路控制进行设计,下面是对各部分单元电路的论证与设计。2.主控电路的选择与论证在本设计中,主控电路有三种实现方式。1、采用89C51单片机作为CPU。89C51单片机是8位单片机,4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个数据指针,两个16位定时/计数器,一个5向量中断结构,一个全双工串口通信口,片内振荡器及时钟电路。其指令是采用的被称为“CISC”的复杂指令集,工具有111条指令,与其他高位单片机相比而言,指令周期较长,运算速度太慢,而且由于其内部总线是8位的,其内部功能模块也基本上都是8位的;89C51单片机本身的电源电压是5伏,89C51有两种低功耗方式:待机方式和掉电方式[1][2]。2、采用LCP2138单片机作为CPU该芯片其本身自带A/D转换功能,带大容量的32KRAM和512KFLASH,内部资源丰富且系统稳定,芯片价格昂贵。3、采用STC89C52RC单片机作为CPUSTC89C52RC是一款低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用宏晶公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C52RC可为许多嵌入式控制应用系统提供高性价比的解决方案。STC89C52RC主要功能特性如表1所示,其引脚图如图所示。表STC89C52RC的功能特点STC89C52RC主要功能特性:兼容MCS-51指令系统8k可反复擦写(>1000次)ISPFlashROM32个双向I/O口3个16位可编程定时/计数器时钟频率0-33MHz全双工UART串行中断口线256x8bit内部RAM2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能灵活的ISP字节和分页编程双数据寄存器指针图2.2STC89C52RC引脚图[2]STC89C52RC具有如下特点:40个引脚,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),片内时钟振荡器,看门狗(WDT)电路。此外,STC89C52RC设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求[3][4]。由于52单片机的低功耗、高性能、高性价比、对51单片机的良好兼容等优点,,本设计选择此方案。2.显示设备的选择与论证1、使用256个贴片发光二极管显示图2.3 贴片发光二极管贴片发光二极管:颜色有红、黄、绿、蓝等。特点:体积小、耗电量低、使用寿命长、高亮度、环保、坚固耐用牢靠、适合量产、反应快,防震、节能、高解析度、耐震、可设计等优点。但在布线和焊接方面较为复杂。2、LED电子显示屏图2.4 LED点阵LED电子显示屏是半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏(LEDpanel):LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。它的抗静电性能优势超强:制作环境有着严格的标准还有产品结构的绝缘设计。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。考虑到布线以及焊接的简单方便以及LED显示屏的亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等优点,本设计选用LED显示屏。2.控制器模块选择1、按键控制图2.5 按键开关用按键控制显示屏图案的切换,简单、方便、经济。但占用的单片机外围接口较多,并且不能远距离控制。2、红外遥控控制[5]远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。μm~1000μμμμμμm~1000μμμμμm,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。发射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制(机构)。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计家用电器的红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。为实现远距离控制以及减少对单片机IO口的负担,故选择红外遥控方案。主要芯片介绍译码器74LS154的介绍图 74HC154引脚图1、将4线二进制编码输入译成16线彼此独立的输出。2、将数据从一个输入线分配到16线输出的任意一个而实现解调功能。3、输入箝位二极管简化了系统设计。4、与大部分TTL和DTL电路完全兼容。这种单片4线—16线译码器非常适合用于高性能存储器的译码器。当两个选通输入G1和G2为低时,它可将4线二进制编码的输入译成16线互相独立的输出之一。实现解调功能的办法是:用4线输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高[6]。表2.2 74LS154功能表(真值表)INPUTS输入OUTPUTS输出G1G2DCBA0123456789101112131415LLLLLLLHHHHHHHHHHHHHHHLLLLLHHLHHHHHHHHHHHHHHLLLLHLHHLHHHHHHHHHHHHHLLLLHHHHHLHHHHHHHHHHHHLLLHLLHHHHLHHHHHHHHHHHLLLHLHHHHHHLHHHHHHHHHHLLLHHLHHHHHHLHHHHHHHHHLLLHHHHHHHHHHLHHHHHHHHLLHLLLHHHHHHHHLHHHHHHHLLHLLHHHHHHHHHHLHHHHHHLLHLHLHHHHHHHHHHLHHHHHLLHLHHHHHHHHHHHHHLHHHHLLHHLLHHHHHHHHHHHHLHHHLLHHLHHHHHHHHHHHHHHLHHLLHHHLHHHHHHHHHHHHHHLHLLHHHHHHHHHHHHHHHHHHHLLHXXXXHHHHHHHHHHHHHHHHHLXXXXHHHHHHHHHHHHHHHHHHXXXXHHHHHHHHHHHHHHHH注明:H=高电平L=低电平×=不定LED点阵的介绍LED显示器件种类繁多,从简单的单个LED到LED光柱显示,字符显示再到大面积的平板显示,应有尽有。LED之所以受到广泛重视与迅速发展,是与它具有的优点分不开的,这些优点概括起来是:工作电压低,功耗小,小型化,易与集成电路匹配,驱动简单,寿命长,耐冲击,性能稳定。近年来,由于半导体材料的制备和工艺逐步成熟和完善,超高亮度R、G、BLED的商品化,全色LED平板显示可以适用于室内外各种目的的应用。1、逐行扫描原理LED显示屏两组等距平行排列的电极分别称为行电极(扫描电极Xi)和列电极(信号电极Yj),行与列电极相互垂直,在交叉点形成发光单元LED。点矩阵的驱动一般采取逐行扫描方式寻址,这种方式是一次对Xi行上所有的单元点同时进行寻址,在Xi行上单元点被寻址之后,再移向Xi+1行寻址,即扫描电极是从头到尾顺序地选取,而信号电极可同时选取一个或多个以显示需要的图像。或者说,在某一时刻给某一行电极施加扫描脉冲,其他行电极施加非扫描脉冲,同时所有列电极给出显示或非显示驱动脉冲。接着把扫描脉冲施加到下一行电极,再给所有列电极施加显示或非显示驱动脉冲。当扫描频率足够快时,由于人眼的视觉暂留现象,就可以在显示屏上呈现稳定的图像效果。2、16×16点阵内部结构16×16单色点阵共需要256个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。本设计是一种实用的汉字显示屏的制作,制作的是单色点阵。考虑到元器件的布线的难易程度,直接采用16×16的点阵模块。对比下面的16×16单色点阵和16×16双色点阵可以看出,其实16×16双色点阵就是两块16×16单色点阵组合在一起的。要实现用两种颜色显示,只要在电路的设计中适当的连线就可以了。16×16单色和双色点阵LED结构分别如下图和所示。图2.7 16×16单色点阵 图 16×16单色点阵语音模块的介绍图 ISD1700引脚图ISD1700系列芯片是华邦公司新推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示,双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能[7][8]。ISD1700的独立按键工作模式录放电路非常简单,而且功能强大。不仅有录、放功能,还有快进、擦除、音量控制、直通放音和复位等功能。这些功能仅仅通过按键就可完成。ISD1700有如下9种操作:1、录音操作按下REC键,/REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。录音结束后,录音指针自动移向下一个有效。而放音指针则指向刚刚录完的那段语音。2、放音操作放音操作有两种模式,分别是边沿触发和电平触发,都由/PLAY管脚触发。3、快进操作点按一下FWD按钮将/FWD端拉低,会启动快进操作。快进操作用来将播放指针移向下一段语音信息。当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。当下降沿来到/FWD端时,快进操作还要决定于芯片当时的状态:4、擦除操作擦除操作分为单段擦除和全体擦除两种擦除方式。5、复位操作如果用RESET控制此管脚,建议/RESET管脚与地之间μF电容。当/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。6、音量操作点按一下VOL键将/VOL管脚拉低会收变音量大小。每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。总共有8个音量档供用户选择,每一档会收变4dB。复位操作会将音量档放在默认位置,即最大音量。7、FT直通操作将/FT管脚与GND短接,持续保持在低电平会启动直通模式。出厂设定的是在芯片空闲状态,直通操作会将语音从Analn端直接通往喇叭端或AUD输出口。在录音期间开启FT功能,会同时录下Analn进入的语音信号。8、提示音(SE)编辑ISD1700S中设计了4种声音来提示当前的工作状态,分别为SE1,SE2,SE3,SE4。9、进入SE编辑模式(1)首先保持FWD为低3秒左右,然后LED会闪一下(若有SE1,会同时播放SE1)。但是若当前曲目为最后一曲或没有录音则LED会闪两下(若有SE2,会同时播放SE2)。(2)保持FWD为低,然后按下REC使之为低直到LED闪一下。(3)LED再闪一下说明已经进入SE编辑模式;进入此模式后,当前待编辑SE为SE1。3硬件电路设计与调试3.1单片机模块单元电路设计。图单片机最小系统部分电路图[6]如图3.1所示,单片机单元模块电路采用上电复位电路,上电复位就是接通电源后,单片机自动实现复位操作。上电复位电路由C18、S1、R35构成,上电瞬间9脚获得高电平,随着电容C18的充电,9脚的高电平逐渐下降。9脚的高电平只要能保持足够的时间(2个机器周期),单片机就能进行复位操作。Y4、C19、和C20构成内部时钟振荡电路,C19和C20的作用主要是稳定频率和快速起振容值为5-30pF,典型值为30pF。为方便与计算机通信晶振的频率选用11.0592MHz。串口通信电路设计串口通信电路如图3.2所示。图3.2串口部分电路图如图3.3所示,串口下载电路采用MAX232电平转换芯片,采用此电路方便电路的调试,减少单片机的损坏,并且应用串口通信还可以实现与计算机通信,供计算机实时接收和发送数据,为人们的使用提供了极大的方便。MAX232芯片外接5个μF的去耦电容,以减小噪声对它的影响。MAX232(即U8)的电路连接如上图所示。3.3译码器模块单元电路设计图3.34线-16线译码器电路图由于单片机的外围接口有限,为了增加单片机的外围接口,故采用4线-16线译码器。译码器的四个输入端接到单片机P0口的前四位。由于单片机的P0口没有内置上拉电阻,于是外接上拉排阻。译码器的使能控制端G1、G2低电平有效,故直接接地。输出端的16个脚接点阵模块的X轴的16个脚[9]。3.4点阵模块单元电路设计图3.4 点阵电路图译码器的16个引脚直接与点阵的X轴的16个引脚相连接,Y轴的16个引脚与单片机的空余引脚想链接。通过单片机程序控制点阵图案的显示。译码器通过四个控制端依次选择16个输出端,实现逐行扫描的功能。3.5红外遥控模块单元电路设计图 红外遥控器该遥控器的标准发射距离为8米,配国产1838接收头。夜晚户外测试,在黑暗环境无任何阻挡物的情况下,遥控有效距离大于8米。应用时实际距离还完全取决于遥控接收头的灵敏度、电路设计可靠性、中间阻挡物(如隔膜或玻璃或透明材料)以及使用的环境因素[11图3.7 遥控器键位码每个按键都有对应的用户码和键位码,每个遥控板的用户码是固定的,本设计用的遥控器的用户码是00FF。每个按键的键位码是不同的,按下按键后发射的红外光波也是不同的,单片机接收到不同的键位码,显示不同的图案和字。发射的一帧码含有一个引导码,16位的用户编码和8位的键数据码、键数据码的反码也同时被传送。码型结构如下:图3.8 编码方式引导码由一个9ms的载波波形和的关断时间构成,它作为随后发射的码的引,这样当接收系统是由微处理器构成的时候,能更有效地处理码的接收与检测及其它各项控制之间的时序关系。编码采用脉冲位置调制方式(PPM)。利用脉冲之间的时间间隔来区分“0”和“1”。每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率[12]。语音模块单元电路设计图3.9 语音电路通过单片机的P1.1、P1.2、P1.3三个端口分别控制MISO、MISI、SCLK。其中SCLK是SPI接口的时钟。由主控制芯片产生,并且被用来同步芯片MOSI和MISO端各自的数据输入和输出。此管脚空闲时,必须拉高。ISD1730的19、22、23、24、25、26脚分别接开关,来控制语音的音量、语音通道、播放、录制、擦除。10、11脚通过电容接麦克风的正负极。13、15接喇叭的正负极。VCCA、VCCD分别为模拟电源和数字电源。按键操作如下:1、录音REC按住REC键不放,同时LED灯会亮起,此时对着MIC说话,说话内容就会录进ISD1700语音芯片里了。录完一段后抬起此键,LED会同时熄灭,再次按下则开始录第二段,以后的各段依次操作。2、放音PLAY有两种方式,边沿触发和电平触发。(注:录完音后放音指针会停留在最后录完段的起始地址处,此时放音则放最后一段)(1)边沿触发:点按一下PLAY键即放当前段,放音期间LED闪烁直到放音结束时熄灭。放音结束后放音指针指向刚放的段的起始地址处,即再次点按PLAY键还会放刚放完的这段。(2)电平触发:常按PLAY键芯片会把所有的语音信息全部播放,且循环直到松开此按键。3、快进FWD执行放音操作前,点按一下此键放音指针会指向下一段,按两下则指向此段后的第二段起始。放音期间点按此键则停止播放当前段接着播放下一段,如果当前播放的是最后一段,则停止播放最后一段播放第一段。4、擦除ERASE单段擦除操作只能对第一段和最后一段有效,当放音指针位于第一段或最后一段时,点按此键则会擦除第一段或最后一段。放音指针相应的会跳到擦除前的第二段或倒数第二段。常按此键超过3秒芯片进入“全部擦除操作模式”,同时LED灯闪两下,继续按着此键,LED闪烁7下后熄灭,此时松开此键,芯片内的语音信息被全部擦除。5、复位RESET点按此键芯片执行复位操作。复位后,放音和录音指针都指向最后一段,即放音指针指向最后一段起始,录音指针指向最后一段的最后。此时执行放音则播放最后一段,执行录音则接着最后一段开始录新的最后一段。6、调音VOL点按此键可以调节芯片输出声音的大小。芯片默认输出为声音最大值,每点按一下,声音按4db衰减。直到声音最小后,继续点按此键,每点按一下,声音增大4db(注:执行复位后,声音输出为最大)。3.7硬件仿真与调试图电路仿真图如图4.1利用仿真软件protues进行仿真。将程序下到仿真软件上的单片机内,通过译码器输入端,依次扫描每一行。通过不断调试,得到最终的结果。将调试好的程序下到实物单片机,在点阵上得到想要的结果[13]。图显示图案4软件设计本设计采用C语言进行编程,相比汇编语言简单、方便,提高编程的速度[14]。4.1单片机I/O口分配由于本设计需要实现功能较多,所以设计了较多的模块,因此利用了单片机全部32个I/O口中的大部分端口,结合电路原理图,为程序编写的方便,给单片机分配端口如表所示。表4.1程序中单片机端口分配译码器的输入端A位点阵引脚7译码器的输入端B位P2.0点阵引脚8译码器的输入端C位P2.1点阵引脚9译码器的输入端D位P2.2点阵引脚10点阵引脚0P2.3点阵引脚11点阵引脚1P2.4点阵引脚12点阵引脚2P2.5点阵引脚13点阵引脚3P2.6点阵引脚14点阵引脚4P点阵引脚15点阵引脚5外部中断点阵引脚6时钟复位4.2各模块程序4.2.1主程序设计图4.1主程序流程图程序开始后,执行IO口初始化、中断初始化、定时器初始化,等待中断,接受中断后通过译码,得到相应的按键码,显示对应的图案。voidmain(void){ io_init(); //IO口初始化 int_init(); //中断初始化 t0_init(); //定时器初始化 while(1) //红外译码、判断哪个按钮按下 { }4.2.2显示程序设计图4.2显示程序流程图当产生中断时,译码得到红外波的按键码,不同的按键码变换不同的图案。voiddisplay(void) //单个图案或字显示{ uchari; for(i=0;i<16;i++) { P2=zimo[anniu*32+2*i]; P1=zimo[anniu*32+2*i+1]; scan(i); delay_50us(30); }}voiddisplay_a(void) //右移动显示{ uchari; uchark=0; for(i=0;i<16;i++) { P2=0x00; P1=0x00; P2=zimo[offset+2*i]; k=k+1; P1=zimo[offset+2*i+1]; k=k+1; scan(i); delay_50us(30); }}voiddisplay_b(void) //左移动显示{ uchari; uchark=0; for(i=0;i<16;i++) { P2=0x00; P1=0x00; P2=zimo[offset+2*(15-i)]; P1=zimo[offset+2*(15-i)+1]; scan(15-i); delay_50us(30); }}4.2.3红外接收程序设计图4.3红外接收程序流程图红外遥控器向红外接收头发射红外波,当红外接收头接收到红外波,产生中断,单片机译码出相应的按键码。voidinterrupt0()interrupt0{ uchari=0,j=0,k=0,us=0; EX0=0; for(i=0;i<255;i++)//9ms内有高电平认为是干扰 { if(P3&0x04) //255的值实际时间为800us { EX0=1; return; } } while(!(P3&0x04)); //等待9ms低电平过去 for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(P3&0x04); //等待4.5ms高电平过去 while(P3&0x04) //计算这个高电平的时间 { for(us=0;us<=32;us++); //100us的延时语句 if((k++)>=30) //高电平时间过长退出程序 { EX0=1; return; } } addr[i]=addr[i]>>1; //接收一位数据 if(k>=8) addr[i]=addr[i]|0x80; //高电平大于0.56ms,则为1 k=0; } } EX0=1; }5软硬件联调及技术改进5.1软硬件联调及实物演示在整个设计的调试过程中遇到了若干问题,画电路PCB板的时候,元件的封装选错了,导致元件无法正常焊接上;选第一个双色点阵方案的时候由于飞线太多,给焊接带来很大的困难,最后选择单色点阵方案;调试语音模块的时,没有注意芯片输入信号的管脚能承受的电源幅值为1.0V,由于加入信号的幅值大于1.0V,烧坏了芯片。经过多次挫折,最后终于完成了设计[15]。图5.1PCB原理图图5.2实物图整个设计为两个部分。上面模块是单片机控制的点阵。图中左上角是一个红外接收头,和右下角的红外遥控器是配套的。接收头右边是单片机,单片机右边是4线16线译码器和16×16点阵显示屏。下面是语音模块。中间是一个小喇叭,喇叭下面是单片机和语音芯片ISD1730。右边的7个开关是对语音的操作。分别为:复位、下一段语音、擦除、录制、播放、FT通道开关(混合录音)、音量控制。图5.3显示效果遥控器上的1-9的数字按钮分别对应上面的9个画面。按下按钮,图案依次向右移动;按下按钮,图案依次向左移动;按下按钮,图案暂停;按下按钮,图案继续移动;按下按钮,移动的速度增加;按下按钮,移动的速度减小。图6.3中的7个按钮用来控制语音。由上往下第一个是复位按钮,第二个是下一曲语音按钮,第三个是擦除按钮,第四个是录音按钮,第五个是播放按钮,第六个是FT通道(混合录音)按钮,最后一个是控制音量的按钮。5.2技术改进本设计需要改进的第一个地方是语音模块,让红外遥控每次切换一个图案或者文字的时候,都伴随相应的语音。将图6.3中的播放按钮和下一曲按钮改为IO口电平触发,每次切换图案或文字时,都给接播放和下一曲的IO口一个高电平。这样就能实现随着图案和文字的变换伴随语音的变化,进而达到语音提示的目的。第二个地方是点阵模块,为了丰富图案的颜色,可以采用双色点阵。本设计采用的单色点阵模块只能显示一种红色。双色点阵由两种颜色可以选择——红色和绿色,在编程的时候可以控制颜色的变化,从而让图案的更美观。第三个地方是飞线的问题,由于点阵的管脚较多,在绘制PCB时难免会产生一些飞线。解决飞线繁多最直接的方法就是制作双层板。第四个地方是电源的问题,本设计采用的是USB电源供电,其优点是制作简单、方便,缺点是供电时,必须连接电脑USB接口。可以制作一个单独的电源解决这一缺点,一个9V的电池和一块LM324可以搭载一个5V的电源,这样随时都可以个整个系统供电。结语本设计课题是基于52单片机的智能霓虹灯控制系统,在设计的初期进行了资料的查询及思考,确定思想,用什么芯片控制,控制过程中需要什么硬件。设计使用AT89C52芯片,语音模块采用ISD1730语音芯片,同时使用USB提供5V电压供电,显示部分采用布线简单、价格便宜的点阵显示屏。在控制部分增加了红外遥控,在减小对单片机IO口负担的同时,方便对霓虹灯的远距离控制。软件的编写可以按照霓虹灯安放的不同环境来确定不同的图案和文件,具有很强的适应性。该系统具有电路结构简单、易操作、硬件少、体积小、成本低、低能耗等优点,具有较强的实用价值。通过这次毕业设计,重新复习并进一步增强了动手的能力,学以致用,把知识运用到实际生活中才是根本目的。明白了仿真软件是一个理想的仿真环境,而实际连接的电路板会由于譬如连接不当,相邻器件间的干扰等等的问题导致在仿真软件中能良好运行的程序,在实物上不完全正确,经过排查和合理的器件摆放焊接,问题得到解决。总体来说这次的毕业设计很成功,达到了预想的目的。有点缺憾是时间有限,不能进一步深入和扩散学习和研究。希望有时间可以对程序和电路图作更进一步的改进,譬如实现点阵的上下移动,对角线移动,双色、三色显示等。

参考文献[1][2][M][5]红外遥控[OL].百度百科.[6[7][8]ISD1700优质语音录放电路[OL].中青世纪.[10][11][M][12][13]薛鹏骞等编著.电子与通信电路计算机仿真——[14]

致谢经过一年的忙碌和工作,本设计顺利完成,作为一名本科学生,在毕业设计中由于经验匮乏,难免有很多考虑不周全的地方,没有指导老师和同学们的帮助会走很多弯路。在此感谢伍瑾斐老师的细心指导和热心帮助,联系实验室和提出指导意见。感谢对本设计提供支持和帮助的同学,为本设计在设计过程中提供了改进意见。感谢母校对我的培养,为本设计提供实验条件和图书馆的参考资源。最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!作者简介:姓名:性别:出生年月:民族:族E-mail:

声明本论文的工作是2011年11月至2012年06月在成都信息工程学院控制工程学院完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。关于学位论文使用权和研究成果知识产权的说明:本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括:(1)学校有权保管并向有关部门递交学位论文的原件与复印件。(2)学校可以采用影印、缩印或其他复制方式保存学位论文。(3)学校可以学术交流为目的复制、赠送和交换学位论文。(4)学校可允许学位论文被查阅或借阅。(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。特此声明!作者签名:20

附录全部程序代码:#include"reg52.h"#defineuintunsignedint#defineucharunsignedchar#definescan(x)P0=((x)&0x0f)<<4;ucharanniu;ucharzanchun;ucharaddr[4]={0};voidio_init(void);voidint_init(void);voidt0_init(void);voiddisplay(void);voiddisplay_a(void);voiddisplay_b(void);uintoffset=0;uintspeed=10;uintn;ucharcodezimo[];voiddelay_50us(uintt){ ucharj; for(;t>0;t--)for(j=19;j>0;j--);}voidmain(void){ io_init(); int_init(); t0_init(); while(1) { if(addr[2]==0x0c) { anniu=1; display(); offset=0; } elseif(addr[2]==0x18) { anniu=2; display(); offset=0; } elseif(addr[2]==0x5e) { anniu=3; display(); offset=0; } elseif(addr[2]==0x08) { anniu=4; display(); offset=0; } elseif(addr[2]==0x1c) { anniu=5; display(); offset=0; } elseif(addr[2]==0x5a) { anniu=6; display(); offset=0; } elseif(addr[2]==0x42) { anniu=7; display(); offset=0; } elseif(addr[2]==0x52) { anniu=8; display(); offset=0; } elseif(addr[2]==0x4a) { anniu=9; display(); offset=0; } elseif(addr[2]==0x07) { speed=speed+1; addr[2]=zanchun; } elseif(addr[2]==0x15) { speed=speed-1; addr[2]=zanchun; } elseif(addr[2]==0x43) { TR0=0; if(zanchun==0x44) display_a(); if(zanchun==0x40) display_b(); } elseif(addr[2]==0x09) { TR0=1; if(zanchun==0x44) display_a(); if(zanchun==0x40) display_b(); } elseif(addr[2]==0x44) { zanchun=addr[2]; anniu=0; TR0=1; display_a(); } elseif(addr[2]==0x40) { zanchun=addr[2]; anniu=0; TR0=1; display_b(); } else { anniu=1; display(); offset=0; } }}voidio_init(void){ P2=0xff; P0=0xff; P1=0xff; P3=0xff;}voidt0_init(void){ n=0; TMOD=0x01; TH0=0xb1; TL0=0xe0; ET0=1; EA=1;}voidint_init(void){ EX0=1; EA=1;}voiddisplay(void){ uchari; for(i=0;i<16;i++) { P2=zimo[anniu*32+2*i]; P1=zimo[anniu*32+2*i+1]; scan(i); delay_50us(30); }}voiddisplay_a(void){ uchari; uchark=0; for(i=0;i<16;i++) { P2=0x00; P1=0x00; P2=zimo[offset+2*i]; k=k+1; P1=zimo[offset+2*i+1]; k=k+1; scan(i); delay_50us(30); }}voiddisplay_b(void){ uchari; uchark=0; for(i=0;i<16;i++) { P2=0x00; P1=0x00; P2=zimo[offset+2*(15-i)]; P1=zimo[offset+2*(15-i)+1]; scan(15-i); delay_50us(30); }}voidinterrupt0()interrupt0{ uchari=0,j=0,k=0,us=0; EX0=0; for(i=0;i<255;i++)//9ms内有高电平认为是干扰 { if(P3&0x04) //255的值实际时间为800us { EX0=1; re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论