|
曾经我参加一次面试,面试官问了类似的问题,说采集一个电压,但是单片机又没有AD咋办
& D, Q) Y0 U. z( a凉拌!$ L+ @. w+ Z O% e0 D! \
我给他说的是AD原理,用电阻搭一个类似的采样电路出来,没面上....其实是他开的工资低了
# ^0 Q0 l6 U" `/ A, u* O) v8 D! E* | s s; s
现在看来,也是有可能的- V; p* Q7 p/ e: R) ^: ^! t- @
使用3个IO口,假设为PA1,PA2,PA35 ?' Y/ ~, ?: E
PA1通过一个电阻R1接一个电容C1到地8 A' Y2 s6 |$ o
PA2直接连接到R1和C1的连接点
% @% z1 F) t- G& iPA3通过电阻R2连接到被测点(如一个电阻),被测点的另一端连接到P2与R1,C1的交叉点
3 d" V4 a4 Q9 ]( }& \# q8 o1 L" Y! t2 |+ v
PA3-------R2--------被测------|
" H# k8 i6 G7 n |+ h0 K9 |6 @" a+ {% R9 p9 L; e
PA2----------------------------- |
6 n( @2 l' @/ @/ ~" w |
. i! w/ C0 ?. ^" q, m- ZPA1------R1---------------------|
2 d; A- |$ M" R4 p" m& `0 H3 u |
' z8 Y5 x W9 z) M/ _0 _ C1
$ ~4 {" \: @+ F' x7 g1 M2 n) \2 M% c |
( V2 `" P5 J+ U: Z3 h, w 地+ [( z( f) l. s% j: T7 a
$ F4 t4 @# J9 G; `4 w同时给3个I/O口清零,PA1置1,同时计数,读PA2,当PA2由0变1时,记下计数值。再全部清零,PA3置1,同时计数,读PA2,当PA2由0变1时,记下计数值。最后根据两个计数值算出被测电阻.
. i( S% a7 ]) t这是测量一个电阻的方法,可以借鉴
, g+ S# `1 B! V$ l/ W4 w8 M5 A如果要测量你的湿度传感器,感觉有点难,如果传感器内阻随湿度变化那就好了,如果不是,那就乖乖使用AD吧1 a* D" w! B. E- z) @7 w- c; s
为了省成本,真的啥都做得出来! |
|