ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:900.24KB ,
资源ID:22331145      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22331145.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的多功能信号发生器的设计Word下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的多功能信号发生器的设计Word下载.docx

1、(2)本系统需要设计键盘电路,用以调节信号发生器输出波形的幅度值和频率值;(3)本系统需要设计的信号发生器可以输出三种不同的波形,波形类型分别为矩形波、正弦波和三角波;(4)本系统需设计的信号发生器可以实现输出频率在1Hz和100MHz之间。1.2 系统方案设计目前,波形发生器设计方案主要有以下几种:1方案一 用分立元件组成的函数发生器。分立器件是相对于集成芯片而言的。随着科学技术的不断发展,人们渐渐步入电子时代,分立器件也被也被广泛应用到消费电子、计算机及外设、网络通信,汽车电子、LED显示平等领域。它包括:半导体二极管、半导体三极管、电容、电阻、逻辑器件、传感器、敏感器件以及装好的压电晶体

2、类似半导体器件等。用分立器件组成的函数信号发生器通常机构简单、成本较低。但是由于元器件的分散性及环境条件的改变等因素,致使波形频率产生偏差,它通常是单函数发生器且平率不高,其工作不很稳定,不易调试。2方案二制作函数信号发生器可用运放IC、晶体管等通用元器件。晶体管、运放IC等通用器件均可以制作函数信号发生器,用专业的发生器产生信号则是普遍选择。函数信号发生器IC在早些时候,如M8045、CA102、XR5547等,不仅精度不够高,功能也比较少,频率上限只有200kHz,若想产生更高的频率信号是难以实现的,再加上不够灵活的调节方式,频率,占空比无法单独调节。由于用通用器件制作的信号发生器同样具有

3、频率不高的缺点,因此,在本论文设计中,此种方案也不宜采用。3方案三利用专用直接数字合成DDS芯片制作的函数信号发生器。DDS有如下优点:(1)速度快,可达到s数量级;(2)频率分辨率较高,输出频点多,可达多个频点切换;(3)能够输出正交信号;(4)频率切换时能实现相位连续;(5)可以产生任意的波形;(6)输出噪声低,对参数频率源的噪声有改善作用;(7)全数字化实现便于集成,体积小,重量轻。DDS芯片的时钟频率从几十兆赫兹到几百赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器。DDS有上述诸多优点,而且利用直接数字合成DDS芯片实现的函数信号发生器能够产生任意波形并达到很高的频率,克服了

4、方案一、方案二的多数缺点,故本设计采用方案三。1.3 系统模块设计思路根据毕业设计要求,以及方案的比较结果,拟采用DDS芯片实现设计内容。本设计采用模块化思想,即将不同功能器件分别做成不同模块。根据功能要求,共分为五大模块:输入模块、显示模块、造波模块、调幅模块和控制模块。其中输入模块为键盘,输出模块为LCD1602液晶显示器。 主控模块的选择方案一:用单片STC89C52作为系统的主控核心。单片机具有体积小,使用灵活的,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。且单片机功耗低,价格低廉的优点。方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051

5、兼容的微控制器内核,与MCS-51指令集完全兼容。片内集成了控制系统和数据采集中常用的模拟部件和其他数字外设及功能部件,还具有标准8052的数字外设部件,而且执行速度快,但其价格较贵。在此系统中,采用STC89C52单片机作为控制比采用C8051F005单片机、FPGA实现更简便。基于综合性价比,确定选择方案一。 显示模块的选择采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但要显示内容多,而且数码管不能显示字母。采用LCD液晶

6、显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。优点是显示信息非常丰富,可以很形象的显示信号发生器的各个参数。占用的I/O资源比较少,不需要循环扫描,节省了大量的程序开销。以上两种方案综合考虑,本设计选择方案二。 功率放大模块的选择采用多级放大电路。由两个晶体管构成共射共集放大电路如图1.3所示,第一级起到电压放大作用,达到正弦信号峰-峰值输出,第二级为跟随器,主要为了能够带50欧的负载,使其负载上的正弦信号的输出电压的峰-峰值达到题目的要求。此电路只是在调试选定具体参数中比较麻烦,但工作比较稳定,比较易于实现。图1.3 共射-共基放大电路的交流通路采用可变增益放大器。增益

7、放大器直接与AD9833相接,用来实现电压的放大并且控制波形的失真,精确度高,且较稳定,实现简单。系统可以采用AD603,这种芯片具有程控增益调整功能。是一个90MHz带宽增益可调、低噪的集成运放,如用分贝表示增益,则控制电压与增益成线性关系,压摆率为275V/s。可编程的增益范围由管脚间的连接方式决定,增益在-11+30dB时的带宽为90Mhz,增益在+9+41dB时具有9MHz带宽,改变管脚间的连接电阻,可使增益处在所需范围内。综上所述,本设计采用方案二。1.4 开发工具和开发环境本文件系统采用单片机C语言实现,编译器为Keil uVision2。C语言具有可读性好的优势,更容易使大家相互

8、借鉴,提高自己的程序设计水平。C语言具有模块化程序结构的特点,使程序模块化,不断丰富。采用C语言,可针对常用的功能模块、算法等编制相应的函数可针对单片机,常用的接口芯片编制通用的驱动函数。这些函数经过整理可形成库函数,供广大的单片机爱好者使用和完善。目前,8051系列单片机上的C语言的代码长度,在未加入优化的条件下做到了最优汇编程序水平的1.21.5倍,达到了中等程序员的水平。在仿真器水平提高的前提下,优化水平还会继续提高。在软件质量和开发速度及结构严谨性等方面,C语言的优势绝非汇编语言所能比拟。KEIL公司的C51编译器DOS版本曾通过美国Franklin公司在市场上畅销多年,最早传入我国并

9、得到广泛使用的是Franklin C51 V3.2版本。随着时间的推移,KEIL公司的产品不断升级,V5.0以上版本C51编译器就配有基于Windows的uVision集成开发环境和dScope软件模拟调试程序。现KEIL公司的编译器有支持经典8051和8051派生产品的版本,统称为Cx51。新版本uVision2把uVision1用的模拟调试器dScope与集成开发环境无缝结合起来,界面更友好,使用更方便,支持的单片机品种更多。因此,Keil uVision2是单片机程序开发的理想环境。1.5 系统设计总框图本系统的设计总框图如图1.4所示。图1.4 系统总体框图本系统主要包括以下几个模块:

10、主控制器及其接口电路模块,键盘及液晶显示模块,波形产生模块,幅值调节模块。其中,主控制器负责接收并处理来自键盘的命令输入,驱动液晶显示当前波形的频率值或幅值,向波形产生模块发送当前波形的频率值数据,向幅值调节模块发送当前波形的幅值数据,以此实现对整个系统的统一协调管理。2 系统硬件电路设计根据系统框图可知,本系统的硬件电路设计应包括单片机最小系统设计、信号发生模块设计、显示电路设计、D/A转换电路与功率放大模块设计和按键提示电路设计等。2.1 单片机最小系统设计单片机最小系统是指在保证控制器正常工作的前提下,所需的最小计硬件电路,它主要包括:晶振电路、复位电路、供电电路。晶振电路在单片机系统中

11、的作用非常大,它为单片机电路内部工作提供时钟频率。时钟频率越高,系统工作越快,它是单片机内部一切指令的时钟基础。在正常条件下,普通的晶振频率绝对精度可达百万分之五十,可靠性很高,通常外部晶振电路与系统内部锁相环电路配合使用,用来提供系统所需的时钟频率。对于级联系统,如果不同子系统需要不同频率的时钟基准信号,可以用与同一个晶振相连的不同锁相环来提供。复位电路主要功能是让系统恢复到初始状态,如果程序跑飞,系统无法运行,可以使用复位电路让其再次启动,恢复系统功能。供电电路主要是为系统提供能量,保证系统能正常工作。 STC89C52RC单片机本文选择的单片机型号为STC89C52系列,MCS-51单片

12、机由美国INTEL公司推出,它比之前推出的MCS-48单片机功能更强,结构更先进,指令和电路单元都在原有的基础上增加了。MCS-51系列单片机主要包括8031、8051和8751等通用产品。STC89C52单片机与经典的MCS-51单片机具有相同的内核结构,在应用上可以当作传统的MCS-51单片机使用。该系列单片机主要特性:(1)与C51单片机指令系统相兼容 (2)8k的FLASH可反复擦写使用; (3)256x8bit内部Ram;(4)三十二个双向输入输出接口;(5)3个16位可编程定时计数器;(6)系统时钟范围0-24MHz;(7)2个UART串行通道;(8)8个中断源含两个外部中断;(9

13、)2个读写线;(10)具有低功耗空闲模式和掉电模式,通过软件设置睡眠和唤醒功能;(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 单片机最小系统单片机最小系统如图2.1所示。(1)单片机晶振电路:单片机外围的晶振电路是通过单片机的第18(X2)、19(X1)引脚接入。X1脚为振荡器反相放大器和内部时钟发生电路的输入端,X2脚为振荡器反相放大器的输出端。对于MSC-51一般的晶振频率可以在1.2MHz12MHz之间选择,这时电容C可以对应的选择10pF30pF。当使用89C52时晶振频率可以提高到24MHZ。对于本设计的电容C用30pF,晶振选用12MHz。

14、晶振电路原理图如图2.1所示,一条引脚接在X1,另一条接在X2。(2)KG:复位信号。当无源晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。为了防止程序执行过程中失步或运行紊乱,本系统采用了上电复位及手动复位电路。图2.1 单片机最小系统(3)/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。若只是用内部程序存储空间,该引脚悬空即可。2.2 信号发生模块电路设计AD

15、9833是一款低功耗器件,采用MSOP封装,非常小巧,外围电路简单,仅需要1个外部参考时钟、一个低精度电阻器和一个解耦电容器,通过SPI接口和单片机相连,可编程波形发生器;能够产生正弦波、三角波、方波输出。AD9833的引脚图如图2.2所示。图2.2 AD9833的引脚图各引脚功能如表2.1所示。表2.1 AD9833的引脚功能引脚号符号功能说明1COMP为DAC偏移解耦的DAC偏移引脚2VDD电源电压3CAP/2.5V数字电路的电源端4DGND数字地5MCLK主频数字时钟的输入端6SDATA串行数字输入7SCLK串行时钟输入8FSYNC控制输入,低电平有效9AGND模拟地10VOUT输入频率

16、()AD9833可运作的主时钟频率高达25MHz。一般25Hz的振荡器包含在外部电路中,但是这振荡器也可以删除,如有需要可以连接到外部CMOS时钟上。图2.5为AD9833的外围电路。图2.5 AD9833的外围电路2.3 系统显示电路设计本系统设计的显示电路用以显示信号发生器输出的波形类型,以及输出波形的频率和幅值。 LCD1602液晶显示屏液晶显示器(LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面,各种液晶显示器简称液晶。不能显示汉字的液晶命名规则是以点阵的列数和行数来命名的。如本设计使用的LCD1602的意思是每行显示16个字符,共有2行。可以显示汉字的液晶称

17、为图形液晶,图形液晶是以点阵的数目命名的,每个点都可以单独控制。例如12232代表该液晶有122行,32列的点阵。LCD1602内置含128个字符的ASCII字符集字库,显示控制用ASCII码即可。 接口信号说明1602液晶接口的信号说明如表2.2所示。表2.2 1602液晶接口的信号说明编号引脚说明VSS电源地D2数据口电源正极D3VO液晶显示的对比度调节11D4RS数据/命令选择(H/L)12D5R/W读/写选择(H/L)13D6E使能信号14D7D015BLA背光电源的正极D116BLK背光电源的负极 系统显示电路本系统设计的显示电路如图2.7所示,1602液晶显示器的三个控制端口分别通

18、过P2.5、P2.6、P2.7三个I/O口控制,8位数据端口与单片机的P0口相连。1602液晶显示器背光亮度通过如图所示的滑动变阻器RP1调节控制。图2.7 系统显示电路原理图2.4 D/A转换电路与功率放大模块设计本设计采用串行10位数/模转换器TLC5615采集信号电压,为下一级的功率放大器AD603提供控制电压。 TLC5615芯片TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。其带有上电复位功能,即把DAC寄存器复位至全零。TLC5615性能价格比高,目前在国内市场很方便购买。TLC5615的时序如图2.

19、8所示。图2.8 TLC5615的时序图由TLC5615的时序图,当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入或输出,而且在前为最高有效位,在后为低有效位。输入时串行输入数据DIN被SCLK的上升沿移入内部的16位移位寄存器,串行数据DOUT由SCLK的下降沿输出,数据被片选CS的上升沿传送至DAC寄存器。当片选CS为高电平时,时钟同步不能把串行输入数据DIN送入移位寄存器;输出数据DOUT不进入高阻状态通过保持最近的数值不变。因此必须满足两个条件方可串行输出数据和输入数据:第一时钟SCLK的有效跳变;第二片选CS为低电平。当片选CS为高电平时,输入时钟SCLK应当为低电平。系统

20、的D/A转换电路原理图如图2.9所示。图2.9 TLC5615硬件连接图单片机通过P36口控制串行数模转换器TLC5615的3脚片选端,1脚串行数据输入端与2脚串行时钟输入端分别通过单片机的P34和P35端口控制。串行数模转芯片7脚输出端接下一级的功率放大的控制端。 AD603芯片AD603这种芯片正具有程控增益调整功能。由美国ADI公司生产,是一个90MHz带宽增益可调、低噪的集成运放。AD603内部结构图如图2.10所示。由图可知芯片内部包括增益控制部分,精密无源输入衰减器,固定增益放大器,梯形电阻网络几大部分组成。AD603由一个可通过外部反馈电路设置固定增益GF(31.0751.07)

21、的放大器、40dB/V的线性增益控制电路和0-42.14dB的宽带压控精密无源衰减器构成。图2.10 AD603内部结构图本系统利用AD603设计的功放电路硬件原理图如图2.10所示。AD603芯片的一脚GPOS电压控制信号来自串行数模转换器TLC5616的输出端,2脚GNEG控制电压信号通过一个分压电路使其为固定值+2V,3脚VINP信号输入端与AD9833芯片的输出端相接。图2.10 增益调节模块2.5 声光提示电路设计当有调频、调幅、复位或者光标移动按键按下时,为了达到提示使用者的目的,在电路硬件设计时,加入了按键声光提示电路。按键声光提示硬件连接图如图2.12所示。图2.12 按键声光

22、提示硬件连接图在此硬件电路设计中,选用PNP三极管8550作为开关,单片机通过P37端口控制三极管基极,当有调频、调幅、复位或者光标移动按键其中的一个按下时,P37口置为低电平,使得蜂鸣器和LED灯电路出去导通状态。2.6 按键电路设计按键电路如图2.13所示。图2.13 按键电路图由图可知,按键S1与单片机的P10口相连,按键S2与单片机的P11口相连,按键S3与单片机的P12口相连,按键S4与单片机的P13口相连,按键S5与单片机的P14口相连,按键S6与单片机的P15口相连。具体功能如表2.5所示。表2.5 按键功能表按键功能S1控制光标左移S2控制光标右移S3频率加S4频率减S5幅值加

23、S6幅值减3 系统软件设计3.1 系统软件流程图 主控制器软件设计主控制器负责接收并处理来自键盘的命令输入,驱动LCD液晶显示当前波形的频率值或幅值,向波形产生模块发送当前波形的频率值数据,向幅值调节模块发送当前波形的幅值数据。主控制器对键盘的操作是通过不断地扫描来完成的,当有按键按下,并根据键值调用相应的功能函数。主控制器其他功能的实现,也是分别调用相应的功能函数。具体细节在后面每个模块的软件设计分析中详细介绍。 主程序设计主控制器的主程序设计完成以下功能:监视键盘,驱动LCD液晶的显示,发送频率值数据到波形发生模块,发送幅值数据到幅值修改模块。本系统的主流程图如图3.1所示。在图3.1中,

24、初始化模块完成对中断控制寄存器的设置,LCD1602液晶显器的初始化设置和AD9833模块初始化设置。系统使用了主控制器的定时器T0中断来控制光标的隐藏与显示。图3.1 主控制器主程序流程图 LCD液晶显示驱动程序设计显示模块采用1602液晶显示器,1602液晶显示器控制器内部带有80个字节的缓冲区,控制器设有数据地址指针,为实现显示的内容,我们可以通过数据地址指针来访问全部80个字节的RAM,我们把缓冲分成三个部分,分别用于显示波形类型,显示幅值和当前正在被显示波形的频率。其程序流程图如图3.2所示。NY 图3.2 液晶显示模块主程序流程图3.2 波形产生模块的软件设计本模块设计实现的功能为

25、:接收来自主控制器的频率值数据,模拟DDS原理输出波形。按照系统整体设计要求,本模块软件部分设计实现如下功能:(1)接收来自主控制器的频率值数据;(2)响应来自辅助键盘的波形选择输入;(3)查表输出波形。 波形产生模块主程序设计波形产生模块的主程序完成的操作包括对本模块的单片机进行初始化,接收来自主控制器的频率值数据,并利用接收到的频率值数据完成对波形频率的修改。该主程序的流程图如图3.3所示。在图3.3中,初始化模块完成对中断控制寄存器的设置。系统使用了主控制器的INT0中断来响应操作者的按键输入;使用了定时器T0控制相邻两次查表操作之间的时间间隔。图3.3 波形产生模块主程序流程图因此在初

26、始化模块中,需要完成如下功能: (1)开CPU中断; (2)开INT0中断; (3)设置触发方式为负边沿触发;(4)开定时器T0中断;本系统使用定时器T0控制相邻两次查表操作之间的时间间隔,因此,定时器的定时初值与输出波形的频率是一一对应的。能否精确地调节输出波形的频率,关键就在于能否精确地设定定时器的定时初值。本系统设置定时器工作于方式1下。在本方式下,该计数器由高8位TH0和低8位TL0组成。定时器是按16位加1计数器工作的,计满为0时自动向CPU发出溢出中断请求,若要求它再次计数,则CPU必须在其中断服务程序中为它重装初值。假设定时时间为tms,本系统设计输出波形的采样点数为32个,那么,输出波形的频率就可以表示为:f=1000/(32*t)。因此,要通过频率值得到定时器的定时初值,需要经过若干乘、除运算。对于单片机来说,它内部的资源有限,在其内部做乘

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1