AD转换技术(中断方式)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称:微机原理与接口技术

实验名称:8位A/D转换实验(中断方式)

一.实验目的

掌握模/数信号转换的基本原理,掌握ADC0809芯片中断采样编程方法。

二.实验内容

从ADC0809通道0输入+5V可变电压,使用中断方式采集数据,并将转换数据在7段数码管上16进制数显示。

三.实验结果分析

拧电位器后发现数码显示管数字改变,并且两盏灯明亮程度不同。

附上源代码:

.MODEL SMALL

.386

DATA SEGMENT

NUM DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H,

7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H

BUF DB 100 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

IN AL, 21H

AND AL, 11011111B ;开放IRQ5

OUT 21H, AL

CLI

CLD

MOV AX,0

MOV ES,AX

MOV DI,4*35H

MOV AX,OFFSET AD

STOSW

MOV AX,SEG AD

STOSW

MOV AX,DATA ;恢复数据段

MOV DS,AX

MOV DX,200H ;启动转换

MOV AL,00H

OUT DX,AL

BEGIN: STI

HLT ;等待中断

JNZ BEGIN

IN AL,21H ; 关闭MIR5

AND AL,20H

OUT 21H,AL

MOV AH, 4CH

INT 21H

DIS PROC NEAR ;显示程序

MOV CX, 0FFH

NEXT: MOV AL, [DI]

MOV AH, AL

PUSH CX

MOV CL, 4

SHR AL, CL

POP CX

MOV BX, 0

MOV BL, AL

MOV AL, NUM[BX]

MOV DX, 210H

OUT DX, AL

MOV DX, 211H

MOV AL, 00100000B

OUT DX, AL

CALL DELAY

AND AH, 00001111B

MOV BX, 0

MOV BL, AH

MOV AL, NUM[BX]

MOV DX, 210H

OUT DX, AL

MOV DX, 211H

MOV AL, 00010000B

OUT DX, AL

CALL DELAY

LOOP NEXT

RET

DIS ENDP

AD PROC NEAR ;中断程序

PUSH AX ;保存寄存器

PUSH DX

PUSH DI

CLI

MOV DX, 201H ;读取转换结果

IN AL, DX

NOP

MOV DI, POINT

MOV [DI], AL ;保存转换结果

CALL DIS ;调用显示程序

INC DI

MOV POINT, DI

MOV AL, 20H ;中断结束命令

OUT 20H, AL

MOV DX, 200H ;开启转换

MOV AL, 00H

OUT DX, AL

POP DI ;恢复寄存器内容

POP DX

POP AX

STI

IRET ;中断返回

AD ENDP

CODE ENDS

END START

相关文档
最新文档