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

📄 12864.asm

📁 51单片机实验例程
💻 ASM
📖 第 1 页 / 共 2 页
字号:
/*************************************************

无字库的 12864  数据端P0 口
		 控制端 : RW P2.5 	DI P2.6    E P2.7	RST P3.7

**************************************************/

                 
				RW        BIT     P2.5                           
                DI        BIT     P2.6
				E         BIT     P2.7
				CS1       BIT     P3.2 
				CS2       BIT     P3.3 				       
                RST       BIT     P3.7       
                                                                                  
                LCD_DATA  EQU     P0 

;***************************************
VAR            EQU     30H
VAR1           EQU     31H
VAR2           EQU     32H
VAR3           EQU     33H
VAR4           EQU     34H
X_CO           EQU     35H
AY_CO          EQU     36H
REG0           EQU     37H
REG1           EQU     38H
REG2           EQU     39H
REG3           EQU     3AH
REG4           EQU     3BH
REG5           EQU     3CH
REG6           EQU     3DH
REG7           EQU     3EH
REG_T          EQU     3FH

                ORG     00H
                JMP     HELLO

                ORG     30H
HELLO:          MOV     SP,#70H
                MOV     P1,#0FFH                 
                MOV     P3,#00100100B
                CALL    DELAY
;****************************************
START:          MOV     P0,#00H
                CALL    RESET                   ;MODULE INIT.
                MOV     VAR,#3FH                ;DISPLAY ON.
                CALL    WC

                MOV     P0,#0FFH
                CALL    PAGE1
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                MOV     P0,#0FFH
                CALL    PAGE2
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                MOV     P0,#0FFH
                CALL    PAGE3
                CALL    DELAYA
                MOV     P0,#00H
                CALL    DELAYA
                JMP     START
;****************************************
Y_AXIS:         MOV     VAR,#0C0H                ;SPECIFIES A RAM LINE DISPLAY
                CALL    WC                      ;AT THE TOP OF SCREEN.
                MOV     VAR,#0B8H                ;SETS X ADDRESS.
                CALL    WC
                MOV     VAR,#40H                ;SETS THE Y ADDRESS.
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0B9H
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BAH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BBH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BCH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BDH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BEH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
;****************************************
                MOV     VAR,#0BFH
                CALL    WC
                MOV     VAR,#40H
                CALL    WC
                CALL    ICON_S
                RET

ICON_S:         MOV     R0,#32
ICON_S1:        MOV     A,VAR1
                MOV     VAR,A
                CALL    WD1
                MOV     A,VAR2
                MOV     VAR,A
                CALL    WD1
                DJNZ    R0,ICON_S1

                MOV     VAR,#40H                ;SETS THE Y ADDRESS=0
                CALL    WC

                MOV     R0,#32
ICON_S12:       MOV     A,VAR3
                MOV     VAR,A
                CALL    WD2
                MOV     A,VAR4
                MOV     VAR,A
                CALL    WD2
                DJNZ    R0,ICON_S12
                RET

;****************************************
PAGE1:          MOV     AY_CO,#0C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#64
PAGE_UP:        MOV     DPTR,#PAGER_1
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_UP
                MOV     AY_CO,#0C0H
                MOV     REG_T,#REG0
                MOV     DPTR,#PAGER_1
                CALL    PAGES
                CALL    DELAYA
                RET
;****************************************
PAGE2:          MOV     AY_CO,#0C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#60
PAGE_2_UP:      MOV     DPTR,#PAGER_2
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_2_UP
                CALL    DELAYA
                RET
;****************************************
PAGE3:          MOV     AY_CO,#0C0H
                MOV     REG0,#01H
                MOV     REG1,#00H
                MOV     REG2,#00H
                MOV     REG3,#00H
                MOV     REG4,#00H
                MOV     REG5,#00H
                MOV     REG6,#00H
                MOV     REG7,#00H

                MOV     R6,#64
PAGE_3_UP:      MOV     DPTR,#PAGER_3
                MOV     REG_T,#REG0
                INC     AY_CO
                CALL    PAGES
                CALL    DELAYB
                SETB    C
                XCH     A,REG0
                RLC     A
                XCH     A,REG0
                XCH     A,REG1
                RLC     A
                XCH     A,REG1
                XCH     A,REG2
                RLC     A
                XCH     A,REG2
                XCH     A,REG3
                RLC     A
                XCH     A,REG3
                XCH     A,REG4
                RLC     A
                XCH     A,REG4
                XCH     A,REG5
                RLC     A
                XCH     A,REG5
                XCH     A,REG6
                RLC     A
                XCH     A,REG6
                XCH     A,REG7
                RLC     A
                XCH     A,REG7
                DJNZ    R6,PAGE_3_UP
                CALL    DELAYA
                RET

PAGES:          MOV     A,AY_CO
                MOV     VAR,A                   ;SPECIFIES A RAM LINE DISPLAY
                CALL    WC                      ;AT THE TOP OF SCREEN.
                MOV     X_CO,#0B8H

                MOV     R7,#08H
PAGE_LOOP:      MOV     A,X_CO
                MOV     VAR,A                   ;SETS X ADDRESS.
                CALL    WC
                INC     X_CO
                MOV     VAR,#40H                ;SETS THE Y ADDRESS.
                CALL    WC
                CALL    PAGER
                DJNZ    R7,PAGE_LOOP
                RET

PAGER:          MOV     R0,#64
PAGE_ST:        CLR     A

⌨️ 快捷键说明

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