数字温度计的设计与实现Word格式.docx
- 文档编号:22729003
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:13
- 大小:163.46KB
数字温度计的设计与实现Word格式.docx
《数字温度计的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《数字温度计的设计与实现Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
它具有体积小,接口方便,传输距离远等特点。
1.DS18B20性能特点
DS18B20的性能特点:
①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
2.DS18B20内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。
64位ROM结构图如图2所示。
不同的器件地址序列号不同。
DS18B20的管脚排列如图1所示。
图1
DS18B20引脚分布图
图264位ROM结构图
DS18B20高速暂存器共9个存储单元,如表所示:
序号
寄存器名称
作
用
0
温度低字节
以16位补码形式存放
4
配置寄存器
1
温度高字节
5、6、7
保留
2
TH/用户字节1
存放温度上限
8
CRC
3
HL/用户字节2
存放温度下限
以12位转化为例说明温度高低字节存放形式及计算:
12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。
如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;
如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。
高8位
S
26
25
24
低8位
23
22
21
20
2-1
2-2
2-3
2-4
3.DS18B20控制方法
DS18B20有六条控制命令,如表所示:
指
令
约定代码
操
作
说
明
温度转换
44H
启动DS18B20进行温度转换
读暂存器
BEH
读暂存器9个字节内容
写暂存器
4EH
将数据写入暂存器的TH、TL字节
复制暂存器
48H
把暂存器的TH、TL字节写到E2RAM中
重新调E2RAM
B8H
把E2RAM中的TH、TL字节写到暂存器TH、TL字节
读电源供电方式
B4H
启动DS18B20发送电源供电方式的信号给主CPU
4.DS18B20的通信协议
DS18B20器件要求采用严格的通信协议,以保证数据的完整性。
该协议定义了几种信号类型:
复位脉冲,应答脉冲时隙;
写0,写1时隙;
读0,读1时隙。
与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。
发送所有的命令和数据时,都是字节的低位在前,高位在后。
a)复位和应答脉冲时隙
每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。
在每一个时隙,总线只能传输一位数据。
时序图见图3。
b)写时隙
当主机将单总线DQ从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。
写0和写1时隙如图所示。
在写0时隙期间,微控制器在整个时隙中将总线拉低;
而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。
时序图见图4。
c)读时隙
DS18B20器件仅在主机发出读时隙时,才向主机传输数据。
所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。
所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。
每个读时隙都由主机发起,至少拉低总线1us。
在主机发起读时隙之后,DS18B20器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。
若发送为0,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至高电平状态。
DS18B20发出的数据,在起始时隙之后保持有效时间为15us。
因而主机在读时隙期间,必须释放总线。
并且在时隙起始后的15us之内采样总线的状态。
图3复位和应答脉冲时隙
图4读写时序
五、硬件电路设计
按照系统设计功能的要求,确定系统由3个模块组成:
主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图5所示。
图5电路结构框图
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;
另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
六、软件设计
系统程序主要包括主程序、读出温度子程序、温度转换子程序、计算温度子程序、显示数据刷新子程序等等。
1.主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,其程序流程图如图6。
图6主程序流程图
2.读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图7所示。
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。
图7读出温度子程序流程图
3.温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图8所示。
4.计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如图9所示。
图8温度转换命令子程序流程图
图9计算温度子程序流程图
显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
程序流程图如图10所示。
图10显示数据刷新子程序流程图
5.主要源程序:
ORG0000H
AJMPMAIN
ORG0100H
START:
MOVDPTR,#4000H;
ADC0809的地址
MOVX@DPTR,A
LOOP:
CJNEP3.3,#0,LOOP
MOVXA,@DPTR
COMP:
MOVB,#03H
MULAB
MOVB,#06H
DIVAB
MOVB,A
MOVA,#0A0H
CLRC
SUBBA,B
CJNEA,#0AH,COMP1
COMP1:
JNCCOMP4
CJNEA,#97H,COMP2
COMP2:
JCCOMP3
COMP4:
MOV2AH,#0FH
MOV2BH,#0FH
MOV2CH,#0FH
ACALLDISP
COMP3:
RET
MOVR1,#00H
MOVR2,#00H
CHAN:
CLRC
SUBBA,#64H;
温度转换为十进制数程序
JCCHAN1
INCR1
AJMPCHAN2
CHAN1:
ADDA,#64H
CHAN2:
SUBBA,#0AH
JCCHAN3
INCR2
CHAN3:
ADDA,#0AH
MOV2AH,R1
MOV2BH,R2
MOV2CH,A
DISP:
MOVP2,#0FEH;
位控口地址
MOVR1,2AH;
段控口地址
MOVDPTR,DSEG
MOVXP1,@DPTR+A
ACALLDELAY
MOVA,#0FBH
MOVR1,2BH
MOVA,#0FDH
MOVR1,2CH
AJMPSTART
DELAY:
MOVR4,#02H;
延时大约1MS
DELAY1:
MOVR5,0FFH
DJNZR5,$
DJNZR4,DELAY1
RET
DSEG:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
DB77H,7CH,39H,5EH,79H
DB71H,00H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 设计 实现