数字音频信号发生器毕业设计_第1页
数字音频信号发生器毕业设计_第2页
数字音频信号发生器毕业设计_第3页
数字音频信号发生器毕业设计_第4页
数字音频信号发生器毕业设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)课题名称数字音频信号发生器的设计系别电子工程系专业电子信息工程技术班级姓名刘志双同组人起迄日期2009062620100410指导教师黄清华职称教授数字音频信号发生器的设计摘要设计总结了其它音频信号发生器的制作经验,采用STC89C52单片机作为该系统的控制装置,选用继电器、灵敏可变电阻、5532运放等高性能元件,同时还为了系统安装保护装置(在出错的情况下能继续工作),完善的设计出一款新颖的数字音频信号发生器。其控制器具有高速的运算能力以及内部操作的灵活性,使得产生的波形具有控制方便,输出相位连续,精度高,稳定性好等优点,具有很高的应用价值。关键字STC89C52单片机、音频信号发生器、CPU、总线、EEPROM岳阳职业技术学院数字音频信号发生器的设计前言信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号例如声音信号都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。目前,常用的音频信号发生器绝大部分由模拟电路或数字电路构成,体积和功耗都很大,价格也比较贵。随着微电子技术和计算机技术的发展,以单片机微处理器及单片机软硬件开发系统及配套产品为内容已形成了庞大并极具前途的高新技术产业,而可编程逻辑器件、SOPC等新技术的应用迅速渗透到电子、信息、通信等领域。这里分别借助STC89C52单片机芯片运算速度高,功耗低,实时分析的优势以及其灵活的可配置性、较高的可靠性、硬件升级容易等优点设计了音频信号发生器。岳阳职业技术学院数字音频信号发生器的设计目录第一章概述1第二章设计思路及流程221数字控制面板处理部分222模拟信号处理部分3第三章硬件电路设计431主要器件4311STC89C52单片机4312串行A/D转换器芯片ADC08327313AT24C64EEPROM储存芯片1032电路原理图15第四章软件设计2141常量、变量说明2142LCD12864显示程序模块2143矩阵键盘程序模块2444PC通信升级程序模块2645系统主程序28第五章小结30致谢30附录A面板立体图31附录B成品照片32附录C面板硬件原理图33附录DLCD12864程序清单34参考文献46岳阳职业技术学院数字音频信号发生器的设计1第一章概述本设计使用STC89C52单片机、ADC0832、TDA2030等芯片,产生所需要的音频信号。整个系统分为主控制面板与信号处理两部分组成。主控制面板主要是由单片机构成,作为系统的总微处理器。信号处理部分主要是有运放和功放组成,负责对输出波形的整形放大。系统分具体功能如下。输出情况显示该系统能够显示当时输出信号的频率,幅度,可以随时得知输出波形情况。输出频率设置本系统是通过键盘以1HZ的进度准确的设置输出频率。输出幅度设置本系统是通过电位器调节的方式,调节输出幅度,但该系统对输出的幅度进行了检测,可以随时观察输出情况。输出音乐选择本系统内还存储了多首音乐,可直接输出音乐信号。输出信号储存本系统还设有信号储存功能,可以储存一些常用的频率信号,不需要每次都来调节。本系统除了具有音频信号发生器的一些功能外,为了方便大家更好的使用,还增加了一些新的功能,具体如下。时间显示可以随时查看但是使用的时间,方便用户记录使用。定时是实现定时提示功能。报警对设置出错和系统出错做出报警提示。软件升级对该系统进行日后更新使用。岳阳职业技术学院数字音频信号发生器的设计2第二章设计思路及流程整个系统由两大子系统构成,负责完成不同的功能,并且子系统所处位置是分开的,子系统分别是数字控制面板处理部分和模拟信号处理部分。21数字控制面板处理部分数字控制面板处理部分的主要功能是对数字信号进行处理,可划分为采集模块、显示模块、电源模块、时钟模块、储存模块、报警提示模块、通信模块和单片机模块。数字控制面板处理部分的模块方框图如图211所示。单片机模块显示模块输入模块通信模块采集模块输出模块时钟模块储存模块报警提示模块电源模块图211数字控制面板处理模块方框图采集模块是对输出信号进行测量,采集信号的幅度和输出信号调剂进度的数据传给单片机进行处理。输出模块是对输入模块的设定,单片机进行任务处理通过输出模块输出信号。时钟模块是扩展功能的时间处理模块,得出准确的时间送个单片机处理。储存模块是对用户常用的操作进行储存使用,方便用户以后使用。显示模块是对用户操作时显示相关内容,对系统当时的工作状态和信息即使反馈给用户。通信模块是对系统日后维护升级使用,一般不适用。报警模块是对用户的错误操作、系统出故障或用户设计,以语音的方式提示用户。输入模块主要是用户操作设置使用,把用户所需要的操作通过输入模块进行设计输入。电源模块是为系统提供5V电源。是用220V交流电通过降压、整流、滤波、稳压后产生岳阳职业技术学院数字音频信号发生器的设计3的5V电源。22模拟信号处理部分模拟信号处理部分是对数字控制面板处理部分输出的信号进行处理,主要是整形和放大两个操作,所设计的模块有输入信号、信号整形、信号放大、信号输出组成,其方框图如图222所示。输入信号信号整形信号放大信号输出图222模拟信号处理模块方框图输入信号是对输入的较弱信号进行放大处理,方便后面整形部分工作。信号整形是采用的是先采用微分,对信号变形再对信号整形出较为标准的正弦波信号送入放大模块。信号放大模块是对调整好的信号放大输出,提高带负载的能力。该模块是直接才用功放进行放大。信号输出模块是对整形、放大的信号输出。岳阳职业技术学院数字音频信号发生器的设计4第三章硬件电路设计通过对总个系统的功能分析,选择合适的芯片进行硬件电路设计。31主要器件系统中主要芯片有STC89C52单片机、ADC0832模数转换、AT24C64储存器、PCF8563时钟芯片、TDA2030功放等。311STC89C52单片机1、单片机STC89C52介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用宏晶公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能与MCS51单片机产品兼容8K字节在系统可编程FLASH存储器1000次擦写周期全静态操作0HZ40MHZ三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符STC89C52方框图图31111STC89C52单片机引脚图岳阳职业技术学院数字音频信号发生器的设计5图3112STC89C52内部结构图2、单片机管脚功能介绍P0口P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,岳阳职业技术学院数字音频信号发生器的设计6需要外部上拉电阻。P1口P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P10和P12分别作定时器/计数器2的外部计数输入(P10/T2)和时器/计数器2的触发输入(P11/T2EX),具体如下表所示。在FLASH编程和校验时,P1口接收低8位地址字节。引脚号第二功能P10T2(定时器/计数器T2的外部计数输入),时钟输出P11T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P15MOSI(在系统编程用)P16MISO(在系统编程用)P17SCK(在系统编程用)表3111P1口第二功能P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能如表212P3口第二功能)使用。RST复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR地址8EH上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在FLASH编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在FLASH编程期间,岳阳职业技术学院数字音频信号发生器的设计7EA也接收12伏VPP电压。XTAL1振荡器反相放大器和内部时钟发生电路的输入端。XTAL2振荡器反相放大器的输出端。引脚第二功能P30RXD(串行输入)P31TXD(串行输出)P32INT0外部中断0P33INT0外部中断0P34T0(定时器0外部输入)P35T1(定时器1外部输入)P36WR外部数据存储器写选通P37RD外部数据存储器写选通表3112P3口第二功能312串行A/D转换器芯片ADC08321、ADC0832芯片简介ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。ADC0832是双通道输入,并且可以软件配置成单端或差分输入,串行输出可以方便地和标准的移位寄存器及微处理器接口。其中,ADC0832主要技术特点如下8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在05V之间;工作频率为250KHZ,转换时间为32S;一般功耗仅为15MW;8P、14PDIP(双列直插)、PICC多种封装;商用级芯片温宽为0TO70,工业级芯片温宽为40TO85岳阳职业技术学院数字音频信号发生器的设计8图3121芯片顶视图芯片接口说明CS_片选使能,低电平芯片使能。CH0模拟输入通道0,或作为IN/使用。CH1模拟输入通道1,或作为IN/使用。GND芯片参考0电位(地)。DI数据信号输入,选择通道控制。DO数据信号输出,转换数据输出。CLK芯片时钟输入。VCC/REF电源输入及参考电压输入(复用)2、ADC0832的工作原理ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。ADC0832使用采样数据比较器的结构,用逐次逼近流程,转换差分模拟输入信号。要转换的输入电压连接到一个输入端,相对于地(单端输入)或另一个输入端(差分输入)。ADC0832的输入端可以分配为正极()或负极(),当连到分配为正端的输入电压低于分配为负端的输入电压时,转换结果为全“0”。ADC0832的工作时序如图3122所示。岳阳职业技术学院数字音频信号发生器的设计9图3122ADC0832工作时序图置为低,方能启动转换开始,使所有的逻辑电路使能。在整个转换过程中必须置为低电平。接着从单片机接收一个时钟,一个时钟的时间间隔被自动插入,以使多路转换器选定的通道稳定。DO脱离高阻态,提供一个时钟的时间间隔的前导低电平,以使多路器稳定。在转换过程中,转换数据同时从DO端输出,以高电位(MSD)开头。经过8小时后,转换完成。当变高时,内部所有的寄存器清零。此时,输出电路变为高阻态。如果希望开始另一个转换,必须做一个从高到低的跳变,后面紧接地址数据。ADC0832的输入配置在多路寻址时序中进行,其中ADC0832多路控制器逻辑如表3121所示,多路器地址通过DI端移入转换器。多路地址选择模拟输入通道,也决定输入是单端输入还是差分输入。当输入是差分时,要分配输入通道的极性。另外在选择差分输入模式时,极性也可以选择。输入通道的两个输入端的任意一个都可以作为正极或负极。图3121ADC0832多路控制器逻辑表岳阳职业技术学院数字音频信号发生器的设计10在每个时钟的上升跳变时,DI端的数据移入多路地址移位寄存器。DI端的第一个逻辑高电平表示起始位,紧接着的两位是ADC0832的配置位。在连续的每个时钟的上升跳变,启动位和配置位移入移位寄存器。当启动位移入多路器寄存器的开始位置后,输入通道选通,转换开始。ADC0832的DI端在转换过程中和多路器的移位寄存器是关断的。ADC0832在输入为高位(MSB)开头的数据流后,又以最低位(LSB)开头重输出一遍(前面的)数据流。DI和DO端可以连在一起,通过一根线连到处理器的一个双向I/O口进行控制。之所以能这样做是因为DI端只在多路器寻址时被检测,而此时DO端仍为高阻态。313AT24C64EEPROM储存芯片1、AT24C64芯片简介AT24C64是ATMEL公司的一款EEPROM产品。其内部存储器的大小为81298位,是采用分页储存的,每页的容量为32字节。AT24C64的对外接口采用了总线的接口方式,每个储存单元可以进行100万次写操作,储存的数据可以保存100年。AT24C64采用了3种封装形式,不同的封装对位的管脚定义如图3131所示。图3131AT24C64不同封装的管脚定义AT24C64的管脚功能定义如表3131所示。表3131AT24C64管脚功能定义管脚号管脚名称功能备注13A0A2器件地址选择当多个设备共用SDA、SCL时,采用地址区分每个设备5SDA串行数据/地址是芯片的串行数据双向管脚,可以与其他的集电极开路的设备进行“线与”连接6SCL串行时钟是芯片串行时钟,最大频率要小于4000KHZ7WP写保护如果接高电平,则为写保护,任何对芯片写操作将被忽略,接低电平时去除写保护8VCC电源工作电压为18V60V4VSS地2、总线接口简介总线是由PHILIPS公司开发的一种总线系统。下面对总线进行简单的介绍。1)基本概念岳阳职业技术学院数字音频信号发生器的设计11(1)总线是一种串行总线系统。CPU电路上的总线有两根线组成,一根是串行时钟线(SCL),一根是串行数据线(SDA)。CPU利用串行时钟线发出时钟信号,利用串行数据线发送或接受数据。(2)总线属于双向总线系统。CPU可以通过总线向被控集成电路发送数据,被控集成电路也可通过总线向CPU传送数据,但被控集成电路接收还是发送数据则由主控CPU控制。由于总线是双向总线系统,因此CPU可以对总线上挂接的电路进行故障检查。的标准操作介绍的标准操作包括时钟和数据传输、起始信号、停止信号、总线时序、待机模式和存储器复位。3)起始信号时钟线保持高电平期间数据线电平从高到低的跳变作为总线的起始信号。时序图如图3132所示。图3132起始停止时序图4)停止信号时钟线保持高电平期间数据线电平从低到高的跳变作为总线的停止信号。5)总线时序总线时序如图3133所示。岳阳职业技术学院数字音频信号发生器的设计12图3133总线时序图6)写周期时序总线的写周期时序图如图3134所示。图3134总线写周期时序图7)器件寻址主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址。8位从器件地址的高4位固定为1010。接下来的3位(A2、A1、A0)为器件的地址位,用来定义哪个器件以及器件的哪个部分被主器件访问,从器件8位地址的最低位,作为读写控制位,“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。在主器件发送起始信号和从器件地址字节后,AT24C系列的监视总线并当其地址与发送的从地址相符时响应一个应答信号(通过SDA线)。AT24C系列器件再根据读写控制位(R/W)的状态进行读或写操作。8)应答信号I2C总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据。时序图如图岳阳职业技术学院数字音频信号发生器的设计133135所示。AT24C系列器件在接收到起始信号和从器件地址之后响应一个应答信号,如果器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。当AT24C系列器件工作于读模式时,在发送一个8位数据后释放SDA线并监视一个应答信号,一旦接收到应答信号,AT24C系列器件继续发送数据,如主器件没有发送应答信号,器件停止传送数据且等待一个停止信号。图3135应答时序图1A0、A1和A2对应器件的管脚1、2和3。2P0、P1和P2对应存储阵列地址字地址。9)字节写在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置零)给从器件,在从器件产生应答信号后,主器件发送AT24C系列器件的字节地址,主器件在收到从器件的另一个应答信号后,再发送数据到被寻址的存储单元。时序图如图3136所示。AT24C系列器件再次应答,并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,AT24C系列器件不再应答主器件的任何请求。图3136器件字节写时序图10)页写用页写AT24C01可一次写入8个字节数据AT24C系列器件可以一次写入16个字节的数据,如图3137所示。页写操作的启动和字节写一样,不同在于传送了一字节数据后并不产生停止信号。主器件被允许发送P(AT24C01P7AT24C02/04/08/16P15;AT24C64;P31;等)个额外的字节。每发送一个字节数据后AT24C系列器件产生一个应答位并将字节地址低位加1,高位保持不变。如果在发送停止信号之前主器件发送超过P1个字节,地址计数器将自动翻转,先前写入的数据被覆盖。接收到P1字节数据和主器件发送的停止信号后,AT24CXXX启动内部写周期将数据写到岳阳职业技术学院数字音频信号发生器的设计14数据区。所有接收的数据在一个写周期内写入AT24C系列器件。图3137总线页写时序图11)应答查询可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,AT24C系列器件启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。如果AT24C系列器件正在进行内部写操作,不会发送应答信号。如果AT24C系列器件已经完成了内部自写周期,将发送一个应答信号,主器件可以继续进行下一次读写操作。12)写保护写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写,当WP管脚接高时整个寄存器区全部被保护起来而变为只可读取。AT24C系列器件可以接收从器件地址和字节地址,但是装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写。13)读操作对AT24C系列器件读操作的初始化方式和写操作时一样,仅把R/W位置为1,有三种不同的读操作方式立即地址读、选择读和连续读。14)立即地址读AT24C系列器件的地址计数器内容为最后操作字节的地址加1,立即地址读时序图如图3138所示。也就是说如果上次读/写的操作地址为N,则立即读的地址从地址N1开始。如果NE(这里对24C01,E127;对24C02,E255;对24C04E511;对24C08,E1023;对24C16,E2047;对24C64,E8129等),则计数器将翻转到0且继续输出数据。AT24C系列器件接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件不需发送一个应答信号,但要产生一个停止信号。图3138立即地址读时序图15)选择性读选择性读操作允许主器件对寄存器的任意字节进行读操作,主器件首先通过发送起始信号、从器件地址和它想读取的字节数据的地址执行一个伪写操作,选择读时序图如图3139所示。在AT24C系列器件应答之后,主器件重新发送起始信号和从器件地址,此时R/W位置1,岳阳职业技术学院数字音频信号发生器的设计15AT24C系列器件响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。图3139器件选择读时序图16)连续读连续读操作可通过立即读或选择性读操作启动。在AT24C系列器件发送完一个8位字节数据后,主器件产生一个应答信号来响应,告知AT24C系列器件主器件要求更多的数据,对应每个主机产生的应答信号AT24C系列器件将发送一个8位数据字节。当主器件不发送应答信号而发送停止位时结束此操作。从AT24C系列器件输出的数据按顺序由N到N1输出。读操作时地址计数器在AT24C系列器件整个地址内增加,这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超过E(对于AT24C01,E127;对AT24C02,E255;对AT24C04,E511;对AT24C08,E1023;对AT24C16,E2047;对24C64,E8129等)计数器将翻转到零并继续输出数据字节。图31310器件连续读时序图32电路原理图按照其设计功能要求,数字音频信号发生器可分为电源电路、键盘电路、显示电路、报警电路、时钟电路、检测电路、信号调理电路、功率放大电路、储存电路、通信电路及单片机相关电路。单片机电路是整个系统的主控电路,信号变换电路、功率放大电路负责对单片机发生的方波信号整形放大处理,时钟电路负责系统的计时。单片机根据用户设计的频率输出同频率的信号,在经过信号变换,变成正弦波,再通过功放放大输出;同时通过探测电路检测出输出频率的电压与调节的进度,在液晶屏上显示出来。还有一个第二功能,电子钟。电源电路分为两个不分控制部分和功放部分。1、电源电路设计由于功放部分需要采用正负对称电源供电,所以本设计设计了两组电源。一个为12V双电源,为功放部分供电,一个为标准5V电源,为整个系统的控制部分供电。电源电路如岳阳职业技术学院数字音频信号发生器的设计16图321所示。T1T2D2D3D12200UFC8104C11VINVOUTGNDVR178052200UFC10104C912V12V1000UFC13104C14220UFC12104C15VCCF1132J2图321系统电源电路图12V双电源由于是对称输出电压,所以为了简化电路并降低整流器的数量与损耗,宜选择双全波整流电路。双全波整流电路是正负对称输出,即双路输出,每一路输出均可以独立工作,在独立工作时就可以看出,在个电路是全波整流电路,而桥式整流电路仅仅有一路输出;双全波整流电路需要变压器,变压器次级绕组必须有中心抽头,而桥式整流电路不一定需要变压器。这里采用变压输出为12V交流电压的变压器。通过D1进行全波整流输出直流。交流电通过全波整流电路后输出的直流电压脉动较大,含有较大的谐波成分,因此要利用滤波电路进行处理。滤波电路采用电容滤波,有电容C8、C9、C10、C11组成。最后输出12V直流电压。5V电源5V电源输出电压比较低,考虑到整流器的电压降必将影响整个电路的效率。如果采用桥式整流电路,则整流回路将会有两个整流器的压降,即2V左右,损耗约为10W。为了降低损耗,则采用全波整流电路,如图321所示。后在通过C13和C14组成的滤波电路滤波。滤波后的直流电压再通过LM7805稳压后,输出5V直流电压。2、键盘电路本设计为了方便操作,设计了16个按键,接法采用44矩阵连接。本键盘分为上下两个部分。上面12个按键供信号发生器设计与调整使用;下4个键位时钟调整设置使用。如所示VCC1342SW5SWS1342SW6SWS1342SW7SWS1342SW8SWS1342SW9SWS1342SW10SWS1342SW11SWS1342SW12SWS1342SW13SWS1342SW14SWS1342SW15SWS1342SW16SWS1342SW1SWS1342SW2SWS1342SW3SWS1342SW4SWSP32P33P34P35KE1KE2KE3KE4KE5KE6KE7KE8岳阳职业技术学院数字音频信号发生器的设计17图322按键电路3、显示电路显示模块是实现该系统控制中的数据输出和状态反馈,是系统的重要组成部分。本系统采用LCD12864液晶显示模块,可显示128X64点阵或8个X4行汉字,点尺寸048X048WXHMM,内置ST7920接口型液晶显示控制器,内带GB2312码简体中文字库(16X16点阵),可与MCU单片机直接连接,具有8位并行及串行的连接方式。本设计采用的并行连接方式(如图323所示),这样传输速度快,可以很好的节省显示占用CPU的时间。VCCVCCVCCVCCEA/VP31XTAL119XTAL218RESET9P37/RD17P36/WR16P32/INT012P33INT113P34/T014P35/T115P10/T21P11/T2EX2P123P134P145P15/MOSI6P16/MISO7P17/SCK8P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427P27/A1528PSEN29ALE/PROG30P31/TXD11P30/RXD10U1AT89S52200R2VSS1VDD2V03RS4R/W5E6DB07128CHARACTERX64LINELCDDISPLAYDB18DB29DB310DB411DB512DB613DB714PSB15NC16RET17NC18A19K20LCD1LCD1286410K123456789R1图323LCD12864液晶显示电路显示电路中的R1为单片机的P0口上拉电阻,取值为10K,R2为LCD背光限流电阻,起保护做用,取值为200。4、报警电路报警电路是用于提供按键提示和时钟闹铃,主要由蜂鸣器构成,如图324所示。单片机通过控制三级管的导通与截止,从而控制蜂鸣器的鸣叫。12LS1BUZZERQ1VCC103R7P37OSC11OSC02INT3VSS4SDA5SCL6CLKO7VDD8U2PCF8563U3VCC10KR310KR432768KHZ12Y1BT1D5D4图324蜂鸣电路图图324时钟电路图5、时钟电路时钟电路主要由PCF8563构成,电路如图324所示。PCF8563的SCL和SDA引脚内部OD开路,因此使用时需要外接上拉电阻R3、R4,上拉电阻还决定数据传输的速度,在本系统中取值5K。二极管D4、D5,电池BT1,电源VCC组成PCF8563的供电电源。电容实现滤波作用。系统通电时,VCC通过D5对PCF8563供电;当系统掉电时,由后备电池BT1通过D4供电,这样可以保证系统掉电后,PCF8563正常工作及内部数据不丢失。D5的作用是保证BT1只为时岳阳职业技术学院数字音频信号发生器的设计18钟供电,不为系统其他模块供电。D4的作用是保证VCC电源不会损坏电池BT1。6、检测电路检测电路是靠一块模数转换芯片电路完成。把模拟信号通过ADC0832转变为数字信号送给单片机处理,连接电路如图325所示。AT24C01CS1CH02CH13GND4DI5DO6CLK7VCCVREF8U4ADC0832VCC12P112P2图325检测电路图7、信号调理电路信号变换电路是音频信号发生器输出信号完整度非常关键的一部。单片机将根据用户所设定的数据,经过单片机内部处理转换,以方波的形式从P10输出。该信号经信号调理电路直接送入功放电路放大。信号调理电路如图326所示。由P10输出的信号经LM358调理后,由另一个LM358串联实现信号跟随和功率驱动。81432U6ALM35875684U6BLM3581KR91KR812V12V100PFC16100PFC1712V12VINOUT图326信号调理电路图8、功率放大电路功率放大电路是由TDA2030组成的BTL中低音功放电路,如图327所示。其原理如下声音信号由C1输入,于是在A1上产生一个放大了的同相输出电压,这个同相输出电压,经R4,C12连接到A2的反向端(脚),由深度负馈电路的“虚短”和“虚断”可知,其同相端与反向端电压相等,并且流过脚的电流也几乎为零,所以A2的脚和脚电压都为零。这样A1的输出电流,几乎全部流过R9。这就是流过R14和R9的电流几乎相等,两个电阻相等,两端的电压也相等,由于脚为零,也就是A1输出电压与A1的输出电压相反,大小相等。这就是BTL电路的巧妙之处。当然作为实用制作,这个电路并不完善。但BTL的核心部分清晰明了,电源部分读者可以自已设计制作,这样可以增加动手能力。岳阳职业技术学院数字音频信号发生器的设计19图327TDA2030功率放大电路图9、储存电路储存电路是由AT24C64组成,如图328所示。系统为AT24C64分配的芯片地址是00H,因此A0、A1、A2接地。10、通信电路通信电路主要是为系统与PC机通信使用,电路如图329所示。该电路起到系统与PC机连接桥梁作用,用于通信管理与升级使用,通常是不需要使用的。11、单片机相关电路单片机相关电路为STC89C52单片机最小系统,主要由STC89C52单片机、晶振电路和复位电路组成,如图3210所示。P0口与P27、P26、P25连接的是系统的显示器,P24与P23连接的总线器件,A01A12A23GND4SDA5ACL6WP7VCC8U3AT24C01VCC图328储存器电路图C11V2C13C24C25V6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U5MAX232104C4104C6104C7104C5VCC1234567891110J1DCONNECTOR9AP31P30图329数据通信电路图岳阳职业技术学院数字音频信号发生器的设计20AT24C64储存器与PCF8563时钟芯片的SDA、SCL引脚。P20、P21与P22接数据采集电路,ADC0832模数转换电路。P1口接的是矩阵键盘。单片机引脚接VCC,使得单片机执行片内程序。30PFC130PFC2VCC10UFC3VCCEA/VP31XTAL119XTAL218RESET9P37/RD17P36/WR16P32/INT012P33INT113P34/T014P35/T115P10/T21P11/T2EX2P123P134P145P15/MOSI6P16/MISO7P17/SCK8P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427P27/A1528PSEN29ALE/PROG30P31/TXD11P30/RXD10U1AT89S5212Y2XTAL201R5103R61342SW17P30P31P32P33P34P35P36P37图3210单片机电路岳阳职业技术学院数字音频信号发生器的设计21第四章软件设计随着单片机广泛使用及单片机日益复杂化,单片机的开发应用已逐渐引入了高级语言,以使单片机移植性提高,从而提高程序的开发效率,C51语言就是一种。对于习惯了汇编语言编程的人来说,高级语言的可控制性不好,不如汇编语言那样随心所欲。但是使用汇编语言会遇到很多问题,首先它的可读性和可维护性不强,特别是当程序没有很好标注的时候;其次就是代码的可重用性不强。而C51语言就可以很好地解决这些问题。应用C51语言编写程序具有以下特点。不要求了解处理器的指令集,也不必了解储存器的结构。寄存器非配和寻址方式由编译器管理,编程时不需要考虑存储器的寻址等。可使用与人的思维更接近的关键字和操作函数。可使用C51语言中库文件的许多标准函数。通过C语言的模块化编程技术,可以将已编制好的程序加入到新的程序中。C51语言编译器几乎适用于所有的目标系统,已完成的软件项目可以很容易地转移到其他微处理器和环境中。所以本设计的软件采用的是高级语言C语言,并在编写程序时采用模块化编程方法将程序分为LCD12864液晶显示程序模块、模数转换程序模块、PC通信升级程序模块、键盘程序模块及系统主程序等程序。41常量、变量说明为了便于后续程序的设计,本节介绍程序中用到的常量和变量。具体程序如下。/头文件/INCLUDEINCLUDE“DATAH“/显示代码INCLUDE“KEYBOARDDRIVERV12H“/键盘扫描INCLUDE“SELFISPDOWNLOADH“/通信模块INCLUDE“LCD12864DRIVERH“/显示模块/宏定义/TYPEDEFUNSIGNEDCHARUCHARTYPEDEFUNSIGNEDINTUINT/变量定义/UNSIGNEDCHARKEY42LCD12864显示程序模块LCD12864显示程序模块所使用了一些常量、变量和子程序,具体程序如下IFNDEFLCD12864DRIVEDEFINELCD12864DRIVE/引脚定义/DEFINELCD_DATAP0/8BIT数据线SBITLCD_EP27/使能信号串行移位脉冲输入SBITLCD_RWP26/读/写控制信号串行数据输入岳阳职业技术学院数字音频信号发生器的设计22SBITLCD_RSP25/数据/命令选择端片选信号输入/子函数/EXTERNVOIDLCD_INITIALVOID/初始化LCD12864EXTERNVOIDLCD_CLEARVOID/指令清屏EXTERNVOIDLCD_WRITEDATACHARLCD_DATA/向12864写数据EXTERNVOIDLCD_WRITECODECHARLCD_CMD/向12864写指令EXTERNVOIDLCD_CLEAR_CGRAMUNSIGNEDCHARTIME/对CGRAM清零(字符)EXTERNVOIDLCD_CLEAR_GDRAMUNSIGNEDCHARTIME/对GDRAM清零(图形)EXTERNVOIDLCD_ALL_GLINTCHARTNUM,CHARTIME/全屏闪烁函数EXTERNVOIDLCD_DISPALYONEDATACHARADD,CHARHZ/指定地址写一半宽字符EXTERNVOIDLCD_DISPALYONEDATACHARADD,CHARHZ/指定地址写一半宽字符EXTERNVOIDLCD_DISPLAYDATAUNSIGNEDCHARTIME,CHARHZ/向CGROM里写数据(显示字符串)EXTERNVOIDLCD_DISPLAYCGROMCHARADDR,UNSIGNEDCHARTIME,CHARHZ/设定起始地址,显示字符串EXTERNVOIDLCD_DISPLAYDATA_CHARX,CHARY,UNSIGNEDCHARTIME,CHARHZ/在12864选定的位置写入字符串EXTERNVOIDLCD_OVERTURN_DATACHARX,CHARY,CHARZ,BITWHITE/1616的汉字符反白EXTERNVOIDLCD_OVERTURN_CHARCHARX,CHARY,BITWHITE/168的字符反白EXTERNVOIDLCD_WRITE1632GDRAMCHARX,CHARY,CHARBMP/写入16X32图形EXTERNVOIDLCD_DISPLAYPHOTOCHARBMP,UNSIGNEDCHARTIME/显示12864个象素的图形EXTERNVOIDLCD_DISPLAYPHOTO_MOVEUNSIGNEDCHARHIGH,CHARBMP,CHARTIME/向上移动显示全屏图形128XENDIFLCD12864显示程序模块共分为11个子程序组成,具体程序见附录D,下面介绍几个主要的程序。1、初始化LCD12864子程序初始化LCD12864子程序是对LCD12864器件启动初始化,程序流程图如图421所示。岳阳职业技术学院数字音频信号发生器的设计23延时40MSXREXET低高功能设定控制字30H延时100US启动设备功能设定控制字30H延时37US显示开/关控制字0C0H延时100US清除屏幕控制字01H延时10MS进入设定点控制字06H初始化完成图421LCD12864初始化程序流程图2、移动显示全屏图形函数移动显示全屏图形函数是将一张较大的图片移动在显示上全部显示出来,流程图如图422所示。岳阳职业技术学院数字音频信号发生器的设计24开始变量设定进入扩展指令绘图模式图片大小分析移动进入显示屏等待屏幕满屏显示整屏移动显示图片显示完图片返回基本指令字符模式退出图422移动显示全屏图形函数流程图43矩阵键盘程序模块矩阵键盘程序模块是用户设计系统使用的,把用户所要的信号通过键盘输入到系统CPU中,由CPU处理,输出所设计的信号。他是系统非常关键的一步。模块流程图如图431所示。开始是否有键按下去抖延时是否有键按下扫描按键的横排键值扫描按键的竖排键值计算出按键值返回键值是否松手返回否否否是是是图431键盘程序流程图具体程序如下/岳阳职业技术学院数字音频信号发生器的设计25程序名称4X4矩阵键盘模块C语言控制程序(并口模式)程序功能控制LCD显示端口定义KEY0DKEY7接单片机的P1口P13P12P11P10P14_|_|_|_|_P15_|_|_|_|_P16_|_|_|_|_P17_|_|_|_|_编写时间20091115/文件信息文件名KEYBOARDDRIVERV12H版本V12创建人刘志双日期年月日描述DRIVE/IFNDEFKEYBOARDDRIVERV1_2DEFINEKEYBOARDDRIVERV1_2DEFINEKEYDATAP1EXTERNCHARKEYBOARD_SCANVOIDCHARKEYBOARDROWUNSIGNEDCHARDATASWITCHDATACASE0XEDATA0BREAKCASE0XDDATA1BREAKCASE0XBDATA2BREAKCASE0X7DATA3BREAKRETURNDATACHARKEYBOARDSCANVOIDUNSIGNEDCHARTEMP,ROWTEMP101KEYDATA0X0FIFKEYDATA0X0F/若有键按下FORTEMP4/输出行扫描吗ROWKEYBOARDROWROWTEMPROW4TEMP/计算出键值WHILEKEYDATA0XF0/松手检测RETURNTEMP/返回键值,若无键按下,返回值大于100ENDIF44PC通信升级程序模块PC通信升级程序模块是控制STC89C52单片机特有的ISP/IAP控制寄存器来实现的。串口升级的波特率为9600,自定义升级命令为89,只要等PC机发送这条指令才可以进行升级。程序流程图如图441所示。开始设定指令代码定义ISP/IAP控制寄存器启动串口中断返回串口中断是否接受到数据是否是升级指令返回升级系统是是否否图441PC通信升级程序流程图具体程序如下IFNDEFSELFISPDOWNLOADDEFINESELFISPDOWNLOAD岳阳职业技术学院数字音频信号发生器的设计27DEFINESELF_ISP_DOWNLOAD_COMMAND0X89/自定义下载命令SFRIAP_CONTR0XE7/ISP/IAP控制寄存器/子函数/FUNCTIONISP_DOWNLOAD/DESCRIPTION启动ISP下载/PARAMETERSNONE/RETURNSNONE/SIDEEFFECTSNONE/EXTERNVOIDISP_DOWNLOADVOIDTMOD0X20/定时器1设定为方式2SCON0X50/SM00SM11/串口设定为方式1SM20REN1/允许接收TB80RB80TI0/发送中断标志位清零RI0/接受中断标志位清零/TH10XFDTL10XFD/设波特率为9600/PCON0X80/SMOD位为零,波特率不加倍/IE0X90/EA1/开启中断ES1/启动串口中断/TR11/启动定时器1VOIDUART_INTERRUPT

温馨提示

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

评论

0/150

提交评论