⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t0809.asm

📁 一些微机接口的例子
💻 ASM
字号:
;T0809.asm
;A/D转换实验

;****************根据查看端口资源修改下列符号值*******************
IOY0         EQU   9C00H          ;片选IOY0对应的端口始地址
;*****************************************************************
AD0809       EQU   IOY0+00H       ;AD0809的端口地址

STACK1 SEGMENT STACK
        DW 256 DUP(?)
STACK1 ENDS

DATA SEGMENT
STR1   DB  'AD0809:IN0  $'        ;定义显示的字符串
DATA ENDS

CODE SEGMENT
	ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA
	   MOV DS,AX

LOOP1: MOV DX,AD0809             ;启动A/D转换
	   OUT DX,AL
	   CALL DALLY

	   MOV DX,OFFSET STR1        ;显示字符串AD0809:IN0
	   MOV AH,9
	   INT 21H

       MOV DX,AD0809             ;读出转换结果
       IN AL,DX

       MOV CH,AL                 ;分析结果进行显示
       AND AL,0F0H
	   MOV CL,04H
	   SHR AL,CL                 ;取出数据的十位
	   CMP AL,09H
	   JG A1

	   ADD AL,30H                
	   JMP A2
A1:	   ADD AL,37H                ;对A~F的处理 
A2:    MOV DL,AL                 ;对0~9的处理 
       MOV AH,02H
	   INT 21H

       MOV AL,CH               
	   AND AL,0FH                ;取出数据的各位
	   CMP AL,09H
	   JG A3

	   ADD AL,30H
	   JMP A4
A3:	   ADD AL,37H                ;对A~F的处理 
A4:	   MOV DL,AL                 ;对0~9的处理 
       MOV AH,02H
	   INT 21H

       MOV DL,0DH                ;回车,置光标到行首
       MOV AH,02H
	   INT 21H

       MOV AH,1                  ;判断是否有按键按下
       INT 16H
       JZ  LOOP1                 ;无按键则跳回继续循环,有则退出

QUIT:  MOV AX,4C00H              ;结束程序退出
       INT 21H

DALLY PROC NEAR	                 ;软件延时子程序
       PUSH CX
	   PUSH AX
	   MOV CX,4000H
D1:    MOV AX,0600H
D2:	   DEC AX
	   JNZ D2
	   LOOP D1
	   POP AX
	   POP CX
	   RET
DALLY ENDP

CODE ENDS
     END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -