SN 8 位單片機(jī) SN8P2743 應(yīng)用實(shí)踐(3)
接著,對(duì)可以一個(gè)引腳就用起來的比較器 1 進(jìn)行測(cè)試,通過軟件選擇內(nèi)部參考的 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
復(fù)位后 0 0 0 0 0 0 0 0
位[2:0] CM1RS[2:0]:比較器CM1 正極電壓選擇控制位。
000=CM1P 引腳為比較器正極輸入引腳,GPIO 功能被屏蔽,
001=內(nèi)部0.2*Vdd,CM1P 是I/O引腳,
010=內(nèi)部0.3*Vdd,CM1P 是I/O引腳,
011=內(nèi)部0.4*Vdd,CM1P 是I/O引腳,
100=內(nèi)部0.5*Vdd,CM1P 是I/O引腳,
101=內(nèi)部0.6*Vdd,CM1P 是I/O引腳,
110=內(nèi)部0.7*Vdd,CM1P 是I/O引腳,
111=內(nèi)部0.8*Vdd,CM1P 是I/O引腳。
每一種內(nèi)部參考我都試過,動(dòng)作速率非常快!
事情到這里,我就聯(lián)想到其在實(shí)際測(cè)量電路上是否可以滿足使用要求 ------ 分辨力可以達(dá)到多少呢?
我搭接了一個(gè)恒流源,大約電流在 10 uA , 對(duì)一個(gè) 47u 的電容器恒流充電,這就可以產(chǎn)生一個(gè)隨時(shí)間升高的電壓,把這個(gè)電壓輸入到比較器 1 的反相輸入引腳.
解決了充電問題,還得有放電通道啊! 恰好, 2743 有一個(gè)開漏輸出引腳 P01 ------ 什么叫開漏? 就是僅僅具有輸出低電平的拉電流功能,不能輸出高電平,用在這里給電容器放電簡(jiǎn)直天衣無縫! 恰到好處!
我使用內(nèi)部 16/4MHZ 的時(shí)鐘,利用定時(shí)器 T0 幫助計(jì)數(shù),得到下面一份表格:----- 每一個(gè)數(shù)據(jù)都是實(shí)測(cè)來的哦!
從內(nèi)部參考 1.0V 開始, 到內(nèi)部參考 4.0V 為止, 一共測(cè)量到 7 個(gè)數(shù)據(jù), 每 2 格數(shù)據(jù)之差就是輸入電壓 0.5V 之差的讀數(shù), 按照計(jì)算,其最大分辨力達(dá)到了 21.746uV/字 . 計(jì)算一下, 12 位 AD 的最大分辨力是多少 ? 即使是測(cè)量 K 熱電偶, 40uV/℃ 的微小電壓,都可以分辨 出差不多 2 個(gè)字來! ------ 比較器 2 與比較器 1 差不多性質(zhì),就沒有重復(fù)測(cè)試了!
但是,這么好的分辨力,要應(yīng)用到實(shí)際項(xiàng)目,還有許多問題需要解決 .比較明顯的是非線性, 輸入電壓越高, 分辨力越好,說明恒流源出了問題, 很可能已經(jīng)受到飽和干擾了! (因?yàn)閮?nèi)部參考輸入電壓已經(jīng) 4.0V ) .
但是,實(shí)際工程上并不需要那么大跨度的輸入電壓,往往幾百 mV 就足夠, 例如 ICL7107 ,輸入±200mV 就可以了! 這就會(huì)讓恒流源非線性得到很大改善!
測(cè)試表格的數(shù)據(jù),已經(jīng)展現(xiàn)了非常美好的應(yīng)用前景!進(jìn)一步的應(yīng)用,有待下次再發(fā)帖子了!
為了方便大家參考,我把芯片手冊(cè)里有關(guān)比較器和放大器的內(nèi)容摘錄出來, 把圖片盡量加大,提供給大家參考!(簡(jiǎn)體中文的呢!)
需要的請(qǐng)下載: 2743 的比較器與放大器.pdf
=========================================================匯編測(cè)試程序
上面的比較器測(cè)試數(shù)據(jù)表格,由下面測(cè)試程序而來,特出補(bǔ)充:
.CODE
ORG 0
JMP B_RESET
ORG 8
JMP B_IRS
ORG 10H
;=====================================================================
B_RESET:;42_3:ROM:4K*16位。RAM:128字節(jié)。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;測(cè)試比較器0
CALL B_COM0SS_1;測(cè)試比較器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
;====================================================================
評(píng)論