新聞中心

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

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

        作者: 時間:2016-12-02 來源:網絡 收藏
        緊接(2)SN8P2743比較器初試:

        接著,對可以一個引腳就用起來的比較器 1 進行測試,通過軟件選擇內部參考的 CM1M 寄存器如下:

        09DH 位7 位6 位5 位4 位3 位2 位1 位0
        CM1M CM1EN CM1OEN CM1OUT CM1SF CM1G CM1RS2 CM1RS1 CM1RS0
        讀/寫 R/W R/W R/W R/W R/W R/W R/W R/W
        復位后 0 0 0 0 0 0 0 0
        位[2:0] CM1RS[2:0]:比較器CM1 正極電壓選擇控制位。
        000=CM1P 引腳為比較器正極輸入引腳,GPIO 功能被屏蔽,
        001=內部0.2*Vdd,CM1P 是I/O引腳,
        010=內部0.3*Vdd,CM1P 是I/O引腳,
        011=內部0.4*Vdd,CM1P 是I/O引腳,
        100=內部0.5*Vdd,CM1P 是I/O引腳,
        101=內部0.6*Vdd,CM1P 是I/O引腳,
        110=內部0.7*Vdd,CM1P 是I/O引腳,
        111=內部0.8*Vdd,CM1P 是I/O引腳。

        每一種內部參考我都試過,動作速率非常快!

        事情到這里,我就聯想到其在實際測量電路上是否可以滿足使用要求 ------ 分辨力可以達到多少呢?

        我搭接了一個恒流源,大約電流在 10 uA , 對一個 47u 的電容器恒流充電,這就可以產生一個隨時間升高的電壓,把這個電壓輸入到比較器 1 的反相輸入引腳.

        解決了充電問題,還得有放電通道啊! 恰好, 2743 有一個開漏輸出引腳 P01 ------ 什么叫開漏? 就是僅僅具有輸出低電平的拉電流功能,不能輸出高電平,用在這里給電容器放電簡直天衣無縫! 恰到好處!

        我使用內部 16/4MHZ 的時鐘,利用定時器 T0 幫助計數,得到下面一份表格:----- 每一個數據都是實測來的哦!



        從內部參考 1.0V 開始, 到內部參考 4.0V 為止, 一共測量到 7 個數據, 每 2 格數據之差就是輸入電壓 0.5V 之差的讀數, 按照計算,其最大分辨力達到了 21.746uV/字 . 計算一下, 12 位 AD 的最大分辨力是多少 ? 即使是測量 K 熱電偶, 40uV/℃ 的微小電壓,都可以分辨 出差不多 2 個字來! ------ 比較器 2 與比較器 1 差不多性質,就沒有重復測試了!

        但是,這么好的分辨力,要應用到實際項目,還有許多問題需要解決 .比較明顯的是非線性, 輸入電壓越高, 分辨力越好,說明恒流源出了問題, 很可能已經受到飽和干擾了! (因為內部參考輸入電壓已經 4.0V ) .

        但是,實際工程上并不需要那么大跨度的輸入電壓,往往幾百 mV 就足夠, 例如 ICL7107 ,輸入±200mV 就可以了! 這就會讓恒流源非線性得到很大改善!

        測試表格的數據,已經展現了非常美好的應用前景!進一步的應用,有待下次再發帖子了!

        為了方便大家參考,我把芯片手冊里有關比較器和放大器的內容摘錄出來, 把圖片盡量加大,提供給大家參考!(簡體中文的呢!)
        需要的請下載: 2743 的比較器與放大器.pdf

        =========================================================匯編測試程序
        上面的比較器測試數據表格,由下面測試程序而來,特出補充:

        .CODE
        ORG 0
        JMP B_RESET
        ORG 8
        JMP B_IRS
        ORG 10H
        ;=====================================================================
        B_RESET:;42_3:ROM:4K*16位。RAM:128字節。8層堆棧。
        @RST_WDT
        MOV_ STKP,#07FH
        ZM0 PFLAG
        ZM0 OSCM
        ZM0 INTRQ
        ZM0 INTEN
        @RST_WDT
        ZM0 Y; RAM 庫 0=128RAM
        MOV_ Z,#7FH
        @@:
        CLR @YZ
        DECMS Z
        JMP @B
        CLR @YZ
        ;-----------------------------------------------
        MOV A,#00H
        MOV P0,A
        MOV P4,A
        MOV P1,A

        MOV_ P0M,#00H
        MOV_ P4M,#0FFH
        MOV_ P1M,#00H

        MOV A,#0FFH
        MOV P4UR,A
        MOV P1UR,A
        MOV P0UR,A
        ZB0 FP01 ;6P,;// P0.1/PWM0,I/O P01:;漏極開路的輸出引腳。PWM0WM輸出引腳和脈沖輸出引腳。
        ;--------------------------------------------------------------
        ;FT0初始化
        ZB0 FT0ENB
        MOV_ T0M,#70H ;16US-------70H=2,60H=4,50H=8,40H=16,30H=32
        MOV_ T0C,#0;//8*250=2mS---30H=4mS.---20H=8mS--00H=32mS
        ;TC1初始化
        ZB0 FTC0ENB
        MOV_ ZZZ,#60H
        /*OPEN:OP Amp 放大器控制位。
        0=禁止,P1.0、P1.1、P1.2 是I/O模式,
        1=使能,P1.0、P1.1、P1.2 為OP-AMP 引腳。*/
        ; ZB1 FOPEN
        ; CALL B_COM0SS;測試比較器0
        CALL B_COM0SS_1;測試比較器1
        ZB1 FGIE;開中斷
        ;==============================================================
        B_LOOP:
        @RST_WDT
        NOP
        NOP
        NOP
        NOP
        BS0 FT0IEN
        JMP B_LOOP
        BS1 FCM1OUT
        JMP B_LOOP
        Z3M0 SSSH,SSSM,SSSL
        ZB0 FT0IRQ
        ZB1 FP01
        CLR T0C ;,#0
        ZB1 FCM1IEN
        Z2B1 FT0IEN,FT0ENB
        NOP
        NOP
        NOP
        NOP
        JMP B_LOOP
        ;====================================================================


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 嘉黎县| 祁门县| 门头沟区| 平昌县| 银川市| 定兴县| 定西市| 沈丘县| 宾川县| 蒙阴县| 周宁县| 辉县市| 东兰县| 古丈县| 自贡市| 昆明市| 博兴县| 庆云县| 嫩江县| 萨嘎县| 互助| 安乡县| 榆树市| 和田市| 新蔡县| 鹿泉市| 上犹县| 海城市| 梅州市| 和顺县| 东平县| 黄龙县| 清徐县| 县级市| 呼和浩特市| 镇平县| 永川市| 色达县| 昔阳县| 深泽县| 故城县|