基于51单片机的八路温度检测系统利用AT89C51作为系统主控,利用8个DS18B20进行温度的获取,使用LCD1602进行温度显示,利用蜂鸣器和Led灯进行报警,使用按键进行显示切换和阈值调节,实现整个系统功能。
一、原理图绘制
1、51单片机最小系统板
本次设计利用AT89C51作为系统主控,于是我们需要设计51单片机最小系统板,大致分为晶振电路、复位电路、芯片三部分,电路图如下:
2、LCD显示模块
LCD模块比较简单,它是一种并口传输的模块,优点是简单,但是IO口占用比较多,如下图:
3、报警模块
报警模块使用Led灯和蜂鸣器,其中LED使用低电平点亮的连接方式,蜂鸣器使用PNP的连接方式,为低电平点亮。如下:
4、八路温度模块
因为Wire总线支持多设备挂载,于是,我们只需要将这八个DS18B20的数据IO口连接到同一个单片机IO口就行了。如下图:
5、按键模块
按键模块非常简单,只需要将按键一端连接到GND,另一端连接到IO口就行了,如下图:
二、原理分析
1、OneWire协议
Oneware单总线是Maxim全资子公司Dallas的一项专有技术。与目前多数标准串行数据通信方式,如SPI / I2C不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。
(1)复位和应答:
(2)读写时序