DELAY1:
MOV R1,#0FFH
DELAY2:
DJNZ R1,DELAY2
DJNZ R0,DELAY1
POP 01
POP 00
RET
DELAY10:
MOV R4,#06H
DELAY11:
ACALL DELAY
DJNZ R4,DELAY11
RET
;==============================================
;中文字符写入子程序
CCW_PR:
NOP
MOV DPTR,#CCTAB ;表地址写入
MOV A,CODE0 ;计数器初始化(汉字数)
MOV B,#20H ;32
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
PUSH COLUMN
PUSH COLUMN
MOV CODE0,#00H
CCW_1: MOV COUNT,#10H ;16
MOV A,PAGE0
ANL A,#07H
ORL A,#0B8H
MOV COM,A
ACALL PRM0 ;写指令代码子程序(左)
ACALL PRR0 ;写指令代码子程序(右)
POP COLUMN
MOV A,COLUMN
CLR C
SUBB A,#40H
JC CCW_2
MOV COLUMN,A
SUBB A,#40H
JC CCW_11
MOV COLUMN,A
MOV A,PAGE0
SETB ACC.5
MOV PAGE0,A
LJMP CCW_2
CCW_11:
MOV A,PAGE0
SETB ACC.4
MOV PAGE0,A
CCW_2:
MOV COM,COLUMN
ORL COM,#40H
MOV A,PAGE0
ANL A,#30H
CJNE A,#10H,CCW_31
ACALL PRM0 ;写指令代码子程序(左)
LJMP CCW_4
CCW_31:
CJNE A,#20H,CCW_32
ACALL PRR0 ;写指令代码子程序(右)
LJMP CCW_4
CCW_32:
NOP
CCW_4:
MOV A,CODE0
MOV C A,@A+DPTR
MOV DAT,A
MOV A,PAGE0
ANL A,#30H
CJNE A,#10H,CCW_41
ACALL PRM1
LJMP CCW_5
CCW_41:
CJNE A,#20H,CCW_42
ACALL PRR1
LJMP CCW_5
CCW_42:
NOP
CCW_5:INC CODE0
INC COLUMN
MOV A,COLUMN
CJNE A,#40H,CCW_6
CCW_6:JC CCW_7
MOV COLUMN,#00H
MOV A,PAGE0
JB ACC.5,CCW_09
JB ACC.4,CCW_61
SETB ACC.4
MOV PAGE0,A
MOV COM,#40H
ACALL PRM0 ;写指令代码子程序(左)
LJMP CCW_7
CCW_61:
SETB ACC.5
CLR ACC.4
MOV PAGE0,A
MOV COM,#40H
ACALL PRR0 ;写指令代码子程序(右)
CCW_7:
DJNZ COUNT,CCW_4
CCW_09:
MOV A,PAGE0
JB ACC.7,CCW_9
INC A
SETB ACC.7
ANL A,#0CFH
MOV PAGE0,A
MOV CODE0,#10H
LJMP CCW_1
CCW_9:
RET
;=================================================
PRL0: NOP
RET
PRL1: NOP
RET
PRL2: NOP
RET
;=============================
;写指令代码子程序(左)
PRM0: CLR CSA
SETB CSB
CLR D_I
SETB R_W
PRM01: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,PRM01
CLR R_W
MOV P0,COM
SETB E
CLR E
RET
;===============================
;写显示数据子程序(左)
PRM1: CLR CSA
SETB CSB
CLR D_I
SETB R_W
PRM11: MOV P1,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,PRM11
SETB D_I
CLR R_W
MOV P0,DAT
SETB E
CLR E
RET
;=============================
;写指令代码子程序(右)
PRR0: CLR CSB
SETB CSA
CLR D_I
SETB R_W
PRR01: MOV P1,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,PRR01
CLR R_W
MOV P0,COM
SETB E
CLR E
RET
;===============================
;写显示数据子程序(右)
PRR1: CLR CSB
SETB CSA
CLR D_I
SETB R_W
PRR11: MOV P1,#0FFH
SETB E
MOV A,P0
上一页 [1] [2] [3] [4] 下一页
本文关键字:源程序 51单片机,单片机-工控设备 - 51单片机