数字音频信号发生器的设计毕业设计论文.doc

上传人:仙人指路1688 文档编号:3944300 上传时间:2023-03-28 格式:DOC 页数:49 大小:1.28MB
返回 下载 相关 举报
数字音频信号发生器的设计毕业设计论文.doc_第1页
第1页 / 共49页
数字音频信号发生器的设计毕业设计论文.doc_第2页
第2页 / 共49页
数字音频信号发生器的设计毕业设计论文.doc_第3页
第3页 / 共49页
数字音频信号发生器的设计毕业设计论文.doc_第4页
第4页 / 共49页
数字音频信号发生器的设计毕业设计论文.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《数字音频信号发生器的设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《数字音频信号发生器的设计毕业设计论文.doc(49页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文) 课题名称: 数字音频信号发生器的设计 数字音频信号发生器的设计摘要:设计总结了其它音频信号发生器的制作经验,采用STC89C52单片机作为该系统的控制装置,选用继电器、灵敏可变电阻、5532运放等高性能元件,同时还为了系统安装保护装置(在出错的情况下能继续工作),完善的设计出一款新颖的数字音频信号发生器。其控制器具有高速的运算能力以及内部操作的灵活性,使得产生的波形具有控制方便,输出相位连续,精度高,稳定性好等优点,具有很高的应用价值。 关键字:STC89C52单片机、音频信号发生器、CPU、总线、EEPROM前 言信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中

2、应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。 目前,常用的音频信号发生器绝大部分由模拟电路或数字电路构成,体积和功耗都很大,价格也比较贵。随着微电子技术和计算机技术的发展,以单片机微处理器及单片机软硬件开发系统及配套产品为内容已形成了庞大并极具前途的高新技术产业,而可编程逻辑器件、SOPC等新技术的应用迅速渗透到电子、信息、通信等领域。这里分别

3、借助STC89C52单片机芯片运算速度高,功耗低,实时分析的优势以及其灵活的可配置性、较高的可靠性、硬件升级容易等优点设计了音频信号发生器。目 录第一章 概述1第二章 设计思路及流程22.1 数字控制面板处理部分22.2 模拟信号处理部分3第三章 硬件电路设计43.1主要器件43.1.1STC89C52单片机43.1. 2 串行A/D转换器芯片ADC083273.1.3 AT24C64 EEPROM储存芯片103.2 电路原理图15第四章 软件设计214.1 常量、变量说明214.2 LCD12864显示程序模块214.3 矩阵键盘程序模块234.4 PC通信升级程序模块254.5 系统主程序

4、27第五章 小结29致 谢29附录 A 面板立体图30附录 B 成品照片30附录 C 面板硬件原理图30附录 D LCD12864程序清单30参考文献:30第一章 概述本设计使用STC89C52单片机、ADC0832、TDA2030等芯片,产生所需要的音频信号。整个系统分为主控制面板与信号处理两部分组成。主控制面板主要是由单片机构成,作为系统的总微处理器。信号处理部分主要是有运放和功放组成,负责对输出波形的整形放大。系统分具体功能如下。输出情况显示:该系统能够显示当时输出信号的频率,幅度,可以随时得知输出波形情况。l 输出频率设置:本系统是通过键盘以1Hz的进度准确的设置输出频率。l 输出幅度

5、设置:本系统是通过电位器调节的方式,调节输出幅度,但该系统对输出的幅度进行了检测,可以随时观察输出情况。l 输出音乐选择:本系统内还存储了多首音乐,可直接输出音乐信号。l 输出信号储存:本系统还设有信号储存功能,可以储存一些常用的频率信号,不需要每次都来调节。本系统除了具有音频信号发生器的一些功能外,为了方便大家更好的使用,还增加了一些新的功能,具体如下。l 时间显示:可以随时查看但是使用的时间,方便用户记录使用。l 定时:是实现定时提示功能。l 报警:对设置出错和系统出错做出报警提示。l 软件升级:对该系统进行日后更新使用。第二章 设计思路及流程整个系统由两大子系统构成,负责完成不同的功能,

6、并且子系统所处位置是分开的,子系统分别是数字控制面板处理部分和模拟信号处理部分。2.1 数字控制面板处理部分数字控制面板处理部分的主要功能是对数字信号进行处理,可划分为采集模块、显示模块、电源模块、时钟模块、储存模块、报警提示模块、通信模块和单片机模块。数字控制面板处理部分的模块方框图如图2.1.1所示。单片机模块显示模块输入模块通信模块采集模块输出模块时钟模块储存模块报警提示模块电源模块图2.1.1 数字控制面板处理模块方框图l 采集模块是对输出信号进行测量,采集信号的幅度和输出信号调剂进度的数据传给单片机进行处理。l 输出模块是对输入模块的设定,单片机进行任务处理通过输出模块输出信号。l

7、时钟模块是扩展功能的时间处理模块,得出准确的时间送个单片机处理。l 储存模块是对用户常用的操作进行储存使用,方便用户以后使用。l 显示模块是对用户操作时显示相关内容,对系统当时的工作状态和信息即使反馈给用户。l 通信模块是对系统日后维护升级使用,一般不适用。l 报警模块是对用户的错误操作、系统出故障或用户设计,以语音的方式提示用户。l 输入模块主要是用户操作设置使用,把用户所需要的操作通过输入模块进行设计输入。l 电源模块是为系统提供5V电源。是用220V交流电通过降压、整流、滤波、稳压后产生的5V电源。2.2 模拟信号处理部分模拟信号处理部分是对数字控制面板处理部分输出的信号进行处理,主要是

8、整形和放大两个操作,所设计的模块有输入信号、信号整形、信号放大、信号输出组成,其方框图如图2.2.2所示。输入信号信号整形信号放大信号输出图 2.2.2 模拟信号处理模块方框图l 输入信号是对输入的较弱信号进行放大处理,方便后面整形部分工作。l 信号整形是采用的是先采用微分,对信号变形再对信号整形出较为标准的正弦波信号送入放大模块。l 信号放大模块是对调整好的信号放大输出,提高带负载的能力。该模块是直接才用功放进行放大。l 信号输出模块是对整形、放大的信号输出。第三章 硬件电路设计通过对总个系统的功能分析,选择合适的芯片进行硬件电路设计。3.1主要器件系统中主要芯片有STC89C52单片机、A

9、DC0832模数转换、AT24C64储存器、PCF8563时钟芯片、TDA2030功放等。3.1.1STC89C52单片机1、单片机STC89C52介绍 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用宏晶公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RA

10、M,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能l 与MCS-51单片机产品兼容 l 8K字节在系统可编程Flash存储器l 1000次擦写周期l 全静态操作:0Hz40MHzl 三级加密程序存储器l 32个可编程I/O口线l 三个16位定时器

11、/计数器l 八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒 l 看门狗定时器 l 双数据指针l 掉电标识符 图 3.1.1.1.1 STC89C52单片机引脚图STC89C52方框图图3.1.1.2 STC89C52内部结构图2、单片机管脚功能介绍P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时

12、,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和

13、方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用) 表3.1.1.1 P1口第二功能P2 口: P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存

14、储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口: P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能如表2.1.2 P3口第二功能)使用。RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(

15、地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SF

16、R的第0位)的设置对微控制器处于外部执行模式下无效。PSEN: 外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP: 访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。引脚第二功能P3.0RXD(串行输入)P3.1

17、TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)表3.1.1.2 P3口第二功能3.1. 2 串行A/D转换器芯片ADC08321、ADC0832芯片简介ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。 ADC0832是双通道输入,并且可以软件配置成单端或差分输入,串行输出可以方便地和标准的移位寄存器及微处理器接口

18、。其中, ADC0832主要技术特点如下: l 8位分辨率; l 双通道A/D转换; l 输入输出电平与TTL/CMOS相兼容; l 5V电源供电时输入电压在05V之间; l 工作频率为250KHZ,转换时间为32S; l 一般功耗仅为15mW; l 8P、14PDIP(双列直插)、PICC多种封装; l 商用级芯片温宽为0 to +70,工业级芯片温宽为40 to +85图 3.1.2.1 芯片顶视图芯片接口说明: l CS_ 片选使能,低电平芯片使能。 l CH0 模拟输入通道0,或作为IN+/-使用。 l CH1 模拟输入通道1,或作为IN+/-使用。 l GND 芯片参考0电位(地)。

19、 l DI 数据信号输入,选择通道控制。 l DO 数据信号输出,转换数据输出。 l CLK 芯片时钟输入。 l Vcc/REF 电源输入及参考电压输入(复用)2、ADC0832的工作原理ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。ADC0832使用采样数据比较器的结构,用逐次

20、逼近流程,转换差分模拟输入信号。要转换的输入电压连接到一个输入端,相对于地(单端输入)或另一个输入端(差分输入)。ADC0832的输入端可以分配为正极(+)或负极(-),当连到分配为正端的输入电压低于分配为负端的输入电压时,转换结果为全“0”。ADC0832的工作时序如图3.1.2.2所示。图3.1.2.2 ADC0832工作时序图置为低,方能启动转换开始,使所有的逻辑电路使能。在整个转换过程中必须置为低电平。接着从单片机接收一个时钟,一个时钟的时间间隔被自动插入,以使多路转换器选定的通道稳定。DO脱离高阻态,提供一个时钟的时间间隔的前导低电平,以使多路器稳定。在转换过程中,转换数据同时从DO

21、端输出,以高电位(MSD)开头。经过8小时后,转换完成。当变高时,内部所有的寄存器清零。此时,输出电路变为高阻态。如果希望开始另一个转换,必须做一个从高到低的跳变,后面紧接地址数据。ADC0832的输入配置在多路寻址时序中进行,其中ADC0832多路控制器逻辑如表3.1.2.1 所示,多路器地址通过DI端移入转换器。多路地址选择模拟输入通道,也决定输入是单端输入还是差分输入。当输入是差分时,要分配输入通道的极性。另外在选择差分输入模式时,极性也可以选择。输入通道的两个输入端的任意一个都可以作为正极或负极。图3.1.2.1 ADC0832多路控制器逻辑表在每个时钟的上升跳变时,DI端的数据移入多

22、路地址移位寄存器。DI端的第一个逻辑高电平表示起始位,紧接着的两位是ADC0832的配置位。在连续的每个时钟的上升跳变,启动位和配置位移入移位寄存器。当启动位移入多路器寄存器的开始位置后,输入通道选通,转换开始。ADC0832的DI端在转换过程中和多路器的移位寄存器是关断的。ADC0832在输入为高位(MSB)开头的数据流后,又以最低位(LSB)开头重输出一遍(前面的)数据流。DI和DO端可以连在一起,通过一根线连到处理器的一个双向I/O口进行控制。之所以能这样做是因为DI端只在多路器寻址时被检测,而此时DO端仍为高阻态。3.1.3 AT24C64 EEPROM储存芯片1、AT24C64芯片简

23、介AT24C64是ATMEL公司的一款EEPROM产品。其内部存储器的大小为81298位,是采用分页储存的,每页的容量为32字节。AT24C64的对外接口采用了总线的接口方式,每个储存单元可以进行100万次写操作,储存的数据可以保存100年。AT24C64采用了3种封装形式,不同的封装对位的管脚定义如图3.1.3.1 所示。图3.1.3.1 AT24C64不同封装的管脚定义AT24C64的管脚功能定义如表3.1.3.1 所示。表3.1.3.1 AT24C64管脚功能定义管脚号管脚名称功能备注13A0A2器件地址选择当多个设备共用SDA、SCL时,采用地址区分每个设备5SDA串行数据/地址是芯片

24、的串行数据双向管脚,可以与其他的集电极开路的设备进行“线与”连接6SCL串行时钟是芯片串行时钟,最大频率要小于4000KHz7WP写保护如果接高电平,则为写保护,任何对芯片写操作将被忽略,接低电平时去除写保护8Vcc电源工作电压为:+1.8V6.0V4Vss地2、总线接口简介总线是由Philips公司开发的一种总线系统。下面对总线进行简单的介绍。1)基本概念(1) 总线是一种串行总线系统。CPU电路上的总线有两根线组成,一根是串行时钟线(SCL),一根是串行数据线(SDA)。CPU利用串行时钟线发出时钟信号,利用串行数据线发送或接受数据。(2) 总线属于双向总线系统。CPU可以通过总线向被控集

25、成电路发送数据,被控集成电路也可通过总线向CPU传送数据,但被控集成电路接收还是发送数据则由主控CPU控制。由于总线是双向总线系统,因此CPU可以对总线上挂接的电路进行故障检查。的标准操作介绍的标准操作包括时钟和数据传输、起始信号、停止信号、总线时序、待机模式和存储器复位。3)起始信号时钟线保持高电平期间数据线电平从高到低的跳变作为总线的起始信号。时序图如图3.1.3.2所示。图 3.1.3.2 起始停止时序图4)停止信号时钟线保持高电平期间数据线电平从低到高的跳变作为总线的停止信号。5)总线时序总线时序如图3.1.3.3所示。图3.1.3.3 总线时序图6)写周期时序总线的写周期时序图如图3

26、.1.3.4 所示。图3.1.3.4 总线写周期时序图7)器件寻址主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址。8 位从器件地址的高4位固定为1010。接下来的3位(A2、 A1、 A0)为器件的地址位,用来定义哪个器件以及器件的哪个部分被主器件访问,从器件8位地址的最低位,作为读写控制位,“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。在主器件发送起始信号和从器件地址字节后,AT24C系列的监视总线并当其地址与发送的从地址相符时响应一个应答信号(通过SDA线)。AT24C系列器件再根据读写控制位(R/W)的状态进行读或写操作。8)应答信号I2C总线数据

27、传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据。时序图如图3.1.3.5所示。AT24C系列器件在接收到起始信号和从器件地址之后响应一个应答信号,如果器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。当AT24C系列器件工作于读模式时,在发送一个8位数据后释放SDA 线并监视一个应答信号,一旦接收到应答信号,AT24C系列器件继续发送数据,如主器件没有发送应答信号,器件停止传送数据且等待一个停止信号。图3.1.3.5 应答时序图1. A0、A1和A2对应器件的管脚1、2和3。2. P0、P1和

28、P2对应存储阵列地址字地址。9)字节写在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置零)给从器件,在从器件产生应答信号后,主器件发送AT24C系列器件的字节地址,主器件在收到从器件的另一个应答信号后,再发送数据到被寻址的存储单元。时序图如图3.1.3.6 所示。AT24C系列器件再次应答,并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,AT24C系列器件不再应答主器件的任何请求。图 3.1.3.6 器件字节写时序图10)页写用页写AT24C01可一次写入8个字节数据AT24C系列器件可以一次写入16个字节的数据,如图3.1.3.7所示。页写操作的启动和字节写一样,

29、不同在于传送了一字节数据后并不产生停止信号。主器件被允许发送P(AT24C01; P=7; AT24C02/04/08/16; P=15;AT24C64;P=31;等)个额外的字节。每发送一个字节数据后AT24C系列器件产生一个应答位并将字节地址低位加1,高位保持不变。如果在发送停止信号之前主器件发送超过P+1个字节,地址计数器将自动翻转,先前写入的数据被覆盖。接收到P+1字节数据和主器件发送的停止信号后,AT24CXXX启动内部写周期将数据写到数据区。所有接收的数据在一个写周期内写入AT24C系列器件。图3.1.3.7 总线页写时序图11)应答查询可以利用内部写周期时禁止数据输入这一特性。一

30、旦主器件发送停止位指示主器件操作结束时,AT24C系列器件启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。如果AT24C系列器件正在进行内部写操作,不会发送应答信号。如果AT24C系列器件已经完成了内部自写周期,将发送一个应答信号,主器件可以继续进行下一次读写操作。12)写保护写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写,当WP 管脚接高时整个寄存器区全部被保护起来而变为只可读取。AT24C系列器件可以接收从器件地址和字节地址,但是装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写。13)读操作对AT24C系列器件读操

31、作的初始化方式和写操作时一样,仅把R/W 位置为1,有三种不同的读操作方式:立即地址读、选择读和连续读。14)立即地址读AT24C系列器件的地址计数器内容为最后操作字节的地址加1,立即地址读时序图如图3.1.3.8所示。也就是说如果上次读/写的操作地址为N,则立即读的地址从地址N+1开始。如果N=E(这里对24C01 ,E=127;对24C02,E=255;对24C04 E=511;对24C08, E=1023;对24C16,E=2047;对24C64,E=8129等),则计数器将翻转到0且继续输出数据。AT24C系列器件接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送

32、一个8位字节数据。主器件不需发送一个应答信号,但要产生一个停止信号。图3.1.3.8立即地址读时序图15)选择性读选择性读操作允许主器件对寄存器的任意字节进行读操作,主器件首先通过发送起始信号、从器件地址和它想读取的字节数据的地址执行一个伪写操作,选择读时序图如图3.1.3.9所示。在AT24C系列器件应答之后,主器件重新发送起始信号和从器件地址,此时R/W位置1, AT24C系列器件响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。图 3.1.3.9 器件选择读时序图16)连续读连续读操作可通过立即读或选择性读操作启动。在AT24C系列器件发送完一

33、个8位字节数据后,主器件产生一个应答信号来响应,告知AT24C系列器件主器件要求更多的数据,对应每个主机产生的应答信号AT24C系列器件将发送一个8位数据字节。当主器件不发送应答信号而发送停止位时结束此操作。从AT24C系列器件输出的数据按顺序由N到N+1输出。读操作时地址计数器在AT24C系列器件整个地址内增加,这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超过E(对于AT24C01,E=127;对AT24C02,E=255;对AT24C04,E=511;对AT24C08,E=1023;对AT24C16,E=2047;对24C64,E=8129等)计数器将翻转到零并继续输出数据字

34、节。图 3.1.3.10 器件连续读时序图3.2 电路原理图按照其设计功能要求,数字音频信号发生器可分为电源电路、键盘电路、显示电路、报警电路、时钟电路、检测电路、信号调理电路、功率放大电路、储存电路、通信电路及单片机相关电路。单片机电路是整个系统的主控电路,信号变换电路、功率放大电路负责对单片机发生的方波信号整形放大处理,时钟电路负责系统的计时。单片机根据用户设计的频率输出同频率的信号,在经过信号变换,变成正弦波,再通过功放 放大输出;同时通过探测电路检测出输出频率的电压与调节的进度,在液晶屏上显示出来。还有一个第二功能,电子钟。电源电路分为两个不分:控制部分和功放部分。1、电源电路设计由于

35、功放部分需要采用正负对称电源供电,所以本设计设计了两组电源。一个为12V双电源,为功放部分供电,一个为标准5V电源,为整个系统的控制部分供电。电源电路如图3.2.1 所示。图3.2.1 系统电源电路图12V双电源由于是对称输出电压,所以为了简化电路并降低整流器的数量与损耗,宜选择双全波整流电路。双全波整流电路是正负对称输出,即双路输出,每一路输出均可以独立工作,在独立工作时就可以看出,在个电路是全波整流电路,而桥式整流电路仅仅有一路输出;双全波整流电路需要变压器,变压器次级绕组必须有中心抽头,而桥式整流电路不一定需要变压器。这里采用变压输出为12V交流电压的变压器。通过D1进行全波整流输出直流

36、。交流电通过全波整流电路后输出的直流电压脉动较大,含有较大的谐波成分,因此要利用滤波电路进行处理。滤波电路采用电容滤波,有电容C8、C9、C10、C11组成。最后输出12V直流电压。5V电源5V电源输出电压比较低,考虑到整流器的电压降必将影响整个电路的效率。如果采用桥式整流电路,则整流回路将会有两个整流器的压降,即2V左右,损耗约为10W。为了降低损耗,则采用全波整流电路,如图3.2.1所示。后在通过C13和C14组成的滤波电路滤波。滤波后的直流电压再通过LM7805稳压后,输出5V直流电压。2、键盘电路本设计为了方便操作,设计了16个按键,接法采用4*4矩阵连接。本键盘分为上下两个部分。上面

37、12个按键供信号发生器设计与调整使用;下4个键位时钟调整设置使用。如所示.图3.2.2 按键电路3、显示电路显示模块是实现该系统控制中的数据输出和状态反馈,是系统的重要组成部分。本系统采用LCD12864液晶显示模块,可显示128X64点阵或8 个X4 行汉字,点尺寸0.48X0.48(WXH)mm,内置ST7920接口型液晶显示控制器,内带GB2312 码简体中文字库(16X16 点阵),可与MCU 单片机直接连接,具有8位并行及串行的连接方式。本设计采用的并行连接方式(如图3.2.3 所示),这样传输速度快,可以很好的节省显示占用CPU的时间。图3.2.3 LCD12864液晶显示电路显示

38、电路中的R1为单片机的P0口上拉电阻,取值为10K,R2为LCD背光限流电阻,起保护做用,取值为200。4、报警电路报警电路是用于提供按键提示和时钟闹铃,主要由蜂鸣器构成,如图3.2.4 所示。单片机通过控制三级管的导通与截止,从而控制蜂鸣器的鸣叫。 图3.2.4 蜂鸣电路图 图3.2.4 时钟电路图5、时钟电路时钟电路主要由PCF8563构成,电路如图3.2.4 所示。PCF8563的SCL和SDA引脚内部OD开路,因此使用时需要外接上拉电阻R3、R4,上拉电阻还决定数据传输的速度,在本系统中取值5K。二极管D4、D5,电池BT1,电源VCC组成PCF8563的供电电源。电容实现滤波作用。系

39、统通电时,VCC通过D5对PCF8563供电;当系统掉电时,由后备电池BT1通过D4供电,这样可以保证系统掉电后,PCF8563正常工作及内部数据不丢失。D5的作用是保证BT1只为时钟供电,不为系统其他模块供电。D4的作用是保证VCC电源不 会损坏电池BT1。6、检测电路检测电路是靠一块模数转换芯片电路完成。把模拟信号通过ADC0832转变为数字信号送给单片机处理,连接电路如图3.2.5 所示。图 3.2.5 检测电路图7、信号调理电路信号变换电路是音频信号发生器输出信号完整度非常关键的一部。单片机将根据用户所设定的数据,经过单片机内部处理转换,以方波的形式从P10输出。该信号经信号调理电路直

40、接送入功放电路放大。信号调理电路如图3.2.6所示。由P10输出的信号经LM358调理后,由另一个LM358串联实现信号跟随和功率驱动。图3.2.6信号调理电路图8、功率放大电路功率放大电路是由TDA2030组成的BTL中低音功放电路,如图3.2.7所示。其原理如下: 声音信号由C1输入,于是在A1上产生一个放大了的同相输出电压,这个同相输出电压,经R4,C12连接到A2的反向端(脚),由深度负馈电路的“虚短”和“虚断”可知,其同相端与反向端电压相等,并且流过脚的电流也几乎为零,所以A2的脚和脚电压都为零。这样A1的输出电流,几乎全部流过R9。这就是流过R14和R9的电流几乎相等,两个电阻相等

41、,两端的电压也相等,由于脚为零,也就是A1输出电压与A1的输出电压相反,大小相等。这就是BTL电路的巧妙之处。当然作为实用制作,这个电路并不完善。但BTL的核心部分清晰明了,电源部分读者可以自已设计制作,这样可以增加动手能力。图3.2.7 TDA2030功率放大电路图9、储存电路储存电路是由AT24C64组成,如图3.2.8所示。 系统为AT24C64分配的芯片地址是00H,因此A0、A1、A2接地。10、通信电路图 3.2.8 储存器电路图通信电路主要是为系统与PC机通信使用,电路如图3.2.9所示。该电路起到系统与PC机连接桥梁作用,用于通信管理与升级使用,通常是不需要使用的。11、单片机

42、相关电路单片机相关电路为STC89C52单片机最小系统,主要由STC89C52单片机、晶振电路和复位电路组成,如图3.2.10所示。图 3.2.9 数据通信电路图P0口与P2.7、P2.6、P2.5连接的是系统的显示器,P2.4与P2.3连接的总线器件,AT24C64储存器与PCF8563时钟芯片的SDA、SCL引脚。P2.0、P2.1与P2.2接数据采集电路,ADC0832模数转换电路。P1口接的是矩阵键盘。单片机引脚接VCC,使得单片机执行片内程序。图 3.2.10 单片机电路第四章 软件设计随着单片机广泛使用及单片机日益复杂化,单片机的开发应用已逐渐引入了高级语言,以使单片机移植性提高,

43、从而提高程序的开发效率,C51语言就是一种。对于习惯了汇编语言编程的人来说,高级语言的可控制性不好,不如汇编语言那样随心所欲。但是使用汇编语言会遇到很多问题,首先它的可读性和可维护性不强,特别是当程序没有很好标注的时候;其次就是代码的可重用性不强。而C51语言就可以很好地解决这些问题。应用C51语言编写程序具有以下特点。l 不要求了解处理器的指令集,也不必了解储存器的结构。l 寄存器非配和寻址方式由编译器管理,编程时不需要考虑存储器的寻址等。l 可使用与人的思维更接近的关键字和操作函数。l 可使用C51语言中库文件的许多标准函数。l 通过C语言的模块化编程技术,可以将已编制好的程序加入到新的程

44、序中。l C51语言编译器几乎适用于所有的目标系统,已完成的软件项目可以很容易地转移到其他微处理器和环境中。所以本设计的软件采用的是高级语言C语言,并在编写程序时采用模块化编程方法将程序分为LCD12864液晶显示程序模块、模数转换程序模块、PC通信升级程序模块、键盘程序模块及系统主程序等程序。4.1 常量、变量说明为了便于后续程序的设计,本节介绍程序中用到的常量和变量。具体程序如下。/*头文件*/#include#includeData.h /显示代码#includeKeyboardDriverV1.2.h/键盘扫描#includeSelfISPDownload.h/通信模块#include

45、LCD12864Driver.h /显示模块/*宏定义*/typedef unsigned char uchar;typedef unsigned int uint;/*变量定义*/unsigned char Key;4.2 LCD12864显示程序模块LCD12864显示程序模块所使用了一些常量、变量和子程序,具体程序如下:#ifndef LCD12864Drive #define LCD12864Drive /*引脚定义*/#define LCD_DATA P0/8bit数据线sbit LCD_E=P27;/使能信号(串行移位脉冲输入)sbit LCD_RW=P26;/读/写控制信号(串行数据输入)sbit LCD_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号