找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5206|回復(fù): 1
收起左側(cè)

[原創(chuàng)]低成本SN單片機(jī)I/O直驅(qū)LCD實(shí)戰(zhàn)--源程序2

[復(fù)制鏈接]
ID:27770 發(fā)表于 2011-1-17 16:37 | 顯示全部樓層 |閱讀模式

低成本SN單片機(jī)I/O直驅(qū)LCD實(shí)戰(zhàn)--源程序2

;=============================================
B_MOV8W:;個(gè)位的9位分為3份,放到3個(gè)筆段寄存器的最高2位去
        MOV     TTL,A
        BTS0    R.0
        BSET    SEG0H.0

        RLCM    TTL
        RLCM    SEG0;左移2位,一共8位
        RLCM    TTL
        RLCM    SEG0

        BTS0    TTL.7
        BSET    SEG1H.0 ;每3位的頭1位是到高字節(jié)寄存器
        RLCM    TTL;白白左移1位,

        RLCM    TTL;左移2位,
        RLCM    SEG1
        RLCM    TTL
        RLCM    SEG1

        BTS0    TTL.7
        BSET    SEG2H.0
        RLCM    TTL;白白左移1位,

        RLCM    TTL;左移2位,
        RLCM    SEG2
        RLCM    TTL
        RLCM    SEG2
        ret
B_MOV8WA:
        MOV     TTL,A
        BTS0    R.0
        BSET    FC
        BTS1    R.0
        BCLR    FC
        RLCM    SEG0

        RLCM    TTL
        RLCM    SEG0;左移2位,一共8位
        RLCM    TTL
        RLCM    SEG0

        RLCM    TTL;左移2位,
        RLCM    SEG1
        RLCM    TTL
        RLCM    SEG1
        RLCM    TTL
        RLCM    SEG1

        RLCM    TTL
        RLCM    SEG2
        RLCM    TTL;左移2位,
        RLCM    SEG2
        RLCM    TTL
        RLCM    SEG2
        ret
;============================================================
ISR:; 中斷服務(wù)子程序
        PUSH
B_T0ISR:
        BTS1    FT0IRQ
        JMP     B_POP
        BCLR    FT0IRQ

        MOV_    P1M,#00H

        BTS0    FPSD;顯示采用雙向倒相方式進(jìn)行
        JMP     B_1111;但是,似乎單向方式也是一樣的.
        ;試驗(yàn)證明,采用反相方式是更加穩(wěn)定的.
        MBZ0    XSJS
        JMP     @F

        BCLR    FP50
        BTS0    SEG0H.0
        BSET    FP50 ;B2
        ;-----如果是使用 MOV P5,A,就要預(yù)先有一個(gè)寄存器來(lái)轉(zhuǎn)移這個(gè)數(shù)據(jù)
        MOV_    P2,SEG0;F,A,B,F,A,B,*
        BSET    FP17M
        BSET    FP17
        INCMS   XSJS
        JMP     B_TC0;B_LOOP
@@:
        MBC01   XSJS
        JMP     @F

        BCLR    FP50
        BTS0    SEG1H.0
        BSET    FP50 ;C2

        MOV_    P2,SEG1;E,G,C,E,G,C,*
        BSET    FP16M
        BSET    FP16
        INCMS   XSJS
        JMP     B_TC0;B_LOOP
@@:
        BCLR    FP50
        BTS0    SEG2H.0
        BSET    FP50 ;LO

        MOV_    P2,SEG2;*,D4,*,DP3,D3,*,COL
        BSET    FP15M
        BSET    FP15
        CLR     XSJS
        BSET    FPSD
        JMP     B_TC0
B_1111:
        MBZ0    XSJS
        JMP     @F

        BSET    FP50 ;LO
        BTS0    SEG0H.0
        BCLR    FP50

        MOV     A,SEG0;F,A,B,F,A,B,*
        XOR     A,#0FFH
        MOV     P2,A
        BSET    FP17M
        BCLR    FP17
        INCMS   XSJS
        JMP     B_TC0;B_LOOP
@@:
        MBC01   XSJS
        JMP     @F

        BSET    FP50 ;LO
        BTS0    SEG1H.0
        BCLR    FP50

        MOV     A,SEG1;E,G,C,E,G,C,*
        XOR     A,#0FFH
        MOV     P2,A
        BSET    FP16M
        BCLR    FP16
        INCMS   XSJS
        JMP     B_TC0;B_LOOP
@@:
        BSET    FP50 ;LO
        BTS0    SEG2H.0
        BCLR    FP50

        MOV     A,SEG2;*,D4,*,DP3,D3,*,COL
        XOR     A,#0FFH
        MOV     P2,A
        BSET    FP15M
        BCLR    FP15
        CLR     XSJS
        BCLR    FPSD
B_TC0:
        MOV_    T0C,#131
        INCMS   SZ03S
        CMPRS1  SZ03S,#50;25;/50;30
        JMP     B_POP
        CLR     SZ03S
        BSET    FK03S

        ;///5*30=150,
        INCMS   SZ05S
        CMPRS1  SZ05S,#3;5
        JMP     B_POP
        CLR     SZ05S
        CPLF_   FSS05S
        BSET    FK05S
        BSET    FK03S
;-----------------------------------
B_POP:;2604 退出中斷
        POP
        RETI
;*************************************************
B_KEY:
        RET
;==================================================
B_ADZH:
        RET
;=======================================
B_READ:;AD 通知讀數(shù)
        RET
;================================================================
B_ADCULI:
        RET
;================================================================
B_OUT:
        RET
;==================================================================
B_ZBLED:
        RET
         ;準(zhǔn)備顯示數(shù)據(jù)
        MBZ0F   KEYJS
        JMP     B_XSAD
        BTS0    FK2S
        JMP     @F
        BTS0    FSS05S
        JMP     B_XSXXX
@@:
        MBC01   KEYJS
        JMP     @F
        MOV_    TTL,HIL
        MOV_    TTH,HIH
        JMP     B_HEX_BCD
@@:
        MBC02   KEYJS
        JMP     @F
        MOV_    TTL,LOL
        MOV_    TTH,LOH
        JMP     B_HEX_BCD
@@:
        MBC03   KEYJS
        JMP     B_XSAD
        MOV_    XSQW,#11110111B ;-
        JMP     B_GGG
B_XSAD:
        BTS1    F_DIS
        RET
        BCLR    F_DIS
        BTS1    FHHH
        JMP     @F
        MOV_    XSQW,#01100001B
        MOV     XSBW,A
        MOV     XSSW,A
        MOV     XSGW,A
        RET
@@:
        MOV_    TTL,DVL
        MOV_    TTH,DVH
        JMP     B_HEX_BCD
B_XSXXX:
        MBC01   KEYJS
        JMP     @F
        MOV_    XSQW,#01100001B;/H
        JMP     B_GGG
@@:
        MBC02   KEYJS
        JMP     @F
        MOV_    XSQW,#00111101B;/L
        JMP     B_GGG
@@:
        MBC03   KEYJS
        RET
        MOV_    XSQW,#01110000B;/P
B_GGG:
        MOV_    XSBW,#11110111B ;-
        MOV     XSSW,A
        MOV     XSGW,A
        RET
;====================================
B_HEX_BCD:;轉(zhuǎn)換為十進(jìn)制BCD碼
        CLR  TQW
        CLR  TBW
        CLR  TSW
B_BCD0:
        CLR     R
        MOV     A,TTL
        SUB     A,#100
        MOV     TTL,A
        MOV     A,TTH
        SBC     A,R
        MOV     TTH,A
        BTS1    FC
        JMP    @F
B_BCD1:
        INCMS   TBW
        NOP
        CMPRS1  TBW,#10
        JMP    B_BCD0
        CLR     TBW
        INCMS   TQW
        JMP    B_BCD0
@@:
        MOV   A,#100
        ADD  TTL,A
X_BCD1:
        MOV   A,TTL
        SUB   A,#10
        BTS1    FC
        JMP    @F
        MOV   TTL,A
        INCMS   TSW
        JMP    X_BCD1
@@:
        MOV     A,TTL
;       MOV     XSGW,A

;       MOV     A,TGW
        CALL    LED_TABLE
        MOV     XSGW,A

        MOV     A,TSW
        CALL    LED_TABLE
        MOV     XSSW,A

        MOV     A,TBW
        CALL    LED_TABLE
        MOV     XSBW,A

        MOV     A,TQW
        CALL    LED_TABLE
        MOV     XSQW,A
        RET

;========================================
B_LEDXS:
        RET
;===================================
        ENDP

(完成----我無(wú)法上傳壓縮包文件,僅可以分幾次完成一份文章!)

回復(fù)

使用道具 舉報(bào)

ID:28220 發(fā)表于 2011-3-4 19:50 | 顯示全部樓層
匯編呀!暈,咱看不了!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表