您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页微机实验8_ AD转换实验

微机实验8_ AD转换实验

来源:华佗小知识


实验8 A/D转换实验

一、实验目的

了解模/数转换基本原理,掌握ADC0809的使用方法。 二、实验内容

利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。 三、实验接线图

图6-1

四、编程指南

⑴ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:

MOV DX,ADPORT ; ADC0809端口地址 OUT DX,AL ; 发CS和WR信号并送通道地址

1

⑵用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。 MOV DX,ADPORT IN AL,DX

; ADC0809端口地址

⑶循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。 五、实验程序框图

六、实验步骤

①将0809 CS4插孔连到译码输出FF80H插孔、连JX6→JX17。 ②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。

③运行实验程序

如在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击H0809.ASM文件,单击“确定”即可装入A/D转换实验源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“R运行”或工具图标运行,即开始运行程序。如果在没有PC机的情况下,则在8086K系统显示监控提示符“P.”时,用户段地址固定为0000(省略输入),按SCAL键,输入起始偏移地址1000,按EXEC键,在系统上显示“0809 XX”。“XX”表示输入模拟量转换后的数字量。

④调节电位器Wl, 显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为: 0V→00H

+2.5V→80H +5V→FFH

2

⑤按RST键退出。

以上两种方式运行结果完全一致,因此,在下面的实验中,不管按何种方式均能运行实验程序。 六、程序

CODE SEGMENT ASSUME CS:CODE

ORG 2DF0H

START:

JMP START0

PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB 0AH,0DH,0CH,17H,?,? data1: db

0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db

86h,8eh,0ffh,0ch,h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0:

MOV DX,0FF80H MOV AL,0 OUT DX,AL

CALL DISP

MOV DX, 0FF80H IN AL,DX CALL ZH MOV BUF+4,AH MOV BUF+5,AL

CALL DISP

JMP START0

DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL

MOV CL,0DFH

;显示子程

序 ,5ms

MOV BX,OFFSET BUF

DIS1:

MOV AL,[BX]

MOV AH,00H PUSH BX

MOV BX,OFFSET DATA1

ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL

PUSH CX

DIS2:

MOV CX,00A0H

LOOP $ POP CX CMP CL,0FEH

;01H

JZ LX1

MOV AL,0FFH MOV DX,PA OUT DX,AL INC BX

ROR CL,1

JMP DIS1

LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL

RET

BUF1: MOV BH,AH

CALL ZH

MOV BUF+5,AL MOV BUF+4,AH MOV AL,BH

CALL ZH

MOV BUF,AH MOV BUF+1,AL MOV BUF+2,17H MOV BUF+3,17H

RET

3

;00H

;SHR CL,1

;-------------------------------------------------------- ZH:

MOV BL,AL

AND AL,0FH RET

MOV CL,4 ROL AL,CL AND AL,0FH MOV AH,AL MOV AL,BL

;-------------------------------------------------------

CODE ENDS

END START

七、思考题

1 试编程实现在数码管上直接显示所测电压的数值,显示方式为?.??。(电压显示范围为0.00~5.00)

2 综合实验7的内容,编程实现当数字量为80H~A0H之间时,直流电机转动,否则直流电机停止。

思考题程序:

CODE SEGMENT

ASSUME CS:CODE ORG 2DF0H

JMP START0

;字位口 ;字形口 ;键入口

CALL DISP call delay inc bl cmp bl,0 jnz lop1

START:

PA EQU 0FF20H PB EQU 0FF21H PC EQU 0FF22H BUF DB 0AH,0DH,0CH,17H,?,? data1: db

mov bl,0ffh lop2: mov al,bl

mov dx, 0FF90H out dx,al

MOV DX, 0FF80H

JMP START0

delay: push cx l1:

mov cx,50000 loop l1 IN AL,DX CALL ZH MOV BUF+4,AH MOV BUF+5,AL CALL DISP call delay dec bl cmp bl,0ffh jnz lop2

0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

db 86h,8eh,0ffh,0ch,h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0:

mov bl,0 lop1: mov al,bl

mov dx,0FF90H out dx,al

CALL DISP MOV DX, 0FF80H

IN AL,DX CALL ZH MOV BUF+4,AH MOV BUF+5,AL

4

pop cx ret

MOV BUF+1,AL MOV BUF+2,17H MOV BUF+3,17H

RET

DISP: MOV AL,0FFH ;00H

MOV DX,PA OUT DX,AL

MOV CL,0DFH ;显示子程

;-------------------------------------------------------- ZH:

MOV BL,AL

序 ,5ms

MOV BX,OFFSET BUF

DIS1:

MOV AL,[BX]

MOV AH,00H PUSH BX

MOV BX,OFFSET DATA1

ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL

PUSH CX

DIS2:

MOV CX,00A0H

LOOP $ POP CX CMP CL,0FEH

;01H

JZ LX1

MOV AL,0FFH MOV DX,PA OUT DX,AL INC BX

ROR CL,1

JMP DIS1

LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL

RET

BUF1:

MOV BH,AH

CALL ZH

MOV BUF+5,AL MOV BUF+4,AH MOV AL,BH

CALL ZH

MOV BUF,AH

;00H

;SHR CL,1

MOV CL,4 ROL AL,CL AND AL,0FH MOV AH,AL MOV AL,BL AND AL,0FH RET

;-------------------------------------------------------

CODE ENDS

END START

5

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务