t0832-1.asm

来自「T0832-2.asm D/A转换实验」· 汇编 代码 · 共 59 行

ASM
59
字号
;T0832-1.asm
;D/A转换实验,产生方波

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

STACK1 SEGMENT STACK
        DW 256 DUP(?)
STACK1 ENDS

DATA SEGMENT
STR1   DB  'DA0832: Square Wave $'        ;定义显示的字符串
DATA ENDS

CODE SEGMENT
	ASSUME CS:CODE,DS:DATA

START:	MOV AX,DATA
        MOV DS,AX
        
        MOV DX,OFFSET STR1        ;显示字符串  
        MOV AH,9
        INT 21H

LOOP1:  MOV DX,DA0832             ;写00H,输出低电平
        MOV AL,00H
	    OUT DX,AL
        CALL DALLY

        MOV DX,DA0832             ;写0FH,输出高电平
        MOV AL,7FH
        OUT DX,AL
        CALL DALLY

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

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

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

CODE ENDS
     END START

⌨️ 快捷键说明

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