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.实验电路连线
D/A数模转换实验——微机原理与接口技术_第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)。

N 0 1 2 3 4 5 6 7 8 9
Y 128 168 203 232 250 255 250 232 203 168
N 10 11 12 13 14 15 16 17 18 19
Y 128 88 53 24 6 0 6 24 53 88

①把要输出的数据放在数据段中;
②循环输岀数据,以便显示方波或者正弦波;程序中可通过检测键盘按键等方法退出循环结束程序。
五、实验步骤
1.先按实验原理图连线,接着用USB线将实验箱和计算机连接好,最后开启电源,
操作注意事项见7.1和7.2项内容;
2.按实验电路接线后,双击与之连接的PC机上的 TPC-ZKⅡI集成开发环境,编译程序,操作注意事项见7.3项内容;
3.用示波器接输出端查看波形。
六、实验结果与分析
产生方波信号
D/A数模转换实验——微机原理与接口技术_第2张图片
D/A数模转换实验——微机原理与接口技术_第3张图片
如图所示,示波器中方波的峰峰值大概为5.44V。
2.产生正弦波信号
D/A数模转换实验——微机原理与接口技术_第4张图片
D/A数模转换实验——微机原理与接口技术_第5张图片
如图所示,示波器中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

你可能感兴趣的:(微型计算机原理,数模转换,模数转换,masm,嵌入式)