新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SN 8 位單片機 SN8P2743 應用實踐(4)

        SN 8 位單片機 SN8P2743 應用實踐(4)

        作者: 時間:2016-12-02 來源:網絡 收藏
        接 匯編測試程序:

        B_COM0SS:;比較器CM0:
        CLR CM0M ; 清CM0M 寄存器。; 復位比較器CM0。
        ;設置比較器CM0 的功能模式。
        ;B0BCLR FCM0SF ; 普通比較器模式。
        B0BSET FCM0SF ; 特殊功能模式。
        ;設置比較器CM0 的輸出引腳。
        B0BCLRFCM0OEN ; 禁止比較器CM0 的輸出引腳。 ---- 沒有輸出引腳
        ; B0BSET FCM0OEN ; 使能比較器CM0 的輸出引腳。
        ;比較器不要外部輸出引腳時,接口板上芯片插座引腳是普通I/O,比較器引腳則仍然是比較器引腳.
        ;比較器使用外部輸出引腳時,接口板上芯片插座引腳=比較器引腳.
        ;僅僅 2 個引腳 ( IN+_IN- )就可以構成一個比較器!
        ; 設置比較器CM0 中斷觸發沿。
        B0BCLR FCM0G ; 下降沿。由高變低(CM0P<CM0N).
        ; B0BSET FCM0G ; 上升沿。比較器輸出狀態由低變高(CM0P>CM0N).
        ;設置比較器CM0 輸出de-bounce。
        MOV A,#00H ; 通過CM0D[3:0]設置比較器CM0 輸出de-bounce。
        B0MOV CMDB0,A
        B0BCLR FCM0IRQ; 清CM0IRQ。
        ;使能比較器CM0 和中斷功能。
        B0BSET FCM0IEN ; 使能比較器CM0 中斷功能。
        B0BSET FCM0EN ; 使能比較器CM0。
        RET
        ;=============================================================
        B_COM0SS_1: ;// 比較器CM1:
        CLR CM1M ; 清CM1M 寄存器。; 復位比較器CM1。
        ; 設置比較器CM1 正極輸入端。 通過CM1RS[2:0]設置比較器CM1 正極輸入端。
        ;000=CM1P 引腳為比較器正極輸入引腳,GPIO 功能被屏蔽,
        ;MOV A,#00000111B ; 100B=4.0V -- 讀數=105709
        ;MOV A,#00000110B ; 100B=3.5V -- 讀數=79147
        ; MOV A,#00000101B ; 100B=3.0V -- 讀數=60305
        ; MOV A,#00000100B ; 100B=2.5V -- 讀數=45723
        ;MOV A,#00000011B ; 11B=2.0V -- 讀數=33659
        ;MOV A,#00000010B ; 10B=1.5V -- 讀數=23601
        MOV A,#00000001B ; 10B=1.0V -- 讀數=14908
        B0MOV CM1M,A ; ---- 沒有輸入+ 引腳
        ; 設置比較器CM1 功能模式。
        B0BCLR FCM1SF ; 普通比較器。
        ;B0BSET FCM1SF ; 特殊功能。
        ; 設置比較器CM1 輸出引腳。
        B0BCLR FCM1OEN ; 禁止。 ---- 沒有輸出引腳
        ;B0BSET FCM1OEN ; 使能。
        ;比較器不要外部輸出引腳時,接口板上芯片插座引腳是普通I/O,比較器引腳則仍然是比較器引腳.
        ;比較器使用外部輸出引腳時,接口板上芯片插座引腳=比較器引腳.
        ;僅僅一個 IN- 就可以構成一個比較器!
        ;設置比較器CM1 中斷觸發沿。
        B0BCLR FCM1G ; 下降沿。翻轉=2.552V/2.570V
        ; B0BSET FCM1G ; 上升沿。翻轉=2.552V/2.570V
        ; 設置比較器CM1 輸出de-bounce。
        MOV A,#00H ; 通過CM1D[3:0]設置比較器CM1 輸出de-bounce。
        B0MOV CMDB0,A
        ; 清CM1IRQ。
        B0BCLR FCM1IRQ
        ; 使能比較器CM1 和中斷功能。
        B0BSET FCM1IEN ; 使能比較器CM1 中斷功能。
        B0BSET FCM1EN ; 使能比較器CM1。
        RET
        ;***************************************************************
        B_IRS:
        H_PUSH
        ;比較器1 中斷
        BS1 FCM1IEN ; 使能比較器CM0 中斷功能。
        JMP B_IRST0
        BS1 FCM1IRQ; 清CM0IRQ。
        JMP B_IRST0
        ZB0 FCM1IRQ; 中斷發生時,FCM0OUT 并不對!還沒有發生翻轉就中斷了!
        BS0 FCM1OUT;IN+>IN- 則=1,否則=0!--- 輸入腳加濾波電容就很好了! 0.8mV 動作!
        JMP B_IRST0
        Z2B0 FT0ENB,FT0IEN
        ZB0 FP01
        ZB0 FCM1IEN
        JMP B_IRQT01
        B_IRST0:
        BS1 FT0IEN
        JMP B_EXISR
        B_IRQT01:
        BS1 FT0IRQ
        JMP B_EXISR
        ZB0 FT0IRQ
        INCMS SSSL
        JMP @F
        INCMS SSSM
        JMP @F
        INCMS SSSH
        @@:
        NOP
        NOP
        NOP
        JMP B_EXISR
        ;------------------------------------------------------------------------
        ;比較器0 中斷
        BS1 FCM0IEN ; 使能比較器CM0 中斷功能。
        JMP B_EXISR
        BS1 FCM0IRQ; 清CM0IRQ。
        JMP B_EXISR
        ZB0 FCM0IRQ; 中斷發生時,FCM0OUT 并不對!還沒有發生翻轉就中斷了!
        BS0 FCM0OUT;IN+>IN- 則=1,否則=0!--- 輸入腳加濾波電容就很好了! 0.8mV 動作!
        JMP B_EXISR
        NOP
        NOP
        NOP
        B_EXISR:
        H_POP
        RETI
        ;*************************************************


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 万州区| 宁陵县| 旅游| 屏山县| 阿瓦提县| 临洮县| 南平市| 通州区| 茌平县| 湘潭市| 团风县| 杂多县| 绥化市| 乐至县| 遂宁市| 互助| 定远县| 鹤山市| 个旧市| 凤山市| 湄潭县| 连平县| 汝城县| 牡丹江市| 个旧市| 宁波市| 桦甸市| 天峻县| 团风县| 景宁| 象州县| 泽库县| 南丹县| 福海县| 文昌市| 边坝县| 南皮县| 萍乡市| 萨迦县| 旬邑县| 朝阳区|