跟着社会的前进和工业技能的开展,许多产品对温度规模的要求越加严厉,尤其在工业开展方面,如冶金、钢铁、石化、水泥、玻璃等职业。而现在市场上温度检测仪器大多是单点丈量,不能适应当今社会生产高效率要求,且温度信息精度不高。因而规划一种能够一起丈量多点温度,丈量精度高,能够归纳处理多点温度信息的丈量体系很有必要。这儿提出一种能多路并重、显现的温度并重体系规划。
1 体系硬件规划
1.1 体系全体结构
该体系规划选用I2C总线,单主机多从机的作业形式,完结多点温度的并重、读取与显现。主机由主操控器、数码管显现、电源、报警、键盘等模块组成,完结以下功用:1)主机经过按键确认进入温度丈量状况以及行将读取温度的节点:2)主机从总线上读取节点温度值并显现;3)闲暇时,由按键确认进入时刻显现状况。时钟运用单片机内部的实时时钟RTC、外部6 MHz晶振,CPU掉电运转,每0.5 s唤醒一次;而从机由数字温度传感器等组成,完结完结以下功用:1)并重节点实时温度值;2)呼应主机的恳求,发送温度数据。
依据I2C总线的多点温度并重体系选用具有硬件I2C总线功用的P89LPC922单片机作为主操控器,选用具有I2C功用器材的数字温度传感器LM75A和数码管显现驱动及键盘扫描办理器材ZLG7290。LM75A并重节点实时温度值,并经过I2c总线发送温度数据,ZLG7290驱动LED数码管显现温度值和时刻。选用SPXll17规划电源模块供给3.3V电压。该体系硬件框图如图l所示。
1.2 各模块电路规划
1.2.1 操控器模块
主操控器选用P89LPC922单片机。该单片机是一款单片封装的微操控器,适合于那些要求高集成度、低成本的场合,分量多方面功用要求。其内部集成了键盘中止、串行接口(UART/I2C)、看门狗定时器,选用先进的2-clock技能,指令碑文速度是传统80C51的6倍。支撑闲暇、掉电、时钟预分频等多种节电形式,别的,其4中止优先级结构,为多个中止源的处理供给极大的灵活性。
依据主控器P89LPC922单片机的键盘中止特性,键盘模块可直接由3个I/O口操控完结3个按键,其原理图如图2所示。
本规划选用蜂鸣器完结报警进程,运用I/O口的开漏方法对蜂呜器进行操控。指示灯电路是由2个LED组成,运用I/O口的推挽输出方法驱动LED。
1.2.2 温度并重模块
LM75A是一个运用了内置带隙温度传感器和∑-△模数转化技能的温度-数字转化器。本规划运用2片LM75A并重两点的温度值,其原理图如图3所示。
1.2.3 显现模块
ZLG7290B是数码管显现驱动及键盘扫描办理器材,能够直接驱动8位共阴式数码管(或64只独立的LED)。这儿只运用ZLG7290B的数码管显现驱动功用,而没有用其键盘功用,因而电路大大简化,其原理图如图4所示。
2 软件程序规划
I2C是一个多主总线,其可由多个器材操控。一般的I2C器材都具有一个仅有的地址以确保操控的准确性,一般I2C总线传输速率为100 Kbit/s,在新增的高速形式下其可到达3.4 Mbit/s的速率,以支撑一些高速传输的使用,如大容量Flash存储器。
LPC900系列单片机内部集成了I2C总线,既可作I2C总线上的主控器材,也可作I2C总线上的从器材,一起其具有4种I2C总线收发形式:主发送器形式,主接纳器形式,从发送器形式,从接纳器形式。
本规划的I2C软件包选用硬件I2C总线中止方法,硬件I2C的总线劣质和同步逻辑是软件无法模仿的,本软件包是硬件I2C以主方法作业的,它包含了请求总线,发送字节数据,接纳字节数据等等,而面临其他模块程序的是几个归一化子程序,只需设置几个进口参数,即可调用。
图5和图6分别为实时时钟和键盘中止服务流程,其间实时时钟0.5s发生1次中止,而键盘中选用3个按键,每个按键按下时均可发生一次中止。本规划主函数完结CPU掉电运转,使体系功耗降至最低,只要在按键中止和实时时钟中止时才会唤醒CPU。
3 体系测验
3.1 硬件测验
使用万用表对焊接好的电路板进行测验。首要测验线路部分,各线路衔接正常,没有呈现短路和断路的现象;其次,上电后,电源灯亮,证明电源衔接正常,测电源电压输入为5 V,输出为3.3 V,电源电路作业正常。其他模块经过软件测验。
3.2 软件测验
经过ZLG7290测验程序验证I2C总线的传输状况,并使用逻辑分析仪来调查其时序,如图7所示。
从图7能够看出,该时序部分完结的是使第l位数码管显现“0″的进程,从发动总线到完毕总线的一个完好进程。该进程一共发送了4个字节数据,在总线发动后发送的是ZLG7290的从机地址,后跟一位读写位O,表命令缓冲区的首地址,每发送完一个字节后都会收到一个应对位0,一共接纳到数据。后边2个字节是复合指令,在这儿是按位下载数据且译码指令,即便第l位数码管显现0。发送完指令后紧接着是完毕总线条件,一共一次发送进程完毕。
经过LM75A测验程序是向从机发送数据,收到应对位0后,紧接着发送从机子地址,在这儿是ZLG7290命令缓冲区的首地址,每发送完一个字节后都会收到一个应对位0,一共接纳到数据。后边2个字节是复合指令,在这儿是按位下载数据且译码指令,即便第1位数码管显现0。发送完指令后紧接着是完毕总线条件,一共一次发送进程完毕。验证I2C总线的接纳数据的进程,并使用逻辑分析仪来调查其时序,如图8所示。
从图8能够看出,该时序部分完结的是读取温度值的进程,也是一个I2C总线带重复开始条件的承受数据的进程。该进程分发送和接纳两部分。发送部分包含发送从机地址和从机子地址,即LM75A的地址90H和LM75A温度寄存器首地址00H。然后重新发动总线预备接纳数据,该部分主机先发送从机地址,并跟读写位l,一共主机将接纳该从机发来的数据,紧接着主机接纳2个字节的数据,主机发送应对位后,再发送中止条件完毕总线,一共主机接纳完一次数据。
3.3 体系归纳测验
将程序烧进P89LPC922,上电后,数码管显现“0000”,经过按键2和按键3来设置时钟初值。当读取的温度值超越设定的温度值规模,蜂鸣器会宣布报警提示音。这时可经过按下按键l撤销声响,一起切换为时钟显现。
4 完毕语
本体系为归纳处理多点温度信息的丈量体系,该规划体系结构简略,操作便利,丈量精度高,速度快,能完结报警。该体系的测温规模为-55~+125℃,丈量精度能到达0.125℃,我们选用I2C总线的结构,整个体系占用主操控器I/O口较少,其他I/O口可留作体系扩展之用。该体系可使用于植物成长环境的温度检测,当超出植物适合成长温度范一起将宣布报警。