数字温度计设计.docx
- 文档编号:3036256
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:14
- 大小:94.14KB
数字温度计设计.docx
《数字温度计设计.docx》由会员分享,可在线阅读,更多相关《数字温度计设计.docx(14页珍藏版)》请在冰豆网上搜索。
数字温度计设计
基于单片机控制的数字温度计
摘要:
随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。
关键词:
单片机DS18B20共阴极LED显示数字温度计AT89S51
1引言
本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。
掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
2总体设计方案
2.1设计思路
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大。
采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度测温装置电路简单、精确度较高、实现方便、软件设计也比较简单。
本次设计系统总体结构图主要包括作为测量系统核心的微处理器,集成温度传感器,显示电路及报警电路等。
时钟部分是为了给系统提供工作所需要的时钟信号,控制着微控制器的有序运行节奏。
复位电路部分使微控制器以及系统各部件处于初始状态,并从这个状态开始运行。
2.2设计方框图
总体方框图如图1所示:
图1总体设计方框图
3设计原理分析
3.1主控电路的设计
对于单片机的选择,可以考虑使用8051系列,AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
3.2时钟晶振电路的设计
MCS-51内部有一个用于构成震荡器的高增益反向放大器,此放大器的输入端和输出端分别是XTAL1和XTAL2,在XTAL1和XTAL2上外接晶振可构成时钟电路。
时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
晶振频率的大小决定了单片机系统工作的快慢。
本次设计采用内部方式的外部时钟接法。
为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,电容C1、C2对频率有微调作用,故外接晶振时,C1和C2在本设计中选择30pF,振荡频率取12MHz。
晶振的两个引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。
具体连接图如图2所示:
图2时钟晶振电路
3.3显示电路设计
本次设计中采用共阴极数码管作为显示器。
LED的驱动电路简单,使用方便,具有耗电少、成本低廉、配置简单灵活、安装方便、耐振动、使用寿命长等优点。
LED显示器与单片机的接口一般有动态显示与静态显示接口两种电路。
1、静态显示方式:
是指当显示器显示某一字符时,发光二极管的位选始终被选中。
在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制,显示稳定,提高了CPU的工作效率。
其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
2、动态显示方式:
动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间轮流点亮。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关,由于扫描速度极快,显示效果与静态驱动相同。
通过调整电流和时间参数,可以既保证亮度,又保证显示。
本次设计中,由于单片机本身提供的I/O口有限,本次设计采用动态显示,数码管采用的是共阴极接法。
用AT89S51的P0口作段码输出时,驱动能力相当大,但由于输出极为漏极开路电路,驱动拉电流负载,引脚上应外接上拉电阻。
。
因此,在本次设计中我们将数码管各段加上拉电阻后接单片机P0口。
我们把P2口的输出信号直接接到数码管的位选端作为位选信号,低电平有效。
图3数码管
3.4测温电路的设计
本次设计的硬件电路简单,关键的地方在DS18B20,也是最复杂难懂的。
DS18B20温度传感器是美国DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
它具有体积小,接口方便,传输距离远等特点。
DS18B20的性能特点:
(1)采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)
(2)测温范围为-55℃-+125℃,测量分辨率最小为0.0625℃
(3)内含64位经过激光修正的只读存储器ROM
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
(5)适配各种单片机或系统机
(6)测量结果直接输出数字温度信号,以“一线总线“串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
(7)用户可分别设定各路温度的上、下限
(8)适应电压范围宽,3.0~5.5V,在寄生电源方式下可由数据线供电
DS1820引脚功能如表1所示:
表1DS18B20引脚功能
序号
名称
引脚功能描述
1
Vcc
可选择的Vcc引脚。
当工作于寄生电源时,此引脚必须接地。
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
GND
地信号。
DS1820主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分内部,其内部结构框图如图4所示:
图4DS18B20内部结构图
图4内部结构框图
4程序设计
系统程序主要包括延时子程序、外部中断0服务子程序、外部中断1服务子程序、显示温度子程序、报警子程序、主程序等。
主程序的功能为:
刚开机时显示电路显示“----”,过一小段时间后,显示电路自动关闭,此后若按下开关键,使处于开的状态后,则可实现4位LED数码直接读出温度。
当所测的温度高于所设置的上限,红色发光二极管闪烁亮,蜂鸣器滴滴滴报警,当所测的温度低于所设置的下限,白色发光二极管闪烁亮。
主程序流程图如图5所示:
图5主程序流程图
系统的调试以程序调试为主,软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编写及调试。
由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。
本程序采用单片机汇编语言编写,用KeilC51编译器编程调试。
软件调试到能显示温度值,而且在有温度变化时显示温度能改变,就基本完成。
5结束语
这次实训完成的数字温度表,由于采用了新型的数字温度传感器DS18B20,不但具有硬件结构紧凑、功耗低、抗干扰性能好、使用简易、携带方便等优点,而且还具有很高的稳定性、可靠性。
灵敏度高,精度可达0.5℃;能对范围在-55~125℃的温度进行测量。
通过这次设计收获颇多,在设计制作过程中涉及或用到很多的知识,实现了对课堂上所学理论及所做实验内容的延伸和补充,拓宽相关知识的广度和深度;对单片机的知识又有了进一步的了解和深入,也深深的感觉到C语言编程的方便快捷及实用性,同时进一步提高电子线路焊接和程序调试技能。
参考文献
[1]薛栋梁.CS-51/151/251单片机原理与应用[M].北京:
中国水利水电出版社,2001.
[2]李华.MCS-51系列单片机实用接口技术[M].北京:
北京航空航天大学出版社,1993.5.
[3]李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社,2004.
[4]胡祝才.单片机原理及接日技术[M].北京:
清华大学出版社,1996年7月第一版.
[5]康华光.模拟电子技术基础[M].北京:
高等教育出版社,1988.
[6]高仕勇,王照平.利用DSl8b20实现高精度温度测量[J].电子技术,2000(3),42—43.
[7]梁明理,周建平,邓仁清,等电子线路[M].北京:
高等教育出版社,1993.
附录1程序
/*********************************************************************/
//读取DS18B20温度,通过数码管显示,在温度超过35度时继电器吸合
/*********************************************************************/
#include
#include"18B20.c"
#defineucharunsignedchar
#defineuintunsignedint
codeucharseven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
codeucharseven_bit[]={0xfe,0xfd,0xfb,0xf7};
ucharcp;
inttemp1,temp2;
sbitbeep=P2^6;
voidtimer0_init(void)//初始化
{
TMOD=0x01;
TH0=0xec;
TL0=0x78;
TR0=1;
EA=1;
ET0=1;
}
/*****************************************************************************/
voidtimer0_isr(void)interrupt1//中断
{
ucharj;
TR0=0;
EA=0;
TH0=0xec;
TL0=0x78;
TR0=1;
EA=1;
cp++;
if(cp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 设计