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

📄 h8250.asm

📁 基于96单片机的串口通讯程序
💻 ASM
字号:
CODE SEGMENT            ;H8250.ASM
ASSUME CS:CODE          ;H8250.ASM
DATA	EQU	8000H	;BTS-LSB
MSB	EQU	8001H
LINE	EQU 	8003H
LSTAT	EQU	8005H
PA      EQU 0FF21H ;字位口
PB      EQU 0FF22H ;字形口
PC      EQU 0FF23H ;键入口
	ORG 29A0H
START:  JMP START0
BUF     DB ?,?,?,?,?,?
data1:  db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
        db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0: MOV AL,80H	;DLAB=1
	MOV DX,LINE
	OUT DX,AL
	MOV AL,18H	;BTS=4800
	MOV DX,8000H
	OUT DX,AL
	MOV DX,MSB
	MOV AL,00
	OUT DX,AL
;-----------------------------------------------------
	MOV AL,03H	;8- BIT ,1-STOP
	MOV DX,LINE
	OUT DX,AL
;--------------------------------------------------
	MOV AL,00	;NO-INT
	MOV DX,8001H
	OUT DX,AL
	MOV AH,10H
	MOV BX,4000H
MAIN:	CALL TXD
	CALL RCV
	MOV [BX],AL
	INC BX
	INC AH
	CMP AH,00H
	JNZ MAIN
	CALL BUF1
	MOV CX,00FFH
S3:	PUSH CX
	CALL DISP
	POP CX
	LOOP S3
	CALL BUF3
S1:	CALL DISP
	JMP S1
TXD:	MOV DX,LSTAT
WAIT1:	IN AL,DX
	TEST AL,20H
	JZ WAIT1
	MOV AL,AH
	MOV DX,DATA
	OUT DX,AL
	RET
RCV:	MOV DX,LSTAT
WAIT2:	IN AL,DX
	TEST AL,01H
	JZ WAIT2
	TEST AL,0EH
	JNZ ERR
	MOV DX,DATA
	IN AL,DX
	RET
ERR:	CALL BUF2
S2:	CALL DISP
	JMP S2
;------------------------------------------------------
DISP:   MOV AL,0FFH         ;00H
	MOV DX,PA
	OUT DX,AL
	MOV CL,0DFH     ;20H           ;显示子程序 ,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
DELAY:  LOOP DELAY
        POP CX
	CMP CL,0FEH  ;01H
	JZ LX1
	INC BX
	ROR CL,1     ;SHR CL,1
	JMP DIS1
LX1:    MOV AL,0FFH
	MOV DX,PB
	OUT DX,AL
	RET
BUF1:   MOV BUF,08H
        MOV BUF+1,02H
        MOV BUF+2,05H
        MOV BUF+3,00H
        MOV BUF+4,17H
        MOV BUF+5,17H
        RET
;-------------------------------------------------------------
BUF2:   MOV BUF,08H
        MOV BUF+1,02H
        MOV BUF+2,05H
        MOV BUF+3,00H
        MOV BUF+4,0EH
        MOV BUF+5,18H
        RET
BUF3:   MOV BUF,09H
        MOV BUF+1,00H
        MOV BUF+2,00H
        MOV BUF+3,0DH
        MOV BUF+4,10H
        MOV BUF+5,10H
        RET

CODE ENDS
END  START

⌨️ 快捷键说明

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