DAC0832数模转换实验.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DAC0832数模转换实验 一、实验目的 掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法 掌握D/A转换程序的编程方法和调试方法 二、实验说明 DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,DAC0832各引脚功能说明: DI0~DI7:转换数据输入端。 CS:片选信号输入端,低电平有效。 ILE:数据锁存允许信号输入端,高电平有效。 WR1:第一写信号输入端,低电平有效, Xfer:数据传送控制信号输入端,低电平有效。 WR2:第二写信号输入端,低电平有效。 Iout1:电流输出1端,当数据全为1时,输出电流最大;当数据全为0时,输出电流最小。 Iout2:电流输出2端。DAC0832具有:Iout1+Iout2=常数的特性。 Rfb:反馈电阻端。 Vref:基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:-10V~+10V。 VCC和GND:芯片的电源端和地端。 DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:直通方式、单缓冲方式、双缓冲方式。 直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。 单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将WR2和Xfer相连在接到地上,并把WR1接到80C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。 双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模拟量要求同时输出的情况下。 三种工作方式区别是:直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲方式二次选通。 三、实验步骤 1、用8P数据线连接单片机最小应用系统1模块的 P0口到D/A转换模块的DI0~DI7口,用二号导线分别连接单片机最小应用系统1模块的P2.0、WR到D/A转换模块的P2.0、WR,连接D/A转换模块的Vref口到-5V口,D/A转换模块的OUT接示波器探头。 2、用串行数据通信线连接计算机与仿真器,把仿真器插到单片机最小应用系统1模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH14_DAC0832.ASM”源程序,进行编译,直到编译无误。 4、打开模块电源和总电源开关,点击开始调试按钮,点击RUN按钮运行程序。 5、实验现象:观察示波器测量输出正弦波的周期和幅度,调节D/A转换模块的电位器可改变正弦波的幅度。 四、实验流程图及源程序 1.流程图 2. 源程序 DAC0832 EQU 0FEFFH ORG 8000H AJMP START ORG 8100H START: MOV SP,#60H MOV R0,#0 ;定义指向正弦DAC数据的指针,因为有361个数据 MOV R1,#0 ;所以用了R0和R1两个寄寸器 LOOP: MOV A,R0 MOV DPTR,#SINE_DATA CJNE R1,#1,LOW_TAB INC DPH ;判断指针的高位字节R1是否为1。如果是则DPH加1 LOW_TAB: MOVC A,@A+DPTR ;取出正弦波DAC的数据 MOV DPTR,#DAC0832 MOVX @DPTR,A ;启动D/A转换 INC R0 ;指针底八位加1处理 CJNE R1,#1,INC_LOW CJNE R0,#105,INC_OK MOV R0,#0 ;如果已经取完数据并输出,则重新设置指针 MOV R1,#0 SJMP INC_OK INC_LOW: CJNE R0,#0,INC_OK ;判断是否要进位 MOV R1,#1 INC_OK: ACALL DELAY AJMP LOOP ;********************************************** ;通过设置延时时间的长短来改变锯齿波的周期 ;************

文档评论(0)

laoshang_m + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档