基于I2C总线的多点温度采集系统
时间:2023-09-29 10:37来源: 作者: 点击: 次摘要:基于特点,以P89LPC922单片机为核心,设计一个单主机多从机的,主机由P89LPC922单片机、数码管显示、电源、报警、键盘等模块组成。而从机是由LM75A型数字温度传感器等组成,采集节点的实时温度值,响应主机请求发送温度数据,并编写方便与用户程序连接的软件包。经测试,该系统测温范围为-55~+125℃,测量精度达到O.125℃,因此该设计是一个可综合处理温度信息的测量系统。
关键词:P89LPC922:LM75A;ZLC7290;温度采集
随着社会的进步和工业技术的发展,许多产品对温度范围的要求越加严格,尤其在工业发展方面,如冶金、钢铁、石化、水泥、玻璃等行业。而目前市场上温度检测仪器大多是单点测量,不能适应当今社会生产高效率要求,且温度信息精度不高。因此设计一种能够同时测量温度,测量精度高,能够综合处理多点温度信息的测量系统很有必要。这里提出一种能多路采集、显示的设计。
1 系统硬件设计
1.1 系统整体结构
该系统设计采用,单主机多从机的工作模式,实现多点温度的采集、读取与显示。主机由主控制器、数码管显示、电源、报警、键盘等模块组成,完成以下功能: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。