《微机原理及应用》实验教程
L2: INT 21H
MOV AH, 0BH INT 21H AND AL, AL JZ LOOP1
MOV AH, 4CH INT 21H
CODE ENDS
END START
问题:
(1)在理想的情况下,模数转换是否存在误差?该误差最大为多少? (2)如果模拟量从IN5端输入,程序应怎样修改? 操作步骤:
(1)画出程序流程图,并按图连线。 (2)输入程序并检查错误,运行程序。
(3)调节电位器,显示输出。
(4)用万用表测出输出电压,并记录显示的相应数据。作出转换图,VD-VA
五、实验报告要求
● 绘制电路原理图
六、思考题
● 若改用EOC信号来申请中断读A/D值,程序如何设计?
8.2 实验2 ADC0809应用——数字录音 一、实验目的
● 掌握ADC0809实际应用方法及程序编写
二、实验仪器、设备及材料
● PC机及配套的微机接口实验装置 ● IC芯片:ADC0809,DAC0832
三、实验内容
● 插接电路
● 编写程序,使用ADC0809进行数字录音 ● 编写程序,使用DAC0832进行语音回放
四、实验步骤
(1)利用实验装置提供的话筒及前置放大电路提供的语音信号,采用ADC0809进行模数转换并将数据加以存储;
(2)采用ADC0809将存储的数据进行数模转换,得到模拟信号经功率放大后进行语音回放。功率放大电路和扬声器均由实验装置提供;
(3)录音程序采用定时中断方式,每100us进行一次采样并启动模数转换,采样频率为10K SPS,录音数据长度为64K字节,录音时间为6.4秒;
(4)放音程序同样采用定时中断方式,每100us输出一个数据进行数模转换,自动循环重放; (5)定时中断利用8253通道2向系统IRQ7申请,插接有关电路:
47
《微机原理及应用》实验教程
● 8253引脚CS连接地址译码器输出Y0; ● 8253引脚GATE2连接高电平;
● 8253引脚CLK2连接实验装置提供的1MHz时钟源; ● 8253引脚OUT2连接ISA总线IRQ7; ● ADC0809选通信号连接地址译码器输出Y1; ● ADC0809输入IN0连接话筒前置放大器输出; ● DAC0832选通信号连接地址译码器输出Y2; ● DAC0832后运放输出OUT连接功放输入端。 (6)参考程序如下: 录音程序:
CODE SEGMENT
ASSUME CS: CODE START: PUSH CS
POP DS
MOV AX, 250FH LEA DX, INT_1 INT 21H
MOV AX, 6000H MOV DS, AX MOV SI, 0 MOV AL, 94H OUT 303H, AL MOV AL, 64H OUT 302H, AL INT AL, 21H AND AL, 7FH OUT 21H, AL XOR AL, AL MOV DX, 308H
OUT AX, AL
L1: CMP AI, 0
JZ L1 L2: CMP SI, 0
JNZ L2
IN AL, 21H OR AL, 80H OUT 21H, AL MOV AH, 4CH INT 21H
CODE ENDS
INT_1: IN AL, DX
MOV [SI], AL INC SI MOV AL, 20H OUT 20H, AL
48