D/A数模转换实验——微机原理与接口技术

一、实验目的
通过本实验了解数/模转换的原理,使用典型的数模转换芯片DAC0832,在单缓冲工作方式下,通过编写汇编程序来控制数/模转换。
1.通过硬件连线,将DAC0832与地址编码器相连,确定不同连线方式下对应的DAC0832端口地址;
2.掌握ILE,以及信号对输入寄存器的控制作用,掌握和信号对DAC寄存器的控制作用;
3.方波和正弦波是应用中常见的两种信号源,掌握利用数模转换芯片产生方波及正弦波的方法。通过编写汇编程序在数据段中预存需要输岀的波形数据,按波形要求输出。理解不同的输出电路连接方式下电压输出值(单极性、双极性)与输岀数字量之间的对应关系。
二、实验内容
DAC0832采用单缓冲方式,具有单双极性输入端。编写程序,在数据段中存放好方波和正弦波的数字量(正弦波要求20个值),执行程序将数据段中的数字量送到DAC0832的输出端产生方波和正弦波。
DAC0832对应的端口地址为290H~297H。
三、实验设备
1.计算机( Windows732位操作系统);
2.TPC-ZKⅡ集成开发环境;
3. TPC-ZK-I实验箱。
四、实验原理
1.实验电路连线
在这里插入图片描述
图2.6.1为数模转换实验电路连线图,DAC0832采用单缓冲方式,具有单双极性输
入端(图中的Ua为单极性、Ub为双极性)。片选段连接地址译码器对应290H-297H的输出端,当地址信号为290H-297H时,DAC0832的端被选通,为低电平有效。
2.编程原理
(1)产生方波信号的数字量
要产生方波输出信号,在数据段中存放方波的数字量,要使方波输出在8位DA的数字量范围(0~255)内。取两个点分别作为方波的高电平和低电平输出。若在Ua端产生方波,则高电平取数字量0(0V),低电平取数字量255(-5V);若在Ub端产生方波,则高电平取数字量255(+5V),低电平取数字量0(-5V)。
(2)产生正弦信号的数字量
要产生正弦波的输出信号,需要从一个周期中取多个点输出。下面以20个点为例来说明。
假设
在这里插入图片描述

为了使输出在8位DA的数字量范围(0~255)内,对Y进行放大和上移,设
在这里插入图片描述
列出n从0到19时Y的输出情况(超过FFH,就取255)。

N0123456789
Y128168203232250255250232203168
N10111213141516171819
Y128885324606245388

①把要输出的数据放在数据段中;
②循环输岀数据,以便显示方波或者正弦波;程序中可通过检测键盘按键等方法退出循环结束程序。
五、实验步骤
1.先按实验原理图连线,接着用USB线将实验箱和计算机连接好,最后开启电源,
操作注意事项见7.1和7.2项内容;
2.按实验电路接线后,双击与之连接的PC机上的 TPC-ZKⅡI集成开发环境,编译程序,操作注意事项见7.3项内容;
3.用示波器接输出端查看波形。
六、实验结果与分析
产生方波信号
在这里插入图片描述
在这里插入图片描述
如图所示,示波器中方波的峰峰值大概为5.44V。
2.产生正弦波信号
在这里插入图片描述
在这里插入图片描述
如图所示,示波器中CH1的正弦波的峰峰值也为5.44V,由于CH1测得的是Ua输出口,所以只有5.44,CH2测得的是Ub输出口,实验中测得的峰峰值大概在10V左右,接近11V。
七、实验总结与建议
源代码:

DATAS SEGMENT
    ;TABLE DW 80H,0A8H,0CBH,0E8H,0FAH,0FFH,0FAH,0E8H,0CBH,0A8H,80H,58H,35H,18H,06H,00H,06H,18H,35H,58H
    BUF DB 128,168,203,232,250,255,250,232,203,168,128,88,53,24,6,0,6,24,53,88
    DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AH,01H
    INT 21H  
AGAIN: 
    MOV CX,1000
    CMP AL,'2'
    JAE SIN
L1:    
    MOV DX,290H
    MOV AL,0FFH
    INC DX
    OUT DX,AL
    LOOP L1
    MOV CX,1000
L2:
    MOV DX,290H
    MOV AL,0
    INC DX
    OUT DX,AL
    LOOP L2
    
    MOV AH,06H
    MOV DL,0FFH
    INT 21H
    JZ AGAIN

SIN:
    LEA SI,BUF
    MOV BL,20
Z1: 
    MOV AL,[SI]
    MOV DX,290H
    OUT DX,AL
    INC DX
    OUT DX,AL
    INC SI
    DEC BL 
    JNZ Z1
    LOOP SIN
    
    MOV AH,06H
    MOV DL,0FFH
    INT 21H
    JZ AGAIN

CODES ENDS
    END START
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛汉轻敲乱码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值