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

📄 595-c4-bb.asm

📁 LED点阵显示屏
💻 ASM
字号:
;89S52      3字
;F0=12M   T0=1US
;“请交费”点振字库显示
SER14 EQU P1.5
SCK11 EQU P1.6
RCK12 EQU P1.7
;----------------------------
         ORG        00H
         JMP        MAIN
;---------------------------- 10
TC:      MOV        50H,#0FAH
H2:      DJNZ       50H,H2
         RET
;----------------------------
TB:      MOV        51H,#02H
H3:      CALL       TC
         DJNZ       51H,H3
         RET
;----------------------------
SCKO:   SETB        SCK11   ;时钟  20
         NOP
         CLR        SCK11
         RET
;----------------------------
READ:    CALL       TABEL   ;读数据的第一位
         CPL        A       ;在我们的板上0为点振亮,1为点振灭 26
         JB         ACC.0,M1;依次测试这8个位的数据
         CLR        SER14
         JMP        M2
M1:      SETB       SER14     ;每测试一个数据,都要调用时钟  30
M2:      CALL       SCKO    ;数据才能被取到.
;---------------------------
         JB         ACC.1,M3 ;读数据的第二位
         CLR        SER14
         JMP        M4
M3:      SETB       SER14
M4:      CALL       SCKO
;------------------------
         JB         ACC.6,M5 ;读数据的第三位
         CLR        SER14                       ;40
         JMP        M6
M5:      SETB       SER14
M6:      CALL       SCKO
;------------------------
         JB         ACC.7,M7 ;读数据的第四位
         CLR        SER14
         JMP        M8
M7:      SETB       SER14
M8:      CALL       SCKO
;---------------------------
         JB         ACC.5,M9 ;读数据的第五位
         CLR        SER14
         JMP        M10
M9:      SETB       SER14
M10:     CALL       SCKO
;----------------------------
         JB         ACC.2,M11 ;读数据的第六位
         CLR        SER14
         JMP        M12
M11:     SETB       SER14
M12:     CALL       SCKO
;----------------------------
         JB         ACC.4,M13 ;读数据的第七位
         CLR        SER14
         JMP        M14
M13:     SETB       SER14
M14:     CALL       SCKO
;-------------------------------
         JB         ACC.3,M15  ;读数据的第八位
         CLR        SER14
         JMP        M16
M15:     SETB       SER14
M16:     CALL       SCKO
         RET
;----------------------------
RCKO:      SETB       RCK12   ;把行数据锁存起来
         NOP
         CLR        RCK12
         RET
;----------------------------
TABEL:  INC  A         ;在这个表中,1为点振亮,0为点振灭
        MOVC  A,@A+PC  ;所以调用完数据后,在我们的板上用要把
        RET            ;数据取反才可以.
        ;        费           交         
        DB   040H,  002H,   000H, 002H  
        DB   0F8H,  03FH,   000H, 001H  
        DB   048H,  002H,   080H, 001H   
        DB   0F8H,  03FH,   0FEH, 07FH   
        DB   040H,  022H,   020H, 008H  
        DB   0FEH,  03FH,   018H, 00CH   
        DB   042H,  004H,   00CH, 010H   
        DB   04AH,  008H,   020H, 020H   

        DB   0F4H,  01FH,   030H, 008H   
        DB   010H,  068H,   060H, 004H   
        DB   010H,  009H,   0C0H, 002H   
        DB   010H,  009H,   080H, 001H   
        DB   010H,  009H,   040H, 003H   
        DB   0C0H,  002H,   030H, 004H   
        DB   038H,  00CH,   01CH, 018H   
        DB   010H,  030H,   008H, 060H   
;----------------------------
MAIN:   MOV         SP,#30H   ;上电初始化
        MOV         P0,#0FFH                     
        MOV         P1,#0FFH
        MOV         P2,#0FFH
        ;MOV         P3,#0FFH
        CLR         SCK11   ;清时钟
        CLR         RCK12   ;锁存时钟
        MOV         R2,#0FFH
;-----------------------------
ZZ1:    INC         R2
        MOV         A,R2        ;一列
        CALL        READ        ;调数据
        CJNE        R2,#1,ZZ1 ;每行12个数据是否调用完?
        SETB        P2.7        ;关上一列
        CALL        RCKO          ;确认以上数据被锁存
        CLR         P0.0        ;开下一列
 ;----------------------------
ZZ2:    INC         R2
        MOV         A,R2        ;二列
        CALL        READ
        CJNE        R2,#3,ZZ2
        SETB        P0.0
        CALL        RCKO
        CLR         P0.1
;-------------------------------
ZZ3:    INC         R2
        MOV         A,R2         ;三列
        CALL        READ
        CJNE        R2,#5,ZZ3
        SETB        P0.1
        CALL        RCKO
        CLR         P0.2
;--------------------------------
ZZ4:    INC         R2
        MOV         A,R2         ;四列
        CALL        READ
        CJNE        R2,#7,ZZ4
        SETB        P0.2
        CALL        RCKO
        CLR         P0.3
;----------------------------
ZZ5:    INC         R2
        MOV         A,R2         ;五列
        CALL        READ
        CJNE        R2,#9,ZZ5
        SETB        P0.3
        CALL        RCKO
        CLR         P0.4
;----------------------------
ZZ6:    INC         R2
        MOV         A,R2         ;六列
        CALL        READ
        CJNE        R2,#11,ZZ6
        SETB        P0.4
        CALL        RCKO
        CLR         P0.5
;-----------------------------
ZZ7:    INC         R2
        MOV         A,R2         ;七列
        CALL        READ
        CJNE        R2,#13,ZZ7
        SETB        P0.5
        CALL        RCKO
        CLR         P0.6
;-----------------------------
ZZ8:    INC         R2
        MOV         A,R2         ;八列
        CALL        READ
        CJNE        R2,#15,ZZ8
        SETB        P0.6
        CALL        RCKO
        CLR         P0.7
;-----------------------------
YY1:    INC         R2           ;九列
        MOV         A,R2
        CALL        READ
        CJNE        R2,#17,YY1
        SETB        P0.7
        CALL        RCKO
        CLR         P2.0
 ;----------------------------
YY2:    INC         R2
        MOV         A,R2         ;十列
        CALL        READ
        CJNE        R2,#19,YY2
        SETB        P2.0
        CALL        RCKO
        CLR         P2.1
;-------------------------------
YY3:    INC         R2
        MOV         A,R2         ;十一列
        CALL        READ
        CJNE        R2,#21,YY3
        SETB        P2.1
        CALL        RCKO
        CLR         P2.2
;--------------------------------
YY4:    INC         R2
        MOV         A,R2         ;十二列
        CALL        READ
        CJNE        R2,#23,YY4
        SETB        P2.2
        CALL        RCKO
        CLR         P2.3
;----------------------------
YY5:    INC         R2
        MOV         A,R2         ;十三列
        CALL        READ
        CJNE        R2,#25,YY5
        SETB        P2.3
        CALL        RCKO
        CLR         P2.4
;----------------------------
YY6:    INC         R2
        MOV         A,R2        ;十四列
        CALL        READ
        CJNE        R2,#27,YY6
        SETB        P2.4
        CALL        RCKO
        CLR         P2.5
;-----------------------------
YY7:    INC         R2
        MOV         A,R2       ;十五列
        CALL        READ
        CJNE        R2,#29,YY7
        SETB        P2.5
        CALL        RCKO
        CLR         P2.6
;-----------------------------
YY8:    INC         R2
        MOV         A,R2       ;十六列
        CALL        READ
        CJNE        R2,#31,YY8
        SETB        P2.6
        CALL        RCKO
        CLR         P2.7
        MOV         R2,#0FFH
        JMP         ZZ1
;----------------------
        END

⌨️ 快捷键说明

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