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

📄 lcdqd.asm

📁 基于96单片机的串口通讯程序
💻 ASM
字号:
       	CODE SEGMENT
	ASSUME CS:CODE
	PA	EQU	0FF28H
	PCTL	EQU	0FF2BH
	RSN	EQU	00H	;PC0
	RS 	EQU	01H
	RWN	EQU	02H	;PC1
	RW	EQU	03H
	EN	EQU	04H	;PC2
	E	EQU	05H
	CS1N	EQU	08H	;PC4
	CS1	EQU	09H
	CS2N	EQU	0Ch	;PC6
	CS2	EQU	0Dh
	ORG 	22E0h     ;2FE0H
        JMP START
YR     DB ?
ZR     DB ?
PAG    DB ?
Y16    DB ?
pag7   db ?
FL     DB ?
START:  MOV DX,PCTL
        MOV AL,80H
        OUT DX,AL
        MOV FL,00H
        MOV CX,0003H
	CALL DELAYXMS
	MOV DX,PCTL
	MOV AL,EN
	OUT DX,AL
	MOV AL,RS
	OUT DX,AL
	MOV AL,CS1
	OUT DX,AL
	MOV AL,CS2N
	OUT DX,AL
	MOV AL,RSN
	OUT DX,AL
	MOV DX,PA
	MOV AL,3FH ;WR ON
	OUT DX,AL
	CALL WRITE
	MOV CX,0001H
	CALL DELAYXMS
	MOV DX,PCTL
	MOV AL,CS2
	OUT DX,AL
	MOV AL,CS1N
	OUT DX,AL
	MOV AL,RSN
	OUT DX,AL
	MOV DX,PA
	MOV AL,3FH
	OUT DX,AL
	CALL WRITE
MAIN:	;MOV CX,000FH
	MOV BX,OFFSET TAB5
	CALL ZXL		;DISP 1-SCREEN
	;MOV CX,000aH
	;CALL DELAYXMS
	;MOV BX,OFFSET TAB6
	;CALL ZXL
	;MOV CX,000FH
	;CALL DELAYXMS
	JMP $;MAIN
ZXL:	MOV DX,PCTL		;DISP 1-SCREEN
	MOV AL,CS2N
	OUT DX,AL
	MOV AL,CS1		;DISP L-SCREEN
	OUT DX,AL
	CALL XPAGE		;SET X,Y,PAG
	CALL COM		;DISP
	MOV DX,PCTL
	MOV AL,CS1N
	OUT DX,AL
	MOV AL,CS2		;DISP R-SCREEN
	OUT DX,AL
	CALL XPAGE		;SET X,Y,PAG
	CALL COM		;DISP
	RET
XPAGE:	MOV ZR,0c0H		;SET Z,Y,PAG
        MOV YR,40H
        MOV PAG,0B8H
        mov pag7,08h
	MOV DX,PCTL
	MOV AL,EN
	OUT DX,AL
	MOV AL,RSN      ;wr instruction
	OUT DX,AL
	MOV DX,PA
	MOV AL,ZR       ;set z=0
	OUT DX,AL
	CALL WRITE
	MOV DX,PA
	MOV AL,YR      ;set y
	OUT DX,AL
	CALL WRITE
	MOV DX,PA
	MOV AL,PAG      ;SET PAG
	OUT DX,AL
	CALL WRITE
	RET
COM:    MOV Y16,10H
        MOV CX,0040H
	MOV DX,PCTL
	MOV AL,RS
	OUT DX,AL
J44:    push bx
J4:     MOV AL,CS:[BX]
	MOV DX,PA
	OUT DX,AL
	push cx
	CALL WRITE
        POP CX
        inc bx          ;!!!!
        DEC Y16
        CMP Y16,0000H
        JNZ J42
        MOV Y16,10H
        ADD BX,0010H
J42:    LOOP J4
        NOT FL
        CMP FL,00H
        JZ J45
        pop bx
        add bx,0010h
J46:    INC PAG
        dec pag7
        cmp pag7,00H
        jz j43
        MOV AL,RSN
        MOV DX,PCTL
        OUT DX,AL
       	MOV DX,PA
	MOV AL,YR      ;set y
	OUT DX,AL
	CALL WRITE
	MOV DX,PA
	MOV AL,PAG      ;SET PAG
	OUT DX,AL
	CALL WRITE
        JMP COM
J43:    RET
J45:    pop bx
        add bx,0070h
        JMP J46
;----------------------
WRITE:  MOV DX,PCTL
	MOV AL,RWN
	OUT DX,AL
	MOV AL,EN
	OUT DX,AL
	MOV AL,E
	OUT DX,AL
	CALL DELAY2MS
	MOV AL,EN
	OUT DX,AL
	RET
DELAY2MS:
	MOV CX,78H
	LOOP $
	RET
DELAYXMS:
	PUSH CX
	MOV CX,0040H
DELY2:
	PUSH CX
	MOV CX,3E8H
	LOOP $
	POP CX
	LOOP DELY2
	POP CX
	LOOP DELAYXMS
	RET

TAB5:   DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
 			DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
;--  文字:  欢  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  14H,24H,44H,84H,64H,1CH,20H,18H,0FH,0E8H,08H,08H,28H,18H,08H,00H
DB  20H,10H,4CH,43H,43H,2CH,20H,10H,0CH,03H,06H,18H,30H,60H,20H,00H

;--  文字:  迎  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  40H,41H,0CEH,04H,00H,0FCH,04H,02H,02H,0FCH,04H,04H,04H,0FCH,00H,00H
DB  40H,20H,1FH,20H,40H,47H,42H,41H,40H,5FH,40H,42H,44H,43H,40H,00H

;--  文字:  启  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,00H,0F8H,48H,48H,48H,49H,4EH,4AH,48H,48H,48H,78H,00H,00H
DB  40H,20H,18H,07H,00H,7EH,22H,22H,22H,22H,22H,22H,22H,7EH,00H,00H

;--  文字:  东  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,04H,04H,0C4H,0B4H,8CH,87H,84H,0F4H,84H,84H,84H,84H,04H,00H,00H
DB  00H,00H,20H,18H,0EH,04H,20H,40H,0FFH,00H,02H,04H,18H,30H,00H,00H

;--  文字:  计  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  20H,21H,2EH,0E4H,00H,00H,20H,20H,20H,20H,0FFH,20H,20H,20H,20H,00H
DB  00H,00H,00H,7FH,20H,10H,08H,00H,00H,00H,0FFH,00H,00H,00H,00H,00H

;--  文字:  算  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,07H,0FAH,0AAH,0AEH,0AAH,0AAH,0A8H,0ACH,0ABH,0AAH,0FEH,0AH,02H,02H,00H
DB  08H,08H,8BH,6AH,1EH,0AH,0AH,0AH,0AH,0FEH,0AH,0BH,08H,08H,08H,00H

;--  文字:  产  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,04H,0E4H,44H,4CH,74H,54H,45H,46H,64H,54H,4CH,44H,64H,44H,00H
DB  40H,30H,0FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  的  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,0F8H,8CH,8BH,88H,0F8H,40H,30H,8FH,08H,08H,08H,08H,0F8H,00H,00H
DB  00H,7FH,10H,10H,10H,3FH,00H,00H,00H,03H,26H,40H,20H,1FH,00H,00H

;--  文字:  D  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,0F8H,08H,08H,08H,10H,0E0H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  20H,3FH,20H,20H,20H,10H,0FH,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  I  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,08H,08H,0F8H,08H,08H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,20H,20H,3FH,20H,20H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  实  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,10H,0CH,04H,4CH,0B4H,94H,05H,0F6H,04H,04H,04H,14H,0CH,04H,00H
DB  00H,82H,82H,42H,42H,23H,12H,0AH,07H,0AH,12H,0E2H,42H,02H,02H,00H

;--  文字:  验  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  02H,0FAH,82H,82H,0FEH,80H,40H,60H,58H,46H,48H,50H,20H,20H,20H,00H
DB  08H,08H,04H,24H,40H,3FH,22H,2CH,21H,2EH,20H,30H,2CH,23H,20H,00H

;--  文字:  教  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  10H,14H,94H,0D4H,0BFH,94H,9CH,14H,50H,0F8H,0FH,08H,88H,78H,08H,00H
DB  09H,09H,48H,88H,7EH,05H,44H,44H,20H,20H,13H,0CH,33H,0C0H,40H,00H

;--  文字:  学  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  40H,30H,10H,12H,5CH,54H,50H,51H,5EH,0D4H,50H,18H,57H,32H,10H,00H
DB  00H,02H,02H,02H,02H,02H,42H,82H,7FH,02H,02H,02H,02H,02H,02H,00H

;--  文字:  使  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  40H,20H,0F0H,1CH,07H,0F2H,94H,94H,94H,0FFH,94H,94H,94H,0F4H,04H,00H
DB  00H,00H,7FH,00H,40H,41H,22H,14H,0CH,13H,10H,30H,20H,61H,20H,00H

;--  文字:  用  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,00H,0FEH,22H,22H,22H,22H,0FEH,22H,22H,22H,22H,0FEH,00H,00H
DB  80H,40H,30H,0FH,02H,02H,02H,02H,0FFH,02H,02H,42H,82H,7FH,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
        DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
		  ;--  文字:  机  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,08H,0C8H,0FFH,48H,88H,08H,00H,0FEH,02H,02H,02H,0FEH,00H,00H,00H
DB  04H,03H,00H,0FFH,00H,41H,30H,0CH,03H,00H,00H,00H,3FH,40H,78H,00H

;--  文字:  总  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,00H,0F8H,89H,8EH,88H,88H,88H,8CH,8BH,0F8H,00H,00H,00H,00H
DB  00H,20H,38H,00H,3CH,40H,40H,42H,4CH,40H,40H,70H,04H,18H,30H,00H

;--  文字:  厂  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,0FEH,02H,02H,02H,02H,02H,02H,02H,02H,02H,02H,02H,02H,00H
DB  40H,30H,0FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  生  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,80H,60H,1EH,10H,10H,10H,10H,0FFH,12H,10H,10H,98H,10H,00H,00H
DB  01H,40H,40H,41H,41H,41H,41H,41H,7FH,41H,41H,41H,41H,61H,40H,00H

;--  文字:  C  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  0C0H,30H,08H,08H,08H,08H,38H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  07H,18H,20H,20H,20H,10H,08H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  E  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,0F8H,88H,88H,0E8H,08H,10H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  20H,3FH,20H,20H,23H,20H,18H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  系  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,02H,22H,0B2H,0AAH,66H,62H,22H,11H,4DH,81H,01H,01H,00H,00H
DB  00H,40H,21H,13H,09H,05H,41H,81H,7FH,01H,05H,09H,13H,62H,00H,00H

;--  文字:  列  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  02H,82H,42H,0BAH,16H,12H,92H,7AH,12H,00H,0F8H,00H,00H,0FFH,00H,00H
DB  41H,40H,20H,10H,09H,06H,01H,00H,00H,00H,07H,20H,40H,3FH,00H,00H

;--  文字:  仪  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  40H,20H,0F0H,0CH,03H,00H,38H,0C0H,01H,0EH,04H,0E0H,1CH,00H,00H,00H
DB  00H,00H,0FFH,00H,40H,40H,20H,10H,0BH,04H,0BH,10H,20H,60H,20H,00H

;--  文字:  器  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  40H,40H,4FH,49H,49H,0C9H,0CFH,70H,0C0H,0CFH,49H,59H,69H,4FH,00H,00H
DB  02H,02H,7EH,45H,45H,44H,7CH,00H,7CH,44H,45H,45H,7EH,06H,02H,00H

;--  文字:  !  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,00H,0F0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,5FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

;--  文字:  !  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,00H,0F0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB  00H,00H,00H,5FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
CODE ENDS
END START

⌨️ 快捷键说明

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