新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2017-11-7
- 在线时间
- 1 小时
|
本文章,提供8、10、12位分辨率的AD芯片,与单片机的连接图,程序。
学生时代,在学校学的stc89c51,算是最简单入门的单片机了。有时候,要读取电压值,但是单片机处理的是数字信号,是不能直接读取模拟信的,这就需要我们在单片机外围接上AD芯片。
工业上,很多传感器的输出是4--20ma电流的。举个例子,电流传感器,测量范围1--100A, 对应输出就是4--20ma电流。那么,我们怎么测出输出电流,从而知道传感器的输入电流多大呢?
很简单,在传感器的输出,接上一个250欧姆的电阻,根据U=IR,就可以把4-20ma的电流,转化为1--5V电压,通过AD芯片,单片机得出电压值,从而得到输出电流值,再根据传感器输入电流和输出电流的对应公式,程序写好,我们就可以得到电流传感器所测到的输入电流了。
好吧,废话少说,与其飞飞在这“长篇大论”,说那么多,有什么用呢,是吧?还不如直接上图、给程序来得痛快。
(1) 8位串行模数转换器:TLC549
TCL549与单片机连接图
驱动程序
假如所测真实电压是1.234V,为什么返回是1234,而不是1.234呢? 很简单:
ad_value/1000,可以得到千位数字1;
ad_value/100%10,可以得到百位数字2;
ad_value/10%10,可以得到十位数字3;
ad_value%10,可以得到个位数字4。这样数码管就可以显示出我们所测电压值了。
(2)10位串行模数转换器 :TLC1543
看图,这个芯片,可以测11路输入:
TLC1543与单片机连接图
TL1543驱动
(3) 12位串行模数转换器 :MAX1241
max1241与单片机连接
max1241驱动
好吧,protues仿真一下(3)
检查一下,lcd显示,与MAX1241所测的模拟量,数据是一致的。
|
|