温度测量计设计说明书Word文档下载推荐.docx
- 文档编号:18936646
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:194.87KB
温度测量计设计说明书Word文档下载推荐.docx
《温度测量计设计说明书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《温度测量计设计说明书Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
方案一:
由于本设计是测温电路,可以使用热敏电阻之类的器件,利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦,而且这类传感器可靠性比较差,测量温度准确度低。
因此,此类传感器不适合用于工作,生活,科研方面的设施建设。
方案二:
测温电路中,也可以使用传感器,所以可以采用一只温度传感器DS18B20,此类传感器,可以很容易直接读取被测温度值,进行转换满足设计要求,这种温度传感器利用单总线技术,线路简单,硬件开销少,成本低廉,软件设计简单。
因此,适合用于工作,生活,科研方面的设施建设。
比较以上两种方案,方案二有明显的优点,因此选择方案二。
2温度测量计硬件设计
2.1硬件原理图
2.2最小系统
2.2.1AT89S51单片机及其引脚说明
引脚说明:
VCC:
供电电源GND:
接地
P0口:
一个8位双向I/O口,既能用作通用I/O口,又能用作地址/数据总线。
用作通用I/O口时,CPU令控制信号为低电平,其作用有两个:
一个使多路开关MUX接通B端,二是令与门输出低电平,V1截止,致使输出级开漏输出电路。
P0口地址总线低8位和数据总线,供系统扩展时使用。
这时控制信号为高电平,多路开关MUX接通A端。
P1口:
与P0口相比,P1口的位结构图中少了地址/数据的传送电路和多路开关,上面一只MOS管改为上拉电阻。
P1口作为一般I/O口的功能和使用方法与P0口相似。
当用作输入口时,应先向端口写入“1”。
它也有读引脚和读锁存器两种方式。
所不同的是当输出数据时,由于内部有了上拉电阻,所以不需要上拉电阻。
P2口:
能用作通用I/O口或地址总线高8位。
作为通用I/O口使用,当信号为低电平时,多路开关MUX接到B端,P2口作为通用I/O口使用,其功能和使用方法与P0、P1口相同。
用作输入时,必须先写入“1”。
作为地址总线,当控制端输出高电平时,多路开关MUX接到A端,地址信号经反相器和V管二次反相后从引脚输出。
这时P2口输出地址总线高8位,供系统扩展用。
P3口:
能用作通用I/O口,同时每个引脚还有第二功能。
(1)用作通用I/O口,
此时“第二功能输出”端为高电平,用作输出时,与非门输出取决于锁存器Q端信号,引脚输出信号与内部总线信号相同。
其功能和使用方法与P1、P2口相同。
用作输出时,必须先写入“1”。
(2)用作第二功能
当P3口的某一位作为第二功能输出使用时,应将该位的锁存器置“1”,使与非门和输出状态只受“第二功能输出”端控制,第二功能输出信号经与非门和V管二次反相后输出到该位引脚上。
当P3口的某一位作为第二功能输出使用时,该位的“第二功能输出”端和锁存器自行置“1”,该位引脚上信号经缓冲器送入“第二功能输入”端。
P3口的负载能力为4个LSTTL门电路。
在一般情况下(指扩展存储器),P0口分时作为地址总线低8位和数据总线,P2口作为地址总线高8位,P3口作为第二功能使用(不一定全部),真正能提供给用户使用的I/O口只有P1口和未使用第二功能的部分P3口端线。
在用作输入时,P0~P3口均需先写入“1”。
2.2.2时钟电路的设计
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图1所示。
图一
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。
电路中,电容器C1和C2对振荡器频率有微调作用,通常的取值范围30±
10pF;
石英晶体选择6MHZ或12MHZ都可以。
其结果只是机器周期时间不同,影响计数器的计数初值。
AT89S51单片机的时钟产生有以下两种方法:
一、内部时钟方式:
利用单片机内部的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30pF左右;
这两个电容对频率有微调的作用,晶振的频率范围可在1.2MHz-12MHz之间选择。
二、外部时钟方式:
此方式是利用外部振荡脉冲接入XTAL1或XTAL2。
HMOS和CHMOS单片机外时钟信号接入方式不同,HMOS型单片机(例如8051)外时钟信号由XTAL2端脚注入后直接送至内部时钟电路,输入端XTAL1应接地。
由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上接电阻。
如下图
外接时钟信号通过一个二分频的触发器而成为内部时钟信号,要求高、低电平的持续时间都大于20ns,一般为频率低于12MHz的方波。
片内时钟发生器就是上述的二分频触发器,它向芯片提供了一个2节拍的时钟信号。
前面已提到,计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。
由于指令的字节数不同,取这些指令所需要的时间也就不同,即使是字节数相同的指令,由于执行操作有较大的差别,不同的指令执行时间也不一定相同,即所需的拍节数不同。
为了便于对CPU时序进行分析,一般按指令的执行过程规定了几种周期,即时钟周期、机器周期和指令周期,也称为时序定时单位,下面分别予以讲解。
时钟周期
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;
若采用4MHZ的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。
我们学习的8051单片机的时钟范围是1.2MHz-12MHz。
2.2.3复位电路的设计
单片机的RET引脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。
复位以后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程序。
单片机的复位方式有上电自动复位和手工复位两种。
图2是51系列单片机常用的上电复位和手动复位的组合电路,只要VCC上升时间不超过1ms,它们都能很好地工作。
阻容器件的参考值为,R1=200Ω,R2=1KΩ,C3=22uF
图2
2.2.4电源电路的设计
电源部分
8051的工作电压为+5V,±
0.5V,工作电流200mA
其它部分工作电流:
总电流:
≤500mA
功耗:
≤2.5W
图三
电源:
桥式整流、滤波(两个滤波电容)、稳压
三端稳压器件:
7805系列三端稳压器件是最常用的线性降压型DC/DC转换器,目前也有大量先进的DC/DC转换器层出不穷,例如低压差线性稳压器LDO等。
7805简单易用,价格低廉,直到今天还在大多电路中采用。
7805系列在降压电路中应注意以下事项:
(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;
(2)输出电流不能太大,1.5A是其极限值。
大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;
(3)输入输出压差也不能太小,太小效率很差。
2.3DS18B20温度传感器特性及引脚功能介绍
DS18B20是DALLAS公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。
它具有3引脚TO-92小体积封装形式,温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
在TO-92和SO-8的封装中引脚有所不同,具体差别请查阅PDF手册,在TO-92封装中引脚分配如下:
1(GND):
地;
2(DQ):
单线运用的数据输入输出引脚;
3(VDD):
可选的电源引脚
半导体公司生产的“一线总线”式接口温度传感器。
测量温度范围为-55~+125℃。
由于采用“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适用于恶劣环境的现场温度测量,广泛应用于环境控制、设备或过程控制,测温类消费电子产品之中。
本课题由DS18B20和单片机构成,要求通过数码管直接显示实测温度,并在超过设定限值时触发报警。
通过该课题的研究,可以更好地巩固所学的知识,提高动手能力,为进入社会打下良好的基础。
主要性能指标:
一、基本范围:
-55~+125℃;
二、精度误差小于0.5℃;
三、LED数码直接读数显示,四位数码管显示;
四、当实际温度超过数字温度计的极限范围,实现报警功能。
2.4显示及驱动电路的数值计算和电阻取值
LED显示器的显示方式分为静态显示和动态显示。
本设计采用动态显示,所谓动态显示是一位一位轮流点亮每位显示器,在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭时的余辉,将出现多个字符“同时”显示的现象。
为了实现LED显示器的动态显示,通常将所有位的字形控制线并联在一起,由一个8位I/O接口控制,将每一位LED显示器的字位控制线(即每个显示器的阴极公共端或阳极公共端)分别由相应的I/O接口控制,实现各位的分时选通。
它是把显示器的同名字段互相联系在一起,并把它们接到字形口上。
为了防止各个显示器同时显示出相同的字符,每个显示器的公共端还要受另一组信号的控制,即把它们接到字位口上。
显示采用共阳数码管,其目的是为了简化限流电路的设计和实现亮度可调的要求。
每笔画段二极管正常发光时的电流一般为10mA左右(当然,电流的大小取决于选用的数码管是普亮、高亮还是超高亮类型的不同),其两端压降约为2.0v,也就是说,只要数码管的公共端(COM)加+2.0v以上电压,即可满足每笔画段发光二极管的发光要求,而且适当调节此电压值即可改变发光二极管的电流,从而达到调节亮度的目的。
如图所示
图2.4显示及驱动电路
假设LED数码管显示器八段全亮,则集电极电流Ics为80mA,基极与发射极之间的电压为0.7v,则基极电流Ib=U/R即为(5-0.7)/R,又因为集电极电流为共射电流放大系数β与基极电流之积,即IC=βIb,当(5-0.7)/R>R>80mA/β时,PNP工作在饱和区,即R<(5-0.7)×
β/80,因此,在此电路中,我们取电阻阻值为4.7K,使PNP工作在饱和区。
具体计算如下
R11到R14计算公式:
U1=0.7VIcs=80mAIc=βIbIb=U/R=(5-0.7)/R
Ib≥Ic/β(5-0.7)/R≥80mA/ββ=100R=4.7K
R3到R9的计算公式:
(R10、R16近似可取220Ω)
10mA<(5-0.3-2)/R<20mA,R=220Ω
2.5报警电路模块
2.6主要元器件的选择
(1)单片机:
这里采用AT89S51而不是8031是为了最大限度减小误差,因为要实现多功能,而AT89S51具有许多8031所不具备的优点,故选择该芯片。
(2)温度传感器:
这里采用DS18B20而不是一般的热敏电阻作为感温元件,这种通过单片机控制传感器的测温方法具有结构紧凑,体积小,测量方便准确,性价比高,软件设计简单等方面的优点,故选择该传感器。
(3)三极管:
用来进行数码管显示的位选驱动,这里采用PNP管
(4)数码管:
采用四个共阳的数码管
(5)晶振:
采用的是6MHZ的晶振
(6)电源部分:
采用5V电压供电
(7)电阻:
大部分限流电阻,阻值为4.7K或220Ω,1K
3.1主程序流程图
主程序流程图如图所示:
3.2源程序清单
ORG0000H
AJMPMAINQ
ORG000BH
AJMPTT0
MAINQ:
ORG002FH
TEMPHEQU50H
TEMPLEQU51H
TEMPHCEQU52H
TEMPLCEQU53H
ZJ9EQU60H
WDCGQBITP0.0
MOVSP,#2FH
MOVTMOD,#21H
MOVTH0,#3CH;
12MHZ晶振时定时100ms
MOVTL0,#0B0H
MOVR7,#0AH
SETBEA
SETBET0
SETBTR0
CLRF0
CLR00H
;
SETBP2.3
MOVTEMPH,#00H
MOVTEMPL,#00H
MOVTEMPHC,#00H
MOVTEMPLC,#00H
START:
LCALLDIP
JNB00H,START
JNBF0,STA1
LCALLREAD
LCALLDIP
LCALLBCDLC
STA1:
LCALLML
SETBF0
LJMPSTART
TT0:
PUSHPSW
MOVPSW,#10H
MOVTH0,#3CH
DJNZR7,TT0OUT
SETB00H
TT0OUT:
POPPSW
RETI
READ:
LCALLRST1820
MOVA,#0CCH;
发跳过1820的ROM命令
LCALLWRIT1820
MOVR6,#1AH;
延时104us
DJNZR6,$
MOVA,#0BEH;
读1820内部RAM中9个字节的内容
MOVR6,#1AH
MOVR5,#09H
MOVR0,#ZJ9
MOVB,#00H
READ1:
LCALLREAD1820
MOV@R0,A
INCR0
READ2:
LCALLCRC8;
校验读到的八位数
DJNZR5,READ1
MOVA,B
JNZREADOUT
MOVA,ZJ9+0
MOVTEMPL,A
MOVA,ZJ9+1
MOVTEMPH,A
READOUT:
RET
RST1820:
SETBWDCGQ
NOP
CLRWDCGQ
MOVR6,#50H;
延时480us(640us)
MOVR6,#50H
SETBWDCGQ
MOVR6,#12H;
延时70us(75us)
MOVR6,#1EH;
在250us内读复位信号
LOOP:
MOVC,WDCGQ
JCRSTOUT
DJNZR6,LOOP
MOVR6,#032H
SJMPRST1820
RET
RSTOUT:
WRIT1820:
MOVR4,#08H
NOP
LOOP1:
CLRWDCGQ
MOVR6,#03H;
延时15us
RRCA
MOVWDCGQ,C
DJNZR4,LOOP1
READ1820:
LOOP2:
MOVC,WDCGQ
延时120us
DJNZR4,LOOP2
CRC8:
PUSHACC
MOVR4,#08H
LOP1:
XRLA,B
JNCLOP2
XRLA,#18H
LOP2:
RRCA
MOVB,A
POPACC
RRA
PUSHACC
DJNZR4,LOP1
ML:
LCALLRST1820;
给1820复位
给1820发跳过1820的ROM命令
MOVA,#44H;
给1820的RAM发转换指令
BCDLC:
MOVA,TEMPH
ANLA,#80H
JZLP1;
为正数转LP1
CLRC;
为负数时,将补码转换成原码
MOVA,TEMPL
CPLA
ADDA,#01H
MOVA,TEMPH
ADDCA,#00H
MOVTEMPHC,#0BH;
符号位为负的标志为0BH
SJMPLP2
LP1:
MOVTEMPHC,#0AH;
符号位为正的标志为0AH
LP2:
MOVA,TEMPHC
SWAPA
MOVTEMPHC,A
ANLA,#0FH;
乘0.0625
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVTEMPLC,A;
小数部分的BCD码
ANLA,#0F0H
ANLA,#0FH
ORLA,TEMPL
LCALLHEXBCD
ORLA,TEMPHC
ORLA,TEMPLC
MOVTEMPLC,A
MOVA,R4
JZTEMPOUT
MOVR4,A
MOVA,TEMPHC
ORLA,R4
TEMPOUT:
TAB1:
DB00H,01H,01H,02H,03H,03H,04H,04H,05H,06H
DB06H,07H,08H,08H,09H,09H
HEXBCD:
MOVB,#64H
DIVAB
MOVA,#0AH
XCHA,B
ORLA,B
DIP:
MOVDPTR,#TAB
MOVP1,A
CLRP2.0
MOVR6,#0FFH
SETBP2.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 测量计 设计 说明书