分享函数发生器课程设计_第1页
分享函数发生器课程设计_第2页
分享函数发生器课程设计_第3页
分享函数发生器课程设计_第4页
分享函数发生器课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、一、设计目的掌握8位D/A转换器DAC0832与8086的接口技术及编程方法。二、设计要求1以8086为CPU。利用D|A转换器,编程产生锯齿波,正弦波,三角波,方波信号。输出上述四种波形。2按“1”键输出方波,按“2”键输出正弦波,按“3”键输出三角波,按“4”键输出锯齿波,按“5”键输出退出。3频率、幅度自行设定。用8086与DAC0832 构成的波形发生器,可产生方波、三角波、锯齿波、正弦波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。三、 背景知识8位D/A转换器DAC0832简介:DAC0832是8位分辨率的D/A

2、转换集成芯片,与微处理器完全兼容,这个系列的芯片 以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。1、DAC0832的引脚及功能:DAC0832芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,其主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程和下调整其线性度;单一电源供电(5V15V);低功耗,200mW。为便于DAC0832的使用,特将其应用特性总结如下:DAC0832是微处理器兼容型D/A转换器

3、,可以充分利用微处理器的控制能力实现对D/A转换的控制。这种芯片有许多控制引脚,可以和微处理器控制线相连,接受微处理器的控制,如ILE、/CS、/WR1、/WR2、/XFER端。有两级锁存控制功能,能够实现多通道D/A的同步转换输出。DAC0832内部无参考电压源;须外接参考电压源。DAC0832为电流输入型D/A转换器,要获得模拟电压输出时,需要外加转换电路。DAC0832的引脚图及逻辑结构如下图: 图 1.1 DAC0832结构框图及引脚排列DAC0832各引脚的功能如下:DI0DI7: 数据输入线。ILE : 数据允许锁存信号,高电平有效;/CS: 输入寄存器选择信号,低电平有效。/WR

4、1为输入寄存器的写选通信号。输入寄存器的锁存信号/LE1由ILE 、/CS、/WR1的逻辑组合产生。当ILE 为高电平、/CS为低电平、/WR1输入负脉冲时,在/LE1产生正脉冲;/LE1为高电平,输入锁存器的状态随数据输入线的状态变化,/LE1的负跳变将数据线上的信息锁入输入寄存器。/XFER: 数据传送信号,低电平有效。/WR2为DAC寄存器的写选通信号。DAC寄存器的锁存信号/LE2,由/XEFR、/WR2的逻辑组合产生。当/XFER为低电平,/WR2输入负脉冲,则在/LE2产生正脉冲;/LE2为高电平是时,DAC寄存器的输出和输入寄存器的状态一致,/LE2负跳变,输入寄存器的内容打入D

5、AC寄存器。VREF : 基准电源输入引脚 。Rfb : 反馈信号输入引脚,反馈电阻在芯片内部。IOUT1、IOUT2 : 电流输出引脚。电流IOUT1、IOUT2 的和为常数,IOUT1、IOUT2 随DAC寄存器的内容线性变化。VCC: 电源输入引脚。AGND: 模拟信号地DGND: 数字地。2、DAC0832三种数据输入方式: (1)双缓冲方式:即数据经过双重缓冲后再送入DA转换电路,执行两次写操作才能完成一次DA转换。这种方式可在DA转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系

6、统,每片对应一个模拟量。 (2)单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入DA转换电路。这种方式只需执行一次写操作,即可完成DA转换。 (3)直通方式:此时两个寄存器均处于直通状态,因此要将、和端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入DA转换电路进行DA转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。四、硬件原理波形的产生是通过AT89S52执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换

7、电路的输出端得到相应的电压波形。波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。AT89S52组成单片机的最小系统有三种联接方式。一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送D/A转换电路。第二种是单级缓冲器型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。第三种是两个缓冲器直通,输入数据直接送D/A转换电路进行转换。本电路直通联接方式,即WR1、WR2、CS和XFER接地,ILE和VCC接+5V电源,8751的数据输出线直接与DAC0832的数字输入端相连。D/A转换电路可采用单极性输出,也可采用双极性输出

8、。本线路采用双极性输出,即经过两个运算放大器NE4558后输出电压UOUT。在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。输入数字量与输出电压的关系如表所示。表一:输入数字量与输出电压的关系输入码模拟输出电压UOUTMSBLSB +Vref11111111Vref-1LSB11000000 Vref/210000000 001111111 -1LSB00111111-Vref/2-1LSB00000000-Vref 从表中可看出,当输入数字量D=00H时,输出电压UOUT=-VREF;当D=80H时,UOUT

9、=0;当D=FFH时,。可见波形的最大幅值由D/A的参考电压VREF决定。8751的P1口接一转换开关K,通过软件编程来选择各种波形,其中电阻R1R8的作用是保证转换开关的各浮空节点为“0”。P3口用来驱动一组发光二极管,每种波形对应一个发光二极管作为波形的指示器。图1.2 核心部分硬件电路图下图为8255A接线图:图1.3 8255A的接线图PC7到PC0分别接开关K7到K0,其中K7到K4也就是对应AL的高半字节,每个开关对应一个波形切换,K7为三角波切换开关,K6为锯齿波切换开关,K5为正弦波切换开关,K4为方波切换开关,当对应的开关为高电平时,切换到相应的波形。K3到K0为频率调节开关

10、,对应到AL寄存器的低半字节,可以调16倍频。五、软件实现系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。周期的改变可采用插入延时子程序的方法来实现。主程序和几种常用波形子程序的流程图如图所示。 图 3 锯齿波发生子程序流程图 图 4 三角波发生子程序流程图 图 5 方波发生子程序流程图 图 6 正弦波发生子程序流程图设波形选择开关状态为:SW4按“1”键输出方波;按“2”键输出正弦波;按“3”键输出三角波;按“4”键输出锯齿波;按“5”键退出1、主程序:ORG 0000HAJMP Start;转主程序ORG 0003HAJMP Beg

11、in;转INT0中断服务程序ORG 0013HAJMP Xuanze;转INT1中断服务程序Start: MOV A ,#00H MOV R0, #00H MOV R7, #00H SETB EA ;开CPU中断 SETB EX0 ;开INT0中断 CLR IT0 ;令INT0为电平触发 SETB EX1 ;开INT1中断 SETB PX1 ;令INT1为高优先级 CLR IT1 ;令INT1为电平触发 SJMP $ ;等待中断Xuanze:INC R7 CJNE R7,#06H,ABC RETIABC: MOV R7 ,#01H RETBegin:MOV DPTR ,#0BFFFH ;825

12、5控制口地址为0BFFFHMOV A,#80HMOV DPTR,A ;设置8255PA,PB,PC都为输出口INC R0MOV A , R0MOV B , #100DIV ABLJMP BIAOMOV DPTR, #0BEFFH ;指向8255PC地址MOVX DPTR,A ;百位数显示MOV A ,BMOV B ,#10DIV ABLJMP BIAOMOV DPTR, #0BDFFH ;8255PB地址MOVX DPTR,A ;十位数显示MOV A , BLJMP BIAOMOV DPTR, #0BCFFH ;8255PA地址MOVX DPTR,A ;个位数显示MOV A ,R7 ;读波形选

13、择状态CJNE A ,#01H ,Sanjo ;R7=1调方波子程序:SQUN LCALL SQUW ;调生成方波子程序:SQUNZhexi:CJNE A ,#04H ,Tixing ;R7=2调正弦波子程序:SINELCALL SINE ;调生成正弦波子程序:SINESanjo:CJNE A ,#02H ,Juchi ;R7=3调三角波子程序:TRIANLCALL TRIAN ;调生成三角波子程序:TRIANJuchi:CJNE A ,#03H ,Zhexi ;R7=4调锯齿波子程序:SANTOOLCALL SANTOO ;调生成锯齿波子程序:SANTOBack :RETIBIAO:INC

14、A MOVC A,A+PC RET DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH ;6,7,8,9;2、输出方波子程序:SQUNSQUN:MOV DPTR,#7FFFH ;DAC0832寄存器地址MOV A ,#0FFH MOVX DPTR,A ;输出一个幅度的方波 LCALL Delay ;调125ms延时子程序:DelayMOV A ,#00HMOVX DPTR,A ;输出另一个幅度的方波LCALL Delay ;调125ms延时子程序:DelayRET ;返回125ms延时子程序(单片机晶振12MHZ)Delay:

15、MOV R2, #0F5HDely1: MOV R1, #0FFHDely2: DJNZ R1, Dely2 DJNZ R2, Dely1 RET;3、输出正弦波子程序:SINESINE: MOV DPTR1,#sinTab MOV DPTR,#7FFFH LOOP: CLR A MOVC A,A+DPTR1 CJNE A,#129,LOOP1 RETLOOP1: MOVX DPTR,A INC DPTR1 AJMP LOOP;4、输出三角波子程序:TRIANTRIAN :MOV A ,#00H MOV DPTR,#7FFFHUP: MOVX DPTR,AINC A JNZ UPDOWN: D

16、EC AMOVX DPTR,AJNZ DOWN RET;5、输出锯齿波子程序:SANTOOSANTOO: MOV A ,#00H MOV DPTR,#7FFFHLLOOP: MOVX DPTR,A INC A ; CJNE A,FFH,LLOOP RETCMP AL,5 JZ QUIT1 ;是5则退出 sinTab:DB 128,132,137,141,146,150,154,159,163,167 DB 171,176,180,184,188,191,195,199,203,206 DB 210,213,216,219,222,225,228,231,233,236 DB 238,240,2

17、42,244,246,247,249,250,251,252 DB 253,254,254,255,255,255,255,255,254,254 DB 253,252,251,250,249,247,246,244,242,240 DB 238,236,233,231,228,225,222,219,216,213 DB 210,206,203,198,195,192,188,184,180,176 DB 172,167,163,159,155,150,146,141,137,133 DB 128,124,119,115,111,106,102,97,93,89,85 DB 81,77,73,69,65,61,57,54,50,47,43,40,37 DB 34,31,28,25,23,20,18,16,14,12,10,9,7 DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6 DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36 DB 40,43,46,50,53,57,60,64,68,72,76,80,84 DB 88,93,97,101,106,110,114,119,123,128,12RET START ENDP CODE ENDS END START六、心得体会在本次课程设计中,无论是在程序设

温馨提示

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

评论

0/150

提交评论