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

📄 oled.asm

📁 在51单片机中实现128*64的oled演示功能
💻 ASM
字号:
                CS      EQU     P2.7
                RES     EQU     P1.7
                DISB    EQU     P1.5
                D_C     EQU     P2.1
                WR      EQU     P3.6
                RD      EQU     P3.7
                VCCON   EQU     P2.4
                COMM    EQU     00H
                DAT     EQU     02H
                ORG     0000H
                AJMP    YM
                ORG     0003H
                RETI
                ORG     000BH
                RETI
                ORG     0013H
                RETI
                ORG     001BH
                RETI
                ORG     0023H
                AJMP    YUART
                ORG     0030H
YM:             SETB    VCCON
                MOV     SP,#45H
                CLR     F0
                MOV     TMOD,#20H
                MOV     TH1,#176D
                MOV     TL1,#176D               ;1.2K
                MOV     PCON,#80H
                SETB    TR1
                MOV     IE,#10H
                ;初始化OLED
                SETB    DISB
                CLR     RES
                ACALL   DL
                SETB    RES
                MOV     A,#0AEH
                ACALL   COMMIN
                CLR     VCCON
                ACALL   DL
                ACALL   DL
                ACALL   DL
                MOV     A,#0ADH
                ACALL   COMMIN
                MOV     A,#8AH
                ACALL   COMMIN
                MOV     A,#0A8H
                ACALL   COMMIN
                MOV     A,#3FH
                ACALL   COMMIN
                MOV     A,#0D3H
                ACALL   COMMIN
                MOV     A,#00H
                ACALL   COMMIN
                MOV     A,#40H
                ACALL   COMMIN
                MOV     A,#0A1H
                ACALL   COMMIN
                MOV     A,#0C8H
                ACALL   COMMIN
                MOV     A,#0A6H
                ACALL   COMMIN
                MOV     A,#0A4H
                ACALL   COMMIN
                MOV     A,#81H
                ACALL   COMMIN
                MOV     A,#5CH
                ACALL   COMMIN
                MOV     A,#0D5H
                ACALL   COMMIN
                MOV     A,#60H
                ACALL   COMMIN
                MOV     A,#0D8H
                ACALL   COMMIN
                MOV     A,#00H
                ACALL   COMMIN
                MOV     A,#0D9H
                ACALL   COMMIN
                MOV     A,#84H
                ACALL   COMMIN
                MOV     A,#0AFH
                ACALL   COMMIN
                NOP
                MOV     R7,#0H
YY2:            MOV     A,#0B0H
                ADD     A,R7
                ACALL   COMMIN
                MOV     A,#02H
                ACALL   COMMIN
                MOV     A,#10H
                ACALL   COMMIN
                MOV     A,R7
                MOV     B,#128D
                MUL     AB
                MOV     DPTR,#TAB
                ADD     A,DPL
                MOV     R5,A
                MOV     A,B
                ADDC    A,DPH
                MOV     R6,A            ;PAGE入口地址在R6,R5中
                MOV     R0,#00H
YY1:            MOV     A,R0
                MOV     DPH,R6
                MOV     DPL,R5
                MOVC    A,@A+DPTR
                ACALL   DATIN
                INC     R0
                CJNE    R0,#129D,YY1
                INC     R7
                CJNE    R7,#8H,YY2
                NOP
                NOP
                NOP
                NOP
                NOP
                MOV     SCON,#50H
                SETB    EA
                MOV     R1,#30H
YY100:          NOP
                ACALL   DL
                MOV     43H,#01H
                JNB     F0,$
                CLR     F0
                MOV     A,30H
                CJNE    A,#0FFH,YM1
                MOV     A,#88H
                SETB    TI
                NOP
                NOP
                NOP
                NOP
                NOP
                AJMP    YM
YM1:            ANL     A,#0F0H
                CJNE    A,#0A0H,YY3
                MOV     A,30H
                ANL     A,#0FH
                MOV     R2,A
                MOV     30H,A
                MOV     R0,#31H
                MOV     A,#00H
YY4:            ADD     A,@R0
                INC     R0
                DJNZ    30H,YY4
                MOV     30H,A
                MOV     A,@R0
                CJNE    A,30H,YY5
                MOV     R0,#31H
YY6:            MOV     A,@R0
                ACALL   COMMIN
                INC     R0
                DJNZ    R2,YY6
                MOV     A,#0AAH
                SETB    TI
                NOP
                NOP
                NOP
                AJMP    YY100
YY5:            MOV     A,#055H
                SETB    TI
                NOP
                NOP
                NOP
                AJMP    YY100
YY3:            CJNE    A,#50H,YY7
                MOV     A,31H
                CLR     C
                SUBB    A,#0AH
                JC      YY8
                MOV     A,#055H
                SETB    TI
                NOP
                NOP
                NOP
                AJMP    YY100
YY8:            MOV     R4,#00H
                MOV     A,31H
                MOV     B,#16D
                MUL     AB
                MOV     DPTR,#TAB1
                ADD     A,DPL
                MOV     R5,A
                MOV     A,DPH
                ADDC    A,#0H
                MOV     R6,A
                MOV     A,#0B5H
                ACALL   COMMIN
                MOV     A,#02H
                ACALL   COMMIN
                MOV     A,#10H
                ACALL   COMMIN
YY9:            MOV     DPH,R6
                MOV     DPL,R5
                MOV     A,R4
                MOVC    A,@A+DPTR
                ACALL   DATIN
                INC     R4
                CJNE    R4,#08H,YY9
                MOV     A,#0B6H
                ACALL   COMMIN
                MOV     A,#02H
                ACALL   COMMIN
                MOV     A,#10H
                ACALL   COMMIN
YY10:           MOV     DPH,R6
                MOV     DPL,R5
                MOV     A,R4
                MOVC    A,@A+DPTR
                ACALL   DATIN
                INC     R4
                CJNE    R4,#17D,YY10
                MOV     A,#0AAH
                SETB    TI
                NOP
                NOP
                NOP
                AJMP    YY100
YY7:            MOV     A,#11H
                SETB    TI
                NOP
                NOP
                NOP
                AJMP    YY100

YUART:          JNB     RI,YA1
                CLR     RI
                CJNE    R3,#00H,YA2
                MOV     A,SBUF
                CJNE    A,#0F5H,YRETI
                INC     R3
YRETI:          RETI
YA2:            MOV     A,SBUF
                CJNE    A,#0FAH,YA3
                MOV     R1,#30H
                MOV     R3,#00H
                SETB    F0
                RETI
YA3:            MOV     @R1,A
                INC     R1
                RETI
YA1:            JNB     TI,YRETI
                DJNZ    43H,YA4
                MOV     SBUF,A
YA4:            CLR     TI
                RETI

COMMIN:         CLR     D_C
                SETB    RD
                CLR     WR
                CLR     CS
                MOV     P0,A
                NOP
                NOP
                SETB    CS
                SETB    WR
                RET
DATIN:          SETB    D_C
                SETB    RD
                CLR     WR
                CLR     CS
                MOV     P0,A
                NOP
                NOP
                SETB    CS
                SETB    WR
                RET

DL:             MOV     44H,#0FFH
DLOP:           NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
                DJNZ    44H,DLOP
                RET

TAB:
DB  0FFH,001H,001H,001H,001H,001H,0F9H,0FDH,0F1H,081H,0F1H,0FDH,0F1H,001H,001H,0FDH
DB  0FDH,0FDH,081H,0FDH,0FDH,0FDH,0E1H,0F1H,0F9H,0F9H,09DH,01DH,009H,001H,0FDH,0FDH
DB  0FDH,0E1H,0C1H,0F1H,0F9H,0FDH,03DH,01DH,011H,001H,001H,0FFH,000H,000H,000H,000H
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  0FFH,000H,000H,000H,000H,0FEH,0FFH,0FFH,03FH,07FH,0DFH,0FFH,07FH,07CH,080H,09FH
DB  0FFH,0FFH,0F4H,0FFH,07FH,0FFH,0AEH,0A0H,061H,0F7H,07FH,0BEH,09AH,000H,0FFH,07FH
DB  07FH,0F8H,08FH,07FH,07FH,0F8H,0E0H,060H,020H,000H,000H,0FFH,000H,000H,000H,000H
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  03FH,020H,020H,020H,020H,03FH,02FH,02FH,025H,02FH,02FH,02DH,02FH,026H,03FH,02FH
DB  02FH,02FH,02FH,02FH,02CH,02FH,02FH,02FH,020H,027H,02FH,02FH,02FH,02FH,027H,02FH
DB  028H,02FH,02FH,02FH,02DH,03FH,03FH,02FH,027H,022H,020H,03FH,000H,000H,000H,000H
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
DB  000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

TAB1:
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000,00FH,010H,020H,020H,010H,00FH,000
DB  000H,010H,010H,0F8H,000H,000H,000H,000H,000,020H,020H,03FH,020H,020H,000H,000
DB  000H,070H,008H,008H,008H,088H,070H,000H,000,030H,028H,024H,022H,021H,030H,000
DB  000H,030H,008H,088H,088H,048H,030H,000H,000,018H,020H,020H,020H,011H,00EH,000
DB  000H,000H,0C0H,020H,010H,0F8H,000H,000H,000,007H,004H,024H,024H,03FH,024H,000
DB  000H,0F8H,008H,088H,088H,008H,008H,000H,000,019H,021H,020H,020H,011H,00EH,000
DB  000H,0E0H,010H,088H,088H,018H,000H,000H,000,00FH,011H,020H,020H,011H,00EH,000
DB  000H,038H,008H,008H,0C8H,038H,008H,000H,000,000H,000H,03FH,000H,000H,000H,000
DB  000H,070H,088H,008H,008H,088H,070H,000H,000,01CH,022H,021H,021H,022H,01CH,000
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000,000H,031H,022H,022H,011H,00FH,000

⌨️ 快捷键说明

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