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

📄 dz9664v0711.asm

📁 1. Source Code for CSTN . 2. Keil ASM with Detail Remark. 3. Winbond Single Chip.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
                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 + -