数字温度测控仪设计方案
目录
第一章设计思路及框图、原理图 (1)
1.1 设计目标 (1)
1.1.1 基本功能 (1)
1.1.2 可扩充功能 (1)
1.2 框图及原理图 (2)
1.2.1 框图 (2)
1.2.2 原理图 (2)
第二章工作原理描述 (3)
2.1 硬件 (3)
2.1.1 DS18B20简介 (3)
2.1.2 硬件系统组成 (4)
2.2 软件 (5)
第一章设计思路及框图、原理图
1.1 设计目标
1.1.1 基本功能
被测温度范围为0~100 C;
测试温度通过4位LED数码管显示;
温度下限为30℃,上限为50℃,超过上、下限温度具有报警功能,采用红、黄、绿三种发光二极管或声音作为报警提示。
1.1.2 可扩充功能
可按键设定温度下限值和上限值
1.2 框图及原理图
1.2.1 框图
1.2.2 原理图
DS18B20温度计电路原理图
(1)AT89C2051首先发出一个复位脉冲,使DS18B20复位:先将数据线拉低并保持480~960us,再释放数据线,由上拉电阻拉高15~60us后由DS18B20发出60~240us的低电平作为应答信号。
(2)AT89C2051对DS18B20写数据:先将数据线拉低1us以上,再写入数据;待写入数据变化15~ 60us后,DS18B20对数据线采样。
工作中要求主机写入数据到DS18B20的保持时间应为
60~120us, 2次写数据的操作时隙应大于1us。
(3)AT89C2051读DS18B20数据:AT89C2051先将数据线拉低再释放。
DS18B20在数据线上
从高电平跳低后15us内将数据送到数据线上,AT89C2051在15us后读取数据。
第二章工作原理描述
2.1 硬件
2.1.1 DS18B20简介
◆单总线接口方式:DS18B20与微处理器(如单片机)连接时仅需要一条口线(加上地线)即
可实现双向通讯。
◆使用中无需外部器件,以计数器原理工作,直接读出数字量,工作可靠,精度高,且通过编程
可实现9~12位数字读出方式。
◆供电方式可选:可由数据线供电,也可由外部电源供电,电压范围+3. 0V~+5. 5V。
◆测量范围-55e~+125e,分辨率0. 5e。
◆可设定非易失的报警上下限阀值,一旦测量温度超过此设定值,即可给出一报警标志。
◆利用每片DS18B20上全球唯一的64bit编码,可轻松组建测量网络。
◆多种封装形式可选,根据实际需要组建测温系统。
DS18B20引脚图
DS18B20内部结构
2.1.2 硬件系统组成
硬件电路由如下部分组成, 即键盘输入电路、单片机最小系统、时钟电路、复位电路、LED 显示驱动电路、3 位LED 显示器、蜂鸣器显示电路和温度检测电路。
1.单片机的选择
本系统选用了AT89Cxx 系列单片机AT89C2051, 它的片内程序存储器采用闪速存储器, 使程序的写入更加方便, 并且此芯片尺寸较小使整个硬件电路的体积更小此外还具有程序加密等功能。
2.LED 显示电路
单片机的并行口不能直接驱动LED 显示器, 必须采用专用的驱动电路芯片, 使之产生足够大的电流, 否则显示器亮度低并且驱动电路长期在超负荷下运行容易坏。
应根据所选择的显示方式来确定选择何种驱动器, 在本系统中采用的是动态显示故我们选取的是74LS48,在输入端输入要显示字形的BCD 码输出端就可以得到有一定驱动能力的七段显示字形码。
单片机P1 口的作为与LED 的输出接口, 低四位作LED 的段码输出信号, 高四位作为LED 位码的输出控制信号。
3.键盘输入电路
要输入设定的温度, 必须依靠键盘。
在单片机组成的测控系统及智能化仪器中, 用的最多的是非编码键盘。
本设计中用了四个按键, 故选用了独立式键盘。
电路由按键和四个上拉电阻组成, 按键名字分别命名为SET、ALM、+1、RET 键, 按键采用轻触开关, 电阻使用排电阻(4*1kΩ) 。
键盘直接与单片机的P3 口连接, 用P3.2、P3.3 引脚通过按键SET、ALM 接入两个外部中断的请求信号INT0、INT1; P3.0、P3.1 引脚作为I/O 口使用, 通过+1、RET 接入两个输入信号。
其中:
1)SET 键: 设定当前所需要的温度, 配合+1、RET 键来完成此功能。
当SET 键按下则INT0 产生一中断请求信号, CPU 转去执行中断服务程序。
设计INT0 的中断服务程序功能为调整当前的设定温度。
2)ALM 键: 设置上下限温度, 配合+1、RET 键来完成此功能。
当ALM键按下则INT1 产生一中断请求信号, CPU 转去执行中断服务程序。
设计INT1 的中断服务程序功能为输入上下限温度。
3)+1 键: 该键每按下一次, 就对温度调整加1。
4)RET 键: 对+1 调整位进行确认, 该键按下说明调整位的值已确定, 转去调整下一位。
硬件电路的设计只能保证按键信号的可靠输入, 要完成键盘的输入功能要靠软件编程来具体实现。
4.蜂鸣器电路
在系统温度达到上下限温度限制是有提醒信号产生可选择蜂鸣器来实现这一功能。
压电式蜂鸣器工作时需要10mA 电流, 设计时考虑了相应的驱动及控制电路。
5.时钟电路
选择石英晶振作为时钟组件, 接至单片机的XTAL1、XTAL2 引脚组成时钟电路。
2.2 软件
软件设计采用模块化的方法, 主要有主程序、键盘扫描以及按键处理程序、温度测试程序、数码管显示程序。
键盘扫描电路及按键处理程序: 实现键盘的输入按键的识别及相关处理。
温度测试程序: 对温度芯片送过来的数据进行处理, 进行判断和显示。
数码管显示程序: 向数码的显示送数, 控制系统的显示部分。
部分温度值及转换结果如表1所示。
DS18B20功能命令如表2所示。
主程序流程图
附录器件清单
所需器件数量
9012
开关若干
导线若干
参考文献
[1]李海玲、王航宇.基于A T89C51 &DS18B20的数字温度计设计[J].国外电子元器件,2008(11):82-84.
[2]明德刚.DS18B20在单片机温控系统中的应用[J].贵州大学学报(自然科学版),2006,23(1):106-110.
[3] 张玉建.基于DS18B20的温度检测系统[J].计算机与信息技术,2007(11):311-312.。