碧波液压网 欢迎你,游客。 登录 注册

一种高精度AT89C2051单片机数据采集器及其应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 前 言

  AT89C2051是美国ATMEL公司推出的一种高性能价格比单片机,片内有2 kB闪烁存储器,采用电可擦除,其编程速度是一般EPROM的数十倍;结构紧凑、体积小,除有外部程序存储器和外部数据存储器扩展功能外(无P0, P2口),它具有80C31单片机所有功能结构[1]。根据2051这一特点,可建立一2051单片机数据采集器(带有RS-232C串行通讯接口)。

  2 AT89C2051单片机数据采集器

  本数据采集器的采集对象为随时间缓慢变化的信号,据此可选用抗干扰能力强、分辩率高、价格低廉的积分型模数转换器ICL7135。它的分辩率相当于14位二进制数,转换误差为±1 LSB;模拟输入可以是差动信号,输入阻抗极高,输入电压范围为(0~±1.9999)V;芯片采用了自动较零技术,可保证零点在常温下的长期稳定性。由于ICL7135输出的转换结果是动态扫描BCD码,必须通过并行接口才能与单片机连接。而2051单片机无P0,P2口,接口电路不能采用常用的I/O扩展芯片如8155等。为简化硬件电路,结合ICL7135的工作特点及输出时序图,采用中断计数法。这种方法是依据选通信号脉冲序列的序列与ICL7135转换输出的万、千、百、十、个位BCD码有严格的对应关系设计的,其硬件接口电路如图1所示。ADC的启动转换信号R/H由2051的P3.3控制, 选通信号与2051的(P3.2)相连, 2051响应的中断后先对万位选通信号D5进行判断:若D5为高电平,则P1.0~P1.3为万位输出BCD码,对之进行相应处理后,在中断计数单元(RAM的20H)存入除D5外尚待读入的BCD码位数#04H (在主程序初始化中该单元被清零);若D5为低电平则每中断一次计数单元内容减1,依次读入千、百、十、个位的BCD码。计数单元内容减至零时则所有位数BCD码读完,置转换结束标志,返回主程序。这种方法可以省去D4~D1的接线,从而简化硬件结构。中断计数法转换结果读出框图如图2所示。

 

 

  虽然单片机具有体积小、价格低、功能强、可靠性高以及使用灵活的特点,但在数值计算及处理方面受到存储空间的限制且汇编语言编写计算程序不如高级语言直观方便。为了充分发挥单片机及PC机各自资源的优势,该AT89C2051数据采集器配有RS-232C串行通讯接口。由于PC机拥有现成的RS-232C标准接口,而单片机串行口的输入输出均为TTL电平,PC机与单片机的通讯接口必须通过电平转换。本接口采用ICL232集成芯片,该集成芯片仅用+5 V电源供电,且外围电路简单,其接口电路见图1[2]。为了提高抗干扰能力,亦可将单片机的输入输出经光电隔离耦合器后再送入ICL232电平转换。

  3 AT89C2051单片机数据采集器的应用

  对于温度范围为0~200℃的工业现场测温,可选用铜—康铜热电偶作为温度传感器,经补偿导线将其冷端延伸至室温t0的空间,t0的测量由AD590来实现。设热电偶的输出信号为与温差(t,t0)有关的热电势E(t,t0),而AD590能在-55~+150℃的温度范围内按1μA/K的线性比率输出一与温度成正比的电流,经采样电阻转换为温度电压e(T0)=kT0,其中T0为热电偶冷端温度t0的开尔文温度,k为一常数,单位为mV/K,即

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论