📄 dz9664v0711.asm
字号:
CALL DELAY_1S
RET
;;---------------------------------------
PHOTO6:
CALL LCMhome
MOV R0,#LCMcom ;;Common
PHOTO6_1:
MOV R1,#16
MOV DPTR,#CU1
PHOTO6_2:
MOV R2,#LCMseg ;;Segment
PHOTO6_3:
MOV DPTR_DPH,DPH
MOV DPTR_DPL,DPL
PHOTO6_4:
MOV R3,#2
PHOTO6_5:
MOV R4,#8
CLR A
MOVC A,@A+DPTR
MOV TEMP,A
PHOTO6_6:
MOV A,TEMP
RLC A
MOV TEMP,A
MOV MEMORY_DATA,#WHITE ;;White
JC PHOTO6_7
MOV MEMORY_DATA,#BLACK ;;Black
PHOTO6_7:
MOV A,MEMORY_DATA
CALL LCMwriteDATA
DJNZ R4,PHOTO6_6
INC DPTR
MOV A,R2
CLR C
SUBB A,#8
MOV R2,A
JZ PHOTO6_8
DJNZ R3,PHOTO6_5
MOV DPH,DPTR_DPH
MOV DPL,DPTR_DPL
SJMP PHOTO6_4
PHOTO6_8:
DEC R0
MOV A,R0
JZ PHOTO6_9
MOV DPH,DPTR_DPH
MOV DPL,DPTR_DPL
INC DPTR
INC DPTR
DJNZ R1,PHOTO6_2
SJMP PHOTO6_1
PHOTO6_9:
MOV SECOND_COUNT,#1
CALL DELAY_1S
RET
;;---------------------------------------
;;---------------------------------------
PHOTO8:
CALL LCMhome
MOV R0,#8
PHOTO8_0:
MOV R1,#LCMcom ;;Common
PHOTO8_1:
MOV B,#8 ;;8 color bar
MOV A,#LCMseg ;;Segment
PHOTO8_2:
DIV AB
MOV R2,A
GRADITION_1_1:
CJNE R0,#8,GRADITION_2_1
MOV MEMORY_DATA,#11100000B ;;RED
GRADITION_2_1:
CJNE R0,#7,GRADITION_3_1
MOV MEMORY_DATA,#11000000B ;;RED
GRADITION_3_1:
CJNE R0,#6,GRADITION_4_1
MOV MEMORY_DATA,#10100000B ;;RED
GRADITION_4_1:
CJNE R0,#5,GRADITION_5_1
MOV MEMORY_DATA,#10000000B ;;RED
GRADITION_5_1:
CJNE R0,#4,GRADITION_6_1
MOV MEMORY_DATA,#01100000B ;;RED
GRADITION_6_1:
CJNE R0,#3,GRADITION_7_1
MOV MEMORY_DATA,#01000000B ;;RED
GRADITION_7_1:
CJNE R0,#2,GRADITION_8_1
MOV MEMORY_DATA,#00100000B ;;RED
GRADITION_8_1:
CJNE R0,#1,PHOTO8_3
MOV MEMORY_DATA,#00000000B ;;RED
PHOTO8_3:
MOV A,MEMORY_DATA
CALL LCMwriteDATA
DJNZ R2,PHOTO8_3
DJNZ R0,PHOTO8_1
MOV R0,#8
DJNZ R1,PHOTO8_1
;;
MOV SECOND_COUNT,#1
CALL DELAY_1S
RET
;;---------------------------------------
PHOTO9:
CALL LCMhome
MOV R0,#8
PHOTO9_0:
MOV R1,#LCMcom ;;Common
PHOTO9_1:
MOV B,#8 ;;8 color bar
MOV A,#LCMseg ;;Segment
PHOTO9_2:
DIV AB
MOV R2,A
GRADITION_1_2:
CJNE R0,#8,GRADITION_2_2
MOV MEMORY_DATA,#00011100B ;;GREEN
GRADITION_2_2:
CJNE R0,#7,GRADITION_3_2
MOV MEMORY_DATA,#00011000B ;;GREEN
GRADITION_3_2:
CJNE R0,#6,GRADITION_4_2
MOV MEMORY_DATA,#00010100B ;;GREEN
GRADITION_4_2:
CJNE R0,#5,GRADITION_5_2
MOV MEMORY_DATA,#00010000B ;;GREEN
GRADITION_5_2:
CJNE R0,#4,GRADITION_6_2
MOV MEMORY_DATA,#00001100B ;;GREEN
GRADITION_6_2:
CJNE R0,#3,GRADITION_7_2
MOV MEMORY_DATA,#00001000B ;;GREEN
GRADITION_7_2:
CJNE R0,#2,GRADITION_8_2
MOV MEMORY_DATA,#00000100B ;;GREEN
GRADITION_8_2:
CJNE R0,#1,PHOTO9_3
MOV MEMORY_DATA,#00000000B ;;GREEN
PHOTO9_3:
MOV A,MEMORY_DATA
CALL LCMwriteDATA
DJNZ R2,PHOTO9_3
DJNZ R0,PHOTO9_1
MOV R0,#8
DJNZ R1,PHOTO9_1
;;
MOV SECOND_COUNT,#1
CALL DELAY_1S
RET
;;---------------------------------------
PHOTO10:
CALL LCMhome
MOV R0,#4
PHOTO10_0:
MOV R1,#LCMcom ;;Common
PHOTO10_1:
MOV B,#4 ;;8 color bar
MOV A,#LCMseg ;;Segment
PHOTO10_2:
DIV AB
MOV R2,A
GRADITION_1_3:
CJNE R0,#4,GRADITION_2_3
MOV MEMORY_DATA,#00000011B ;;BLUE
GRADITION_2_3:
CJNE R0,#3,GRADITION_3_3
MOV MEMORY_DATA,#00000010B ;;BLUE
GRADITION_3_3:
CJNE R0,#2,GRADITION_4_3
MOV MEMORY_DATA,#00000001B ;;BLUE
GRADITION_4_3:
CJNE R0,#1,PHOTO10_3
MOV MEMORY_DATA,#00000000B ;;BLUE
PHOTO10_3:
MOV A,MEMORY_DATA
CALL LCMwriteDATA
DJNZ R2,PHOTO10_3
DJNZ R0,PHOTO10_1
MOV R0,#8
DJNZ R1,PHOTO10_1
;;
MOV SECOND_COUNT,#1
CALL DELAY_1S
RET
;;---------------------------------------
INITDZ9664LCM:
SETB CD
SETB RDB
CLR CS
HardwareReset:
CLR RESB
MOV R5,#1
CALL DELAY_5MS
SETB RESB
MOV R5,#10
CALL DELAY_5MS
PARAMETER:
MOV A,#11110000B ;;RE Flag Set
CALL LCMwriteCOMMAND ;;RE2=0,RE1=0,RE0=0
PCSET:
MOV A,#10110001B ;;Power Control Set
CALL LCMwriteCOMMAND
MOV R5,#1
CALL DELAY_50MS
BOOSTER:
MOV A,#11010011B ;;Booster Set
CALL LCMwriteCOMMAND ;;4 times
PCSET2:
MOV A,#10111010B ;;Power Control Set
CALL LCMwriteCOMMAND
BIASSET:
MOV A,#11100001B ;;Bias Setting Set
CALL LCMwriteCOMMAND ;;1/5 bias
DUTYSET:
MOV A,#11000111B ;;LCD Duty Set
CALL LCMwriteCOMMAND ;;1/64 duty
ICSET:
MOV A,#10100011B ;;Increment Control Set
CALL LCMwriteCOMMAND ;R/W VALID,X++/Y++
CALL LCMhome
REFLAG_Y:
MOV A,#11110100B ;;RE Flag Set
CALL LCMwriteCOMMAND ;;RE2=1,RE1=0,RE0=0
VOLSET:
MOV A,#10101111B ;;Electronic Volume Set
CALL LCMwriteCOMMAND
MOV A,#10110111B
CALL LCMwriteCOMMAND
MOV A,#10100100B ;;Electronic Volume Set
CALL LCMwriteCOMMAND
DSCSET:
MOV A,#01100000B ;;Display Starting Common Set
CALL LCMwriteCOMMAND
SPCTR:
MOV A,#01110000B ;;Static Pictograph Control
CALL LCMwriteCOMMAND
DSCTR:
MOV A,#10001000B ;;Display Select Control
CALL LCMwriteCOMMAND
RAMDLSET:
MOV A,#10010000B ;;RAM Data Length Set
CALL LCMwriteCOMMAND ;;8-bit data length
RFtimes:
MOV A,#11010001B
CALL LCMwriteCOMMAND
DISCHARGE:
MOV A,#11100000B ;;Discharge
CALL LCMwriteCOMMAND ;;Off
REFLAG_X2:
MOV A,#11110000B ;;RE Flag Set
CALL LCMwriteCOMMAND ;;RE2=0,RE1=0,RE0=0
;;---------------------------------------
LCMhome:
NOP
DSLSET:
MOV A,#01000000B ;;Display Starting Line Set
CALL LCMwriteCOMMAND
MOV A,#01010000B
CALL LCMwriteCOMMAND
YASET:
MOV A,#00100000B ;;Y Address Register Set
CALL LCMwriteCOMMAND
MOV A,#00110000B
CALL LCMwriteCOMMAND
XASET:
MOV A,#00000000B ;;X Address Register Set
CALL LCMwriteCOMMAND
MOV A,#00010000B
CALL LCMwriteCOMMAND
DISCTL:
MOV A,#10001001B ;;011Display Control Set (1)
CALL LCMwriteCOMMAND
MOV A,#10010000B ;;Display Control Set (2)
JMP LCMwriteCOMMAND
RET
RAMWR:
MOV A,MEMORY_DATA ;;Data Write to Display RAM
CALL LCMwriteDATA
RET
;;---------------------------------------
LCMwriteDATA:
CLR CS
CLR CD
MOV DATA_BUS,A
JMP LCMwrite
;;---------------------------------------
LCMwriteCOMMAND:
CLR CS
SETB CD
MOV DATA_BUS,A
LCMwrite:
CLR WRB
; NOP
NOP
NOP
SETB WRB
NOP
; NOP
NOP
; MOVx @dptr,A ;DATA_BUS,A
; CLR RS
SETB CS
RET
;;---------------------------------------
;;---------------------------------------
;; DELAY TIME= 5ms * R5
; ;/ USED MEMORY OR REGISTER OR PIN INCLUIDE FOLLOW===>
; ;/ REGISTER:
; ;/ R5
; ;/ R6
; ;/ R7
; ;@ INPUT===> R5
;;---------------------------------------
DELAY_5MS:
MOV R6,#20
DEL_5MS:
MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL_5MS
DJNZ R5,DELAY_5MS
RET
;;---------------------------------------
;; DELAY TIME= 50ms * R5
; ;/ USED MEMORY OR REGISTER OR PIN INCLUIDE FOLLOW===>
; ;/ REGISTER:
; ;/ R5
; ;/ R6
; ;/ R7
; ;@ INPUT===> R5
;;---------------------------------------
DELAY_50MS:
MOV R6,#200
DEL_50MS:
MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL_50MS
DJNZ R5,DELAY_50MS
RET
;;---------------------------------------
;; DELAY TIME= 1S * SECOND_COUNT
; ;/ USED MEMORY OR REGISTER OR PIN INCLUIDE FOLLOW===>
; ;/ REGISTER:
; ;/ R4
; ;/ R5
; ;/ R6
; ;/ R7
; ;@ INPUT===> SECOND_COUNT
;;---------------------------------------
DELAY_1S:
MOV R4,SECOND_COUNT
DEL_1S_X:
MOV R5,#20
DEL_1S_Y:
MOV R6,#200
DEL_1S_Z:
MOV R7,#0
DJNZ R7,$
DJNZ R6,DEL_1S_Z
DJNZ R5,DEL_1S_Y
DJNZ R4,DEL_1S_X
RET
;@-------------------------------------------
clearLCM:
MOV R1,#LCMcom ;; set Common number
cl1:
MOV R2,#LCMseg ;;set Segment number
cl2:
mov A,#BLACK
CALL LCMwriteDATA
DJNZ R2,cl2
DJNZ R1,cl1
jmp LCMhome
ret
;@-------------------------------------------
; .DATA
CU1: DB 00H,00H,14H,04H,27H,0BEH,4AH,24H
DB 82H,24H,12H,24H,2FH,0E4H,62H,24H
DB 0AAH,24H,2BH,0A4H,2AH,34H,2BH,0E8H
DB 2EH,20H,24H,20H,20H,20H,00H,00H
;@-------------------------------------------
$INCLUDE (highcrime9664.dat)
$INCLUDE (episode9664.dat)
$INCLUDE (topgun9664.dat)
$INCLUDE (spidermanp5s9664.dat)
$INCLUDE (lovemep1s9664.dat)
$INCLUDE (expend9664.dat)
$INCLUDE (MARIOkart9664.dat)
$INCLUDE (NAPOLEN9664.dat)
$INCLUDE (KYOKO9664.dat)
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -