📄 rsm19264b
字号:
;;----------------------------------------------------------------------------
;; PROJECT:RSMXX LCM DRIVER TEST PROGRAM
;; WRITER:LIU RIHUI
;; DATE:2006-06-12
;; MCU:AT89C51
;;----------------------------------------------------------------------------
;;W/R-------->P3.0
;;RS -------->P3.1
;;E -------->P3.2
;;RST-------->P3.3
;;CS1-------->P3.4
;;CS2-------->P3.5
;;CS3-------->P3.6
;;DB7-------->P1.7
;;DB6-------->P1.6
;;DB5-------->P1.5
;;DB4-------->P1.4
;;DB3-------->P1.3
;;DB2-------->P1.2
;;DB1-------->P1.1
;;DB0-------->P1.0
;;----------------------------------------------------------------------------
TXHOME EQU 040H
TXAREA EQU 041H
GRHOME EQU 042H
GRAREA EQU 043H
OFFSET EQU 022H
ADPSET EQU 024H
AWRON EQU 0B0H
AWROFF EQU 0B2H
;;----------------------------------------------------------------------------
DATA_BUF_1 EQU 30H
DATA_BUF_2 EQU 31H
P1_BUFFER EQU 32H
P3_BUFFER EQU 33H
OPT1_FLAG EQU 34H
OPT2_FLAG EQU 35H
BUF EQU 36H
X_ADDR EQU 37H
Y_ADDR EQU 38H
DELAY_CNT1 EQU 39H
DELAY_CNT2 EQU 3AH
DELAY_CNT3 EQU 3BH
IC_CNT EQU 3CH
MOVE_ADDR EQU 3DH
DISP_RAM EQU 3EH
NUM_CNT_1 EQU 40H
NUM_CNT_2 EQU 41H
NUM_CNT_3 EQU 42H
NUM_CNT_4 EQU 43H
;;-----------------------------------------------------------------------
ORG 0000H ;;POWER_ON RESET
LJMP NOW_POWER_ON
ORG 0003H ;;INT0 INTERRUPT
RETI
ORG 000BH ;;TIMER0 INTERRUPT
RETI
ORG 0013H ;;INT1 INTERRUPT
RETI
ORG 001BH ;;TIMER1 INTERRUPT
RETI
ORG 0023H ;;ES INTERRUPT
RETI
;;----------------------------------------------------------------------------
ORG 0100H
;;----------------------------------------------------------------------------
NOW_POWER_ON:
MOV SP,#044H
MOV R0,#030H
CLEAR_RAM_1:
MOV @R0,#00H
INC R0
CJNE R0,#080H,CLEAR_RAM_1
READ_OPT_PRO:
MOV P3_BUFFER,#11110111B
MOV P3,P3_BUFFER
MOV P1_BUFFER,#11111111B
MOV P1,P1_BUFFER
LCALL DELAY_PRO
LCALL DELAY_PRO
MOV P3_BUFFER,#00001111B
MOV P3,P3_BUFFER
MOV P1_BUFFER,#0FFH
MOV P1,P1_BUFFER
;;----------------------------------------------------------------------------
;;--------------------------RSM19264A TEST PROGRAM----------------------------
;;----------------------------------------------------------------------------
RSM19264A_TEST_PRO:
MOV IC_CNT,#00H
CALL SET_IC_CS_PRO
;;DISPLAY ON
MOV P1_BUFFER,#00111111B
CALL WR_COMMAND_0108_PRO
;;DISPLAY START 00
MOV P1_BUFFER,#11000000B
CALL WR_COMMAND_0108_PRO
;;
MOV IC_CNT,#01H
CALL SET_IC_CS_PRO
;;DISPLAY ON
MOV P1_BUFFER,#00111111B
CALL WR_COMMAND_0108_PRO
;;DISPLAY START 00
MOV P1_BUFFER,#11000000B
CALL WR_COMMAND_0108_PRO
;;
MOV IC_CNT,#02H
CALL SET_IC_CS_PRO
;;DISPLAY ON
MOV P1_BUFFER,#00111111B
CALL WR_COMMAND_0108_PRO
;;DISPLAY START 00
MOV P1_BUFFER,#11000000B
CALL WR_COMMAND_0108_PRO
;;
RSM19264A_TEST_LP1:
;;DISP IC1
MOV IC_CNT,#00H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#0FFH
CALL DISP_LCM_ALL_PRO
;;DISP IC2
MOV IC_CNT,#01H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#0FFH
CALL DISP_LCM_ALL_PRO
;;DISP IC3
MOV IC_CNT,#02H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#0FFH
CALL DISP_LCM_ALL_PRO
;;
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
;;CLEAR IC1
MOV IC_CNT,#00H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#00H
CALL DISP_LCM_ALL_PRO
;;CLEAR IC2
MOV IC_CNT,#01H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#00H
CALL DISP_LCM_ALL_PRO
;;CLEAR IC3
MOV IC_CNT,#02H
CALL SET_IC_CS_PRO
MOV DISP_RAM,#00H
CALL DISP_LCM_ALL_PRO
;;
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
CALL DELAY_1MS_PRO
;;
MOV DPTR,#RSM19264_DATA_TAB
;;
MOV IC_CNT,#00H
CALL SET_IC_CS_PRO
CALL DISPLAY_64SEG_PRO
MOV IC_CNT,#01H
CALL SET_IC_CS_PRO
CALL DISPLAY_64SEG_PRO
MOV IC_CNT,#02H
CALL SET_IC_CS_PRO
CALL DISPLAY_64SEG_PRO
;;
CALL DELAY_XUS_PRO
CALL DELAY_XUS_PRO
CALL DELAY_XUS_PRO
CALL DELAY_XUS_PRO
;;
LJMP RSM19264A_TEST_LP1
;;----------------------------------------------------------------------------
DISPLAY_64SEG_PRO:
MOV R1,#00H
MOV Y_ADDR,#01000000B
DISPLAY_64SEG_LP1:
MOV R0,#00H
MOV X_ADDR,#10111000B
DISPLAY_64SEG_LP2:
CALL DELAY_1MS_PRO
CALL SET_X_ADDR_PRO
CALL SET_Y_ADDR_PRO
MOV A,#00H
MOVC A,@A+DPTR
MOV P1_BUFFER,A
CALL WR_DATA_0108_PRO
INC DPTR
CALL X_ADDR_INC_PRO
INC R0
CJNE R0,#08H,DISPLAY_64SEG_LP2
CALL Y_ADDR_INC_PRO
INC R1
CJNE R1,#40H,DISPLAY_64SEG_LP1
RET
;;----------------------------------------------------------------------------
DISP_LCM_ALL_PRO:
MOV R1,#00H
MOV Y_ADDR,#01000000B
DISP_LCM_ALL_LP1:
MOV R0,#00H
MOV X_ADDR,#10111000B
DISP_LCM_ALL_LP2:
CALL DELAY_1MS_PRO
CALL SET_X_ADDR_PRO
CALL SET_Y_ADDR_PRO
MOV P1_BUFFER,DISP_RAM
CALL WR_DATA_0108_PRO
CALL X_ADDR_INC_PRO
INC R0
CJNE R0,#08H,DISP_LCM_ALL_LP2
CALL Y_ADDR_INC_PRO
INC R1
CJNE R1,#40H,DISP_LCM_ALL_LP1
RET
;;----------------------------------------------------------------------------
SET_ICCS_6120_PRO:
ORL P3_BUFFER,#00110000B
MOV R4,IC_CNT
CJNE R4,#00H,SET_ICCS_6120_LP2
SET_ICCS_6120_LP1:
ANL P3_BUFFER,#11101111B
LJMP SET_IC_CS_LP6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -