多功能信号发生器课程设计报告.doc
《多功能信号发生器课程设计报告.doc》由会员分享,可在线阅读,更多相关《多功能信号发生器课程设计报告.doc(35页珍藏版)》请在三一办公上搜索。
1、 单片机应用与仿真训练设计报告多功能信号发生器设计 摘要本设计采用基于AT89S52的单片机最小系统为核心,成功产生出幅值和频率都可调的正弦波、梯形波、方波、三角波等波形。频率范围是0-2000Hz,幅值调节范围-10V到+10V。本系统主要由四大模块组成:液晶显示模块、波形发生模块及稳幅输出模块,幅频调节模块、及外部电源模块。各个模块的实现方法如下:一、液晶显示模块:本系统采用应用较广泛的1602液晶作为显示模块。其显示与控制机理是单片机通过与液晶按照一定的规定相连接,然后再程序中在对液晶进行初始化后,就可以向其写字符或读字符。二、波形发生模块及稳幅输出模块:产生指定波形可以通过DAC芯片来
2、实现,不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。本系统采用的是经典的DAC0832 8位数/模转换器。稳幅输出则通过两个LM324集成运放来实现对DAC0832输出电流信号到电压信号的转变。三、幅频调节模块:通过按键与两个门电路74ls00和74ls04的组合来实现通过产生中断来实现对波形的选择和频率的调节。而幅值调节通过一个10K的电位器来实现参考电压Vref的改变来改变幅值。四、外部电源模块:变压器将220V交流电降成16V交流后在通过整流桥经过7812和7912滤波后即产生正负12V直流电用作LM324的电源。本系统软件主要通过C语言开发,硬件电路设计具有典型性。同时
3、,本系统中任何一部分电路模块均可移植于其它实用开发系统的设计中,电路设计实用性很强。 目录1、概述41.1 信号发生器现状41.2 单片机在波形发生器中的应用42、系统总体方案及硬件设计52.1 系统分析52.2 总体方案设计62.2.1系统总体结构框图设计62.3 总体硬件设计62.4系统各模块设计72.4.1 资源分配72.4.2显示器接口设计72.4.3 复位与时钟电路设计82.4.4 按键中断电路设计102.4.5 D/A转换电路设计103、软件设计153.1软件总体设计153.2 软件功能设计163.2.1系统初始化程序设计163.2.2 按键检测及中断处理程序163.2.3 液晶显
4、示程序173.2.4 正弦波发生程序设计193.2.5方波产生程序203.2.6三角波产生程序203.2.7梯形波产生程序214、实验仿真224.1 protues软件仿真步骤224.2 仿真结果234.3仿真结论255、课程设计体会26参考文献27附1:源程序代码28附2:系统原理图351、 概述1.1 信号发生器现状. 目前,市场上的信号发生器多种多样,一般按频带分为超高频、高频、低频、超低频、超高频信号发生器。其中高频、低频和超低频信号发生器,大多使用文氏桥振荡电路,即RC振荡电路,通过改变电容和电阻值,改变频率。用以上原理设计的信号发生器,其输出波形一般只有两种,即正弦波和脉冲波,其零
5、点不可调,而且价格也比较贵,一般在几百元左右。但是在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且低频信号源所需要的RC很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。1.2 单片机在波形发生器中的应用随着电子技术的飞快发展,单片机的应用不断的深入,基于单片机的智能仪器的设计技术不断成熟。单片机构成的仪器具有高可靠性,高性价比,单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并应用到各种家庭电器,单片机技术的广泛应用推动了社会的进步
6、。利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于通过程序控制,只要对电路稍加修改,调整程序,就能实现功能的升级。2、 系统总体方案及硬件设计2.1 系统分析基于单片机的信号发生系统是一个实际应用系统,可为相关实验及实际应用提供支持。本论文包括硬件系统的详细设计及C语言在基本控制中的应用。此系统具有的功能如下:硬件部分(1)1602液晶显示电路;(2)键盘和与非门中断产生电路;(3)时钟电路与复位电路;(4)具有8位精度的D/A转换和波形产生电路;(5)正负12V直流电源转换电路;软件部分(1
7、)系统复位初始化;(2)键盘中断与处理;(3)中断0服务程序;(4)定时器0中断服务程序;(5)正弦波发生程序;(6)三角波发生程序;(7)方波发生程序;(8)梯形波发生程序。2.2 总体方案设计2.2.1系统总体结构框图设计 图2-1 系统主结构框图2.3 总体硬件设计(1)程序存贮器AT89S52内部自带8K的ROM,512B的RAM,所以不需要对其扩展存储器。(2)按键及中断接口系统采用按键通过门电路来产生中断,并在中断服务程序里来扫描按键来实现波形切换和频率的调节。(3)液晶显示本设计实现了89S52的I/O口液晶显示字符的控制来显示当前波形种类和波形频率。(4)D/A转换本设计D/A
8、转换部分采用DAC0808芯片,通过对单片机输出的二进制数字量进行从数字量到模拟量的变换来实现波形的产生。(5)信号变换部分对信号的变换部分采用四运放集成芯片LM324,它采用14脚双列直插塑料封装,它的内部包含四组形式完全相同的运算放大器。(6)外部电源因LM324工作需要正负12V的直流电源,因此需要通过对变压器输出电压进行整流、滤波然后在通过7812和7912输出所需电压。2.4系统各模块设计2.4.1 资源分配为了满足功能和指标要求,现分配资源如下:1.晶振采用12MHZ2.IO端口分配:P0口与DAC0832的DI0-DI7数据输入;P3口的P3.4P3.7分别与四个按键相连,依次控
9、制波形种类的选择、波形频率的增加、波形频率的减小和波形输出的暂停与恢复。中断0即P3.2与门电路的输入端相连。P2.0和P2.1分别与DAC0832的输入寄存器选择信号CS,输入寄存器写选通信号WR1及DAC寄存器写选通WR2和数据传送信号XFER相连。P1口做液晶的D0D7的数据输入端口,P2.2P2.4分别做1602液晶的读写控制端和使能端。2.4.2显示器接口设计 本系统采用1602液晶来显示信号输出的状态,液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。相比较数码管用液晶显示具有以下优点:1.位数多,可显示32位,32个数码管体积
10、则相当庞大2.显示内容丰富,可显示所有数字和大、小写字母,能更好的表示信号显示的状态,而数码管只能显示也一个频率值,不能表示正在输出的信号类别3.程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而1602自动完成此功能。节省了单片机资源。图2.2 系统显示电路2.4.3 复位与时钟电路设计2.4.3.1复位电路设计单片机的复位是靠外电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,通常是RST引脚保持10ms以上的高电平。复位电路连接如图3-2所示。此电路仅用一个电容及一
11、个电阻。系统上电时,在RC电路充电过程中,由于电容两端电压不能跳变,故使RESET端电平呈高电位,系统复位。经过一段时间,电容充电,使RESET端呈低电位,复位结束。AT89S52+5VC1R1 10k 图2-3 复位电路2.4.3.2 时钟电路设计 8XX51系列单片机工作时必须要有个时钟脉冲,有两种方法可以向AT89S51提供时钟脉冲:第一:外部时钟方式。使用外部电路始终给AT89S51提供时钟脉冲如右图图2-4 晶振电路第二:内部时钟方式。使用晶振利用AT89S51内部电路产生时钟脉冲如左图。我们一般使用这种方式。AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1
12、和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,我们推荐使用30pF+/-10pF,而如使用陶瓷谐振器建议选择40pF+/-10PF。2.4.4 按键中断电路设计图2-5按键中断实现工作原理如下:1. 当没有按键按下时,INT0端口保持高电平,中断不触发,当有任何一个按键按下时通过74ls00(双输入与非门)、74
13、ls04(非门)的相互连接,最终实现INT0变成低电平。从而触发中断,进而执行中断服务程序。(注:本来门电路部分通过一个74ls22 这个4输入的与非门就可以实现,但因为我在附近的元器件商店没有买到,只好用74ls00和74ls04代替使电路略显复杂)。2.进入中断服务程序后,系统执行键盘扫描程序,来识别究竟是哪个按键按下。然后根据识别的按键来进入相关的处理函数,例如按下波形选择键触发中断后,在中断服务程序中,系统将波形符号加1,从而改变波形。2.4.5 D/A转换电路设计2.4.5.1 DAC0832基本介绍DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转
14、换。其主要参数如下:1.分辨率为8位2.转换时间为1s3.满量程误差为1LSB4.参考电压为(+10-10)V5.供电电源为(+5+15)V6.逻辑电平输入与TTL兼容2.4.5.2 DAC0832引脚图图2-6 DAC0832引脚图(1)DI7DI0 :8位的数据输入端,DI7为最高位。(2)IOUT1 :模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。(3)IOUT2 :模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1IOUT2常数。(4)RFB :反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RF
15、B端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5)VREF :参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。VREF端与D/A内部T形电阻网络相连。(6)Vcc :芯片供电电压,范围为(+5 15)V。(7)AGND :模拟量地,即模拟电路接地端。(8)DGND :数字量地。2.4.5.3 内部结构框图图2-7 DAC0832内部结构图内部结构框图分析:在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级
16、锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 XFER。当ILE为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。2.4.5.4 DAC
17、0832的工作方式1单缓冲工作方式 此方式是使两个寄存器中任一个处于直通状态,另一个工作于受控锁存器状态或两个寄存器同步受控。一般的做法是将WR1和XFER接数字地,使DAC 寄存器处于直通状态。另外把ILE接高电平,CS接端口地址译码信号,WR1接CPU系统总线的IOW信号,这样便可通过执行一条输出指令,选中该端口,使 CS和 WR1有效,从而启动DA转换。图2-8单缓冲工作单极性方式电路连接双极性模拟输出电压 :图2-9单缓冲工作双极性方式电路连接(2)双缓冲工作方式 双缓冲方式的一大用途是数据接收和启动转换可以异步进行,即在对某数据转换的同时,能进行下一数据的接收,以提高转换速率。这时,
18、可将ILE接高电平,WR1和WR2接CPU的IOW,CS和XFER分别接两个不同的IO地址译码信号。(3)直通工作方式当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。2.4.5.5本系统采用的转换原理图 DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转
19、换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为Vout1=-Vref(数字码/256)图2-10 D/A转换器双极性输出电路图10中,运算放大器U3B的作用是把运算放大器U3A的单向输出电压转换成双向输出电压。D/A转换器的总输出电压为:VOUT2= -(R3/R2) VOUT1+(R3/R1) Vref因为R2=R3=2R R1=R,则 VOUT2= -(2VOUT1+Vref)这样VOUT2的变化范围就是从-
20、VREF到+VREF之间变化。从而实现电压的双极性输出,并且可以通过改变Vref的值变化来实现幅值的改变3、 软件设计3.1软件总体设计应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:(1)根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构清晰、流程合理。(2)要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、链接,又便于移植、修改。(3)建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。(4)为提高软件设计的总体效率,以简明、直观
21、法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。(5)要合理分配系统资源,包括ROM、RAM、定时数器、中断资源等。(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。(7)加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。本系统的软件包括以下几个程序模块:(1)系统复位初始化;(2)键盘中断与处理;(3)中断0服务程序;(4)定时器0中断服务程序;(5)正弦波发生程序;(6)三角波发生程序;(7)方波发生程序;(8)梯形波发生程序。3.2 软件功能设计3.2.1系统初始化程序设计初始化程序完成以下工作:初始化1602液晶使其指针指向第一行第一格;初始化DAC0832使其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 信号发生器 课程设计 报告

链接地址:https://www.31ppt.com/p-4143160.html