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

📄 xainshi.asm

📁 51单片机 函数发生器 带液晶显示 按键输入 全数字化
💻 ASM
📖 第 1 页 / 共 2 页
字号:
DB  020H,010H,008H,0FCH,003H,002H,010H,010H,07FH,088H,088H,084H,086H,0E4H,000H,000H 
DB  000H,004H,004H,005H,004H,004H,004H,0FFH,004H,004H,004H,004H,004H,004H,004H,000H   ;05

;--  文字:  北  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,020H,020H,020H,020H,0FFH,000H,000H,000H,0FFH,040H,020H,030H,018H,010H,000H   ;06
DB  010H,030H,018H,008H,004H,07FH,000H,000H,000H,03FH,040H,040H,040H,040H,078H,000H 

;--  文字:  京  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,004H,004H,0E4H,024H,024H,025H,026H,024H,024H,024H,0E4H,006H,004H,000H,000H 
DB  000H,020H,010H,019H,00DH,041H,081H,07FH,001H,001H,005H,00DH,038H,010H,000H,000H   ;07

;--  文字:  很  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010H,088H,0C4H,023H,01AH,000H,0FEH,04AH,04AH,0CAH,04AH,04AH,07EH,000H,000H,000H 
DB  001H,000H,0FFH,000H,000H,040H,0FFH,040H,020H,013H,004H,01AH,033H,062H,020H,000H   ;08

;--  文字:  好  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010H,010H,0F0H,01FH,010H,0F0H,080H,082H,082H,082H,0F2H,08AH,086H,082H,080H,000H 
DB  080H,043H,022H,014H,00CH,073H,020H,000H,040H,080H,07FH,000H,000H,000H,000H,000H   ;09

;--  文字:  强  --
;--  Times New Roman12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,0F2H,012H,012H,01EH,000H,0C0H,05EH,052H,0F2H,052H,052H,05EH,0C0H,000H,000H
DB  000H,001H,041H,081H,07FH,000H,087H,084H,084H,0FFH,044H,044H,054H,0E7H,040H,000H    ;0A


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  					 
XIAN1:  MOV    	R6,#00H   	;显示表中所示汉字
     	MOV     R7,#00H
LOP1: 	MOV     PAG,#00H 
     	MOV     A,R7
     	MOV     DPTR,#TABC1
   	MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOP1
     	NOP
        NOP
        RET   
TABC1: 	DB 00H,01H,02H,03H 


FXIAN1: MOV    	R6,#00H   	;反白显示表中汉字
     	MOV    	R7,#00H
LOPF1: 	MOV     PAG,#00H 
     	MOV     A,R7
     	MOV     DPTR,#TABC1
        MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCFW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOPF1 
     	NOP
        NOP
        RET 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  					 
XIAN2:  MOV    	R6,#00H   	;显示表中所示汉字
     	MOV     R7,#00H
LOP2: 	MOV     PAG,#02H 
     	MOV     A,R7
     	MOV     DPTR,#TABC2
   	MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOP2
     	NOP
        NOP
        RET   
TABC2: 	DB 04H,05H,02H,03H 


FXIAN2: MOV    	R6,#00H   	;反白显示表中汉字
     	MOV    	R7,#00H
LOPF2: 	MOV     PAG,#02H 
     	MOV     A,R7
     	MOV     DPTR,#TABC2
        MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCFW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOPF2 
     	NOP
        NOP
        RET 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  					 
XIAN21: MOV    	R6,#00H   	;显示表中所示汉字
     	MOV     R7,#00H
LOP21: 	MOV     PAG,#00H 
     	MOV     A,R7
     	MOV     DPTR,#TABC2
   	MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOP21
     	NOP
        NOP
        RET   
TABC21: DB 04H,05H,02H,03H 


FXIAN21:MOV    	R6,#00H   	;反白显示表中汉字
     	MOV    	R7,#00H
LOPF21: MOV     PAG,#00H 
     	MOV     A,R7
     	MOV     DPTR,#TABC2
        MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCFW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOPF21  
     	NOP
        NOP
        RET 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

XIAN3:  MOV    	R6,#00H   	;显示表中所示汉字
     	MOV     R7,#00H
LOP3: 	MOV     PAG,#02H 
     	MOV     A,R7
     	MOV     DPTR,#TABC3
   	MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOP3
     	NOP
        NOP
        RET   
TABC3: 	DB 06H,07H,02H,03H 


FXIAN3: MOV    	R6,#00H   	;反白显示表中汉字
     	MOV    	R7,#00H
LOPF3: 	MOV     PAG,#02H 
     	MOV     A,R7
     	MOV     DPTR,#TABC3
        MOVC    A,@A+DPTR
     	MOV     COD,A
     	MOV     COLUMN,R6
     	LCALL   CCFW_PR
     	INC     R7
     	MOV     A,#10H
     	ADD     A,R6
     	MOV     R6,A
     	CJNE    R7,#04H,LOPF3 
     	NOP
        NOP
        RET 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	

 
	 
XIAN:	MOV      PAG,#00H 	;显示单个的字
       	MOV      COLUMN,#00H 	  
     ;   MOV      COD,#00H 
        LCALL    CCW_PR
	RET
FXIAN:	MOV      PAG,#00H 	;反白显示单个的字
       	MOV      COLUMN,#00H 	  
      ;  MOV      COD,#00H 
        LCALL    CCFW_PR
	RET 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

KEYTAB:	DB  0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H
           ; 1 ,  2 ,  3 ,  4  , 5 ,  6  , 7,   8  , 9  ,10  , 11,  12

KEYD: 	MOV P2,#0FFH         ;置P2输入口 
    	CLR P2.4
    	CLR P2.5
     	CLR P2.6
    	CLR P2.7
    	MOV A,P2
    	MOV B,A
    	CJNE A,#0FH,KEY
KEYOUT: LJMP  KEYD
KEY:	LCALL  D10MS
        MOV A,P2
        CJNE A,B,KEYOUT
        SETB P2.7
        SETB P2.6
        SETB P2.5
        MOV A,P2
        CJNE A,#0EFH,KEYL0
        SETB P2.4
        CLR  P2.5
        MOV A,P2
        CJNE A,#0DFH,KEYL1
        SETB   P2.5
        CLR   P2.6
        MOV A,P2
        CJNE A,#0BFH,KEYL2
        LJMP KEYOUT 
KEYL0:	MOV R2,#00H
        LJMP KEYL3
KEYL1:	MOV R2,#08H
        LJMP KEYL3
KEYL2:	MOV R2,#10H
        LJMP KEYL3
KEYL3:	MOV DPTR,#KEYTAB
       	MOV B,A
      	CLR A
       	MOV R0,A
KEYL4:	MOV A,R0
        SUBB A,#0CH
      	JNC  KEYOUT
       	MOV A,R0
       	MOVC A,@A+DPTR
      	INC R0
     	CJNE A,B,KEYL4
      	DEC R0
     	MOV A,R0
	MOV B,A
	RL A
	ADD A,B
	MOV DPTR,#KEYDTAB
	JMP @A+DPTR
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEYDTAB:LJMP KEYD1
	LJMP KEYD2
        LJMP KEYD3
        LJMP KEYD4
        LJMP KEYD5
        LJMP KEYD6
        LJMP KEYD7
        LJMP KEYD8
        LJMP KEYD9
        LJMP KEYD10
        LJMP KEYD0
        LJMP KEYD12
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEYD1:	    		;1键处理程序
        RET
KEYD2:	 
     			;2键处理程序
        RET
KEYD3:	    ;3键处理程序
        RET
KEYD4:	     ;4键处理程序
        RET
KEYD5:	    ;5键处理程序
        RET
KEYD6:	     ;6键处理程序
        RET
KEYD7:	     ;7键处理程序
        RET
KEYD8:	MOV   	A,DWSH		;8键处理程序
       	INC   	A
       	CJNE  	A,#04H,A1
       	MOV   	A,#01H
A1:   	CJNE  	A,#01H,A2
       	MOV   	DWSH,A
       	LCALL   CLEAR
       	LCALL   FXIAN1
       	LCALL   XIAN2
	SETB	DX1
	CLR	DX2
	CLR	DX3    
       	AJMP  	KOUT
A2:     CJNE    A,#02H,A3
    	MOV   	DWSH,A
    	LCALL   CLEAR
       	LCALL   XIAN1
       	LCALL   FXIAN2  
       	SETB	DX2
	CLR	DX1
	CLR	DX3 
       	AJMP  	KOUT
A3:     MOV  	DWSH,A
       	LCALL   CLEAR
       	LCALL   XIAN21
       	LCALL 	FXIAN3 
       	CLR   	DX1
       	CLR   	DX2
       	SETB  	DX3  	
        RET
KEYD9: 	 
        RET
KEYD10: JB	DX1,SHOW11
	JB	DX2,SHOW12
	JB	DX3,SHOW13
SHOW11: LCALL   CLEAR
	MOV	COD,#09H
       	LCALL   XIAN 	;ENTER键处理程序 
        AJMP  	KOUT
SHOW12:	LCALL   CLEAR
	MOV	COD,#0AH
       	LCALL   XIAN 	 
        AJMP  	KOUT
SHOW13:	LCALL   CLEAR
	MOV     PAG,#00H 	;显示单个的字
       	MOV      COLUMN,#00H 	  
        MOV      COD,#08H 
        LCALL    CCW_PR
 	MOV      PAG,#00H 	;显示单个的字
       	MOV      COLUMN,#20H 	  
        MOV      COD,#09H 
        LCALL    CCW_PR
	RET 	 
        AJMP  	KOUT
KEYD0:	    		;0键处理程序
        RET
KEYD12:	     		;BACK键处理程序
	RET
KOUT:  NOP
       NOP
       RET


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	 

	ORG	1000H
MAIN:	LCALL 	INT
        LCALL 	CLEAR
	MOV	DWSH,#03H
	LCALL	KEYD8
SCAN:	LCALL 	KEYD
	NOP
	LJMP 	SCAN
	NOP
	END
	 

⌨️ 快捷键说明

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