dac0832函数信号发生器.doc_第1页
dac0832函数信号发生器.doc_第2页
dac0832函数信号发生器.doc_第3页
dac0832函数信号发生器.doc_第4页
dac0832函数信号发生器.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

智能仪器课程设计设计题目:函数信号发生器设计学生姓名:赵鑫、罗承波、江再农学院名称:机械工程学院班级:测控技术与仪器062班学号:200646000227、20064600222、20064600215指导教师:袁锋伟、王玉林、蒋彦2009年6月0设计任务:设计一个函数信号发生器,具体指标如下: 1 采用AT89S51及DAC0832设计函数信号发生器;2 输出函数信号为正弦波或三角波或阶梯波;3 输出信号频率为100Hz,幅度0-10V可调;4 必须具有信号输出及外接电源、公共地线接口低频函数信号发生器的设计摘要:信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。课程设计需要各个波形的基本输出,这些波形的实现的具体步骤:正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似!该设计使用的是AT89S51单片机构成的发生器,可产生三角波、方波、正弦波等多种波形,波形的频率可用程序控制改变。在单片机上加外围器件独立式开关,通过开关控制波形的选择。在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。关键词:信号发生器;单片机;波形调整The design of low- frequency function signal-generator Abstract :Signal generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching. Currently used by most of the signal generator is composed of discrete components use bulky, poor reliability, low accuracy. Curriculum design of the basic needs of all the output waveform, the waveform of the specific steps to achieve: the realization of sine wave is very troublesome. It is through the implementation of the definition of some data, and then direct the output when the definition of the implementation of the data on it. The triangle wave, then add 1 each time, when the initial value to reach every tired by 1, calculate the delay time, they meet the requirement, the ladder-wave and triangular wave similar! The design is composed of single-chip AT89S51 generator can produce the triangular wave, square wave, sine wave, etc., waveform control can be used to change the frequency. Increase in single-chip peripheral devices on stand-alone switch, switch control through the choice of waveform. Output ports in the MCU access to DA converter DAC0832, and then through the operational amplifier to adjust the waveform, then the final output waveform in the oscilloscope display.Key words: signal generator;single-chip microcomputer;wave-form adjustment目 录1、设计概述 1.1、设计任务-1 1.2、设计思想-12、硬件资料 2.1、芯片资料 -23、软件系统设计3.1、正弦波设计流程图-43.2、三角波设计流程图-53.3、阶梯波设计流程图-74、系统的组装与调试4.1、protel原理图- -84.2、protues原理图- -85、函数发生器程序-96、操作说明-117、总结及心得体会-128、问题解答-12参考文献-12函数信号发生器设计1、设计概述1.1、设计任务:设计一个函数信号发生器,具体指标如下: 1 采用AT89S51及DAC0832设计函数信号发生器;2 输出函数信号为正弦波或三角波或阶梯波;3 输出信号频率为100Hz,幅度0-10V可调;4 必须具有信号输出及外接电源、公共地线接口1.2、主要设计思想从此题的要求我的设计思路分以下几步:(一)、课设需要各个波形的基本输出。如输出三角波、梯形波、正弦波。这些波形的实现的具体步骤:正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。然而为了实现100HZ的频率,终于发现,将总时间除了总步数,根据每步执行时间,算出延时时间,最终达到要求,然后建一个表通过查表来进行输出,这样主要工作任务就落到了建表的过程中。这样做的好处在于,查表所耗费的时钟周期相同,这样输出的点与点之间的距离就相等了,输出的波形行将更趋于完美,当然更让我们感到的高兴的是它输出波形的频率将近达到了100赫兹,能够满足我们设计的扩展要求了。而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似。(二)、这次做的三种波形可以相互转换,这个实现起来找了很多人最终发现,在每次循环之初进行扫描,而在每个中断入口处,对中断优先级进行设定,最终达到设计目的。如下图所示正弦波函数信号发生器三角波100HZ阶梯波100HZ中断1中断0扫描中断返回中断返回图1.12、硬件资料21、芯片功能介绍 (1)、DAC0832芯片介绍: DAC0832为一个8位D/A转换器,单电源供电,在+5+15V范围内均可正常工作。基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。DAC0832的内部结构框图如下图所示。DAC0832的外部引脚及功能介绍图如下: (2)、DAC0832的应用:DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。 (3)、DAC0832与8031的连接方式: DAC0832的与单片机的连接方式有三种方式:一、单缓冲二、双缓冲、三是直通方式。本程序采用的是方式一即单缓冲方式,ILE为高电平,CS、WR1、WR2、XFER为低电平。 .I/O口引脚: P0、P1、P2、P3为4个8位I/O口的外部引脚.RST/VPD(9脚)RST:单片刚接上电源时,其内部各寄存器处于随机状态,在此脚输入24个时钟周期宽度以上的高电平将使单片机复位。单片机正常工作时,此脚应为0.5V低电平。VPD:备用电源输入端。当Vcc下降到低于规定的值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源以保持内部RAM的数据。 ALE/PROG(30引脚)ALE引脚输出为地址锁存允许信号,当单片机上电工作 后,ALE引脚不断输出正脉冲信号. 当访问片外存储器时,ALE(地址锁存允许信号)输出脉冲的负跳沿用于16位地址的低8位锁存信号。不访问片外存储器,ALE端以时钟振荡器频率的1/6固定输出正脉冲。在访问外部数据存储器时(执行MOVX指令),ALE会丢失一个ALE脉冲。MCS-51单片机的片外总线结构MCS-51系列单片机片外引脚可以构成如上图所示的三总线结构:地址总线(AB) 数据总线(DB) 控制总线(CB)8031各个口的功能定义3、软件系统设计3.1、正弦波设计流程图及思想 正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出,不过这些值直接去网上下载下来使用就可以了。输出的数据刚好是256个数据,这样则可以直接相加就行了。开 始MOV R3,#00HMOV A,#R3MOV DPTR,#SETTABMOVC A,A+DPTRMOV DPTR,#2FFFHHMOVX DPTR,AINC R3延时23us 3.2、三角波的实现过程三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。此程序输入的VREF的电压是5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1,这样输出的波形是最大的。题目要求输出频率100HZ,算出程序每步应该延续多少微秒,5ms/256即为循环一次所需时间 给A设置初值MOV DPTR,#2FFFHMOVX DPTR,AINC A,延时9us判断A是否已满?否DEC A判断是否等于初值?是中断1判断P3.2是否为0是否,阶梯波MOVX DPTR,A延时9us否中断返回 3.3、阶梯波的实现过程及实验仿真波形图阶梯波的实现是设置一个初值00H,然后进行加数16,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,在每个加数与减数时延时,达到频率100HZ的要求。这个操作跟三角波的实现是相似的。为了实现阶梯波,编程的时间最多,每次总是出现锯齿状的阶梯波,其中还曾经用过定时控制,可是只能实现一个延时,其余的都没戏,最终发现只有设初值为0时,每次累加32,当达到初值时递减,其仿真图形如下3.4、三角波仿真波形图如下:3.5、正弦波仿真波形图如下:给A设置初值,修改中断优先级MOV DPTR,#2FFFHMOVX DPTR,AADD A,#32 累加 延时判断A是否已满?否SUBB A,#32判断是否等于初值?是中断2判断P3.2是否为1是,正弦波否MOVX DPTR,A延时否中断返回4、系统的组装与调试4.1、实验protues仿真图中断0为阶梯波,中断1为三角波,默认状态为正弦波!即当两个开关都断开时为正弦波,P3.2开关闭合时为阶梯波,P3.3口开关闭合时为三角波,但当P3.2和P3.3都闭合时,则按照中断优先级确定。4.2、函数信号发生器ptotel电路图5、函数发生器程序ORG 0000HAJMP MAINORG 0003HAJMP JIETIORG 0013HAJMP SANJIAOORG 0030HMAIN: SETB EX0SETB EX1CLR IT0CLR IT1SETB EALCALL ZHENGXUANSJMP MAIN;三角波SANJIAO:MOV DPTR,#2FFFH ; 选中DA0832MOV A,#00HJNB P3.2,JIETIUP1:MOVX DPTR,A ; 向0832输出数据INC ALCALL DELAY3JNZ UP1DOWN1:DEC A ; A=!0 跳转反之顺序执MOVX DPTR,ALCALL DELAY3NOPJNZ DOWN1RETIJIETI:MOV A,#00HMOV IP,#04HMOV DPTR,#2FFFHLOOP6: JB P3.2,ZHENGXUANMOVX DPTR,ALCALL DELAYCLR CADD A,#32JNZ LOOP6DOWN4:NOPNOPCLR CSUBB A,#32MOVX DPTR,ALCALL DELAYJNZ DOWN4AJMP LOOP6RETI;正弦波ZHENGXUAN: MOV R3,#00H ;取表格初值LOOP1: ;在表格里取数送到指定地址MOV A,R3MOV DPTR,#SETTABMOVC A,A+DPTRJNB P3.2,JIETIJNB P3.3,SANJIAOMOVX DPTR,AINC R3LCALL DELAY1 ;表格加一AJMP LOOP1 ;循环SETTAB: ;正弦表格DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99HDB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80HDB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69HDB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51HDB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AHDB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27HDB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16HDB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AHDB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02HDB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02HDB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09HDB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15HDB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25HDB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38HDB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EHDB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66HDB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HRETDELAY1:MOV R5,#11DJNZ R5,$RETDELAY:MOV R7,#50MOV R6,#02DS2:DJNZ R7,DS2DJNZ R6,DS2RETDELAY3:MOV R4,#04HDJNZ R4,$NOPRETEND6、操作说明6.1接线:从左至右(从靠边开始)依次接线(+5V、OUT、-12V、+12V、GND)6.2选择波形:当两个开关皆靠近单片机

温馨提示

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

最新文档

评论

0/150

提交评论