📄 aexp11.asm
字号:
;*------------------------------------------------------*
;* Aexp11.asm A/D转换-数据采集实验 *
;* A/D转换数据采集程序source file *
;* 运行步骤:1.在平台板的8位AD通道选择开关上 选定通道号 *
;* 2.程序运行后,转动电位器,观测数据的变化 *
;* Copyright (c) 2002 by HUST *
;*------------------------------------------------------*
sseg segment para stack 'stack'
dw 200 dup (?)
sseg ends
dseg segment para public 'data'
input_message db 'Please input number of A/D channel'
db 0dh,0ah,'$'
error_message db 'input incorrect A/D channel!',0dh,0ah
db 'please input number of A/D channel again:'
db '$'
message db 'If you want to quit A/D convert,please press ''ESC'''
db 0dh,0ah,'$'
temp db (?)
dseg ends
cseg segment para public 'code'
assume ss:sseg,cs:cseg,ds:dseg
a_dpo proc far
start: mov ax,sseg
mov ss,ax
mov ax,dseg
mov ds,ax
mov ah,9 ;显示提示信息
mov dx,seg message
mov ds,dx
mov dx,offset message
int 21h
mov ah,9 ;提示输入通道号
mov dx,seg input_message
mov ds,dx
mov dx, offset input_message
int 21h
input: mov ah,8 ;检查输入通道号是否有错
int 21h
cmp al,'0'
jb error
cmp al,'7'
ja error
sub al,30h
mov temp,al ;若无错,则保存通道号
jmp begin
error: mov ah,9 ;显示出错信息
mov dx,seg error_message
mov ds,dx
mov dx, offset error_message
int 21h
jmp input
begin: mov dx,30eh ;送通道号
mov al,temp
out dx,al
mov cx,0f00h
lop: loop lop
mov dx,30ch ;启动A/D转换
mov al,00
out dx,al
mov cx,0f00h ;delay
lop1: loop lop1
mov ah,0bh ;检测是否有ESC键按下
int 21h
inc al
jnz wait1 ;若无键按下,则查转换结束
mov ah,8 ;若有ESC键按下,则程序退出
int 21h
cmp al,1bh
jz quit
wait1: mov dx,30ch ;查转换结束EOC(EOC=D7)
in al,dx
and al,80h
jz wait1 ;若未结束(D7=0),则等待
read: mov dx,30eh ;若已结束,则读数据
in al,dx
push ax ;存数据
show: and al,0f0h ;显示高4位
shr al,4
cmp al,9
ja hex
add al,30h
jmp next
hex: add al,37h
next: mov dl,al
mov ah,2
int 21H
pop ax
and al,0fh ;显示低4位
cmp al,9
ja hex1
add al,30h
jmp next1
hex1: add al,37h
next1: mov dl,al
mov ah,2
int 21h
mov dl,13 ;向屏幕送回车符
mov ah,2
int 21h
mov dl,10 ;向屏幕送换行符
mov ah,2
int 21h
jmp begin ;继续采集
quit: mov ax,4c00h ;程序退出
int 21h
a_dpo endp
cseg ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -