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

📄 大学.asm

📁 MCS51基本调试程序 包括8255、键盘、LED等
💻 ASM
字号:
;颜色定义
;////////////////////////////////////////////////////////
HBLUE		EQU	0CCH
BLUE		EQU	44H
HRED		EQU	99H
RED		EQU	11H
HGREEN	EQU	0AAH
GREEN		EQU	22H
BLACK		EQU	00H
YELLOW	EQU	33H
QING		EQU	66H
FEN		EQU	55H
WIHTE		EQU	77H
HYELLOW	EQU	0BBH
HQING		EQU	0EEH
HFEN		EQU	0DDH
HWIHTE	EQU	0FFH	
;////////////////////////////////////////////////////////////	
ORG	0000H
LJMP	MAIN
ORG	0100H
;汉字字型码
;*******************************************************************
;--  文字:  中  --
;--  华文行楷12;  此字体下对应的点阵为:宽x高=16x16   --
DB  01H,00H,01H,00H,21H,08H,3FH,0FCH,21H,08H,21H,08H,21H,08H,21H,08H
DB  21H,08H,3FH,0F8H,21H,08H,01H,00H,01H,00H,01H,00H,01H,00H,01H,00H

;--  文字:  国  --
;--  华文行楷12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,7FH,0FCH,40H,04H,5FH,0F4H,41H,04H,41H,04H,41H,04H,4FH,0E4H
DB  41H,44H,41H,24H,41H,24H,5FH,0F4H,40H,04H,40H,04H,7FH,0FCH,40H,04H


;--  文字:  地  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,20H,11H,20H,11H,20H,11H,24H,0FDH,3EH,11H,0E4H,17H,24H,11H,24H
DB  11H,24H,11H,34H,11H,28H,1DH,20H,31H,02H,0C1H,02H,00H,0FEH,00H,00H

;--  文字:  质  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,7CH,3FH,80H,20H,80H,2FH,0F8H,20H,80H,21H,00H,27H,0F0H,24H,10H
DB  24H,90H,24H,90H,24H,90H,24H,90H,21H,40H,42H,30H,44H,18H,88H,10H

;--  文字:  大  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  01H,00H,01H,00H,01H,00H,01H,00H,01H,00H,0FFH,0FEH,01H,00H,02H,80H
DB  02H,80H,02H,40H,04H,40H,04H,20H,08H,10H,10H,18H,20H,0EH,40H,04H

;--  文字:  学  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  01H,08H,10H,8CH,0CH,0C8H,08H,90H,7FH,0FEH,40H,04H,8FH,0E8H,00H,40H
DB  00H,80H,7FH,0FEH,00H,80H,00H,80H,00H,80H,00H,80H,02H,80H,01H,00H

;--  文字:  数  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,20H,49H,30H,2AH,20H,1CH,20H,0FFH,7EH,1CH,44H,2BH,44H,48H,0C4H
DB  08H,28H,0FFH,28H,12H,10H,34H,10H,0CH,28H,32H,4EH,0C0H,84H,00H,00H

;--  文字:  理  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,03H,0FCH,0FAH,44H,22H,44H,23H,0FCH,22H,44H,0FAH,44H,23H,0FCH
DB  22H,44H,20H,40H,23H,0FCH,38H,40H,0C0H,40H,00H,40H,0FH,0FEH,00H,00H

;--  文字:  系  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,7CH,3FH,80H,02H,20H,04H,20H,08H,40H,1FH,80H,03H,20H,0CH,10H
DB  3FH,0F8H,10H,8CH,04H,0A0H,08H,90H,10H,88H,20H,84H,42H,84H,01H,00H

;--  文字:  物  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  10H,80H,10H,80H,50H,80H,51H,0FCH,7DH,54H,52H,54H,94H,94H,14H,94H
DB  19H,24H,32H,24H,0D4H,44H,10H,84H,11H,04H,12H,04H,14H,28H,00H,10H

;--  文字:  理  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,03H,0FCH,0FAH,44H,22H,44H,23H,0FCH,22H,44H,0FAH,44H,23H,0FCH
DB  22H,44H,20H,40H,23H,0FCH,38H,40H,0C0H,40H,00H,40H,0FH,0FEH,00H,00H

;--  文字:  教  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  08H,20H,08H,20H,7FH,20H,0AH,7EH,0FFH,0C4H,08H,44H,10H,0C4H,3EH,48H
DB  0C4H,28H,08H,28H,0FH,10H,0F8H,10H,08H,28H,08H,0C8H,2BH,06H,10H,04H

;--  文字:  研  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  00H,00H,0FDH,0FEH,10H,88H,10H,88H,20H,88H,20H,88H,7BH,0FEH,68H,88H
DB  0A8H,88H,28H,88H,28H,88H,29H,08H,39H,08H,22H,08H,04H,08H,08H,08H

;--  文字:  室  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  02H,00H,01H,00H,3FH,0FEH,20H,04H,40H,08H,3FH,0FCH,04H,00H,08H,20H
DB  1FH,0F0H,01H,10H,01H,00H,3FH,0F8H,01H,00H,01H,00H,0FFH,0FEH,00H,00H
;*****************************************************************************

FORMAT:			;初始化
	MOV	IE,#00H
	MOV	72H,#Hgreen		;背景颜色
	LCALL	CLEAR	
	MOV	71H,#HRED		;字体颜色
	MOV	6FH,#01H		;6FH,70H存放汉字字码地址
	MOV	60H,#00H	
	MOV	6DH,#50H		;6DH存放显示行
	MOV	6EH,#15H		;6EH存放显示列
	MOV	6AH,#14
	RET

CLEAR:			;清屏
	MOV	R4,#03H
LP1:	MOV	A,72H			
	CLR	P3.3
	MOV	DPTR,#0401H
	MOV	R2,#0A0H
	MOV	R3,#0E9H
LP0:	MOVX	@DPTR,A
	INC	DPL
	DJNZ	R2,LP0
	INC	DPH
	MOV	R2,#0A0H
	MOV	DPL,#01H
	DJNZ	R3,LP0
	DJNZ	R4,LP1
	RET

DISCH:		;显示一个汉字
	
	MOV	7BH,7DH
	MOV	7CH,7EH
	MOV	R0,#10H
	MOV	79H,#00H		;79H中存放字码偏移量
START2:
	MOV	R1,#02H
START:
	MOV	DPH,7FH
	MOV	DPL,70H
	MOV	A,79H
	MOVC	A,@A+DPTR
	PUSH	ACC
	MOV	R3,#04H
	CLR	C
DISCH2:
	POP	ACC	
	RLC	A
	PUSH	ACC
	JNC	DISCH1
	MOV	A,R6
	ORL	A,R5
	MOV	DPH,7BH
	MOV	DPL,7CH
	MOVX	@DPTR,A
DISCH1:
	CLR	C
	POP	ACC	
	RLC	A
	PUSH	ACC
	JNC	DISCH3
	MOV	DPH,7BH
	MOV	DPL,7CH
	MOVX	A,@DPTR
	ANL	A,#0FH
	ORL	A,R2
	MOVX	@DPTR,A
DISCH3:	INC	7CH
	DJNZ	R3,DISCH2
	POP	ACC
	INC	79H
	DJNZ	R1,START
	INC	7BH
	MOV	7CH,7EH
	DJNZ	R0,START2
	RET

DISARR:	;显示一行汉字
	PUSH	PSW
	SETB	RS0
	MOV	A,72H
	ANL	A,#0FH
	MOV	R4,A			;R4低四位为背景颜色高四位为0000B
	SWAP	A
	MOV	R5,A			;R5高四位为背景颜色低四位为0000B
	MOV	A,71H
	ANL	A,#0FH
	MOV	R6,A			;R6低四位为字体颜色高四位为0000B
	SWAP	A
	MOV	R2,A			;R2高四位为字体颜色低四位为0000B
	MOV	7FH,6FH		;6FH,70H存放汉字字码地址
	MOV	70H,60H	
	MOV	7DH,6DH
	MOV	7EH,6EH
	MOV	R7,6AH
DISARR1:
	LCALL	DISCH
	MOV	A,#20H
	CLR	C
	ADDC	A,70H
	JNC	DISARR2
	INC	7FH
DISARR2:
	MOV	70H,A
	MOV	A,#08H
	ADD	A,7EH
	MOV	7EH,A	
	DJNZ	R7,DISARR1
	CLR	RS0
	POP	PSW		
	RET
	

MAIN:
	MOV	SP,#30H
	LCALL	FORMAT
	LCALL	DISARR
	SJMP	$				
END

⌨️ 快捷键说明

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