数字式热敏电阻温度计.docx
- 文档编号:20440947
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:21
- 大小:140.95KB
数字式热敏电阻温度计.docx
《数字式热敏电阻温度计.docx》由会员分享,可在线阅读,更多相关《数字式热敏电阻温度计.docx(21页珍藏版)》请在冰豆网上搜索。
数字式热敏电阻温度计
数字式热敏电阻温度计
一、热敏电阻温度转换的原理:
热敏电阻是近年来发展起来的一种新型半导体感温元件。
由于它具有灵敏度高、体积小、重量轻、热惯性小、寿命长以及价格便宜等优点,因此应用非常广泛。
负系数热敏电阻热敏电阻与普通热电阻不同,它具有负的电阻温度特性,当温度升高时,电阻值减小,其特性曲线如下:
热敏电阻的阻值---温度特性曲线是一条指数曲线,非线性度较大,因此在使用时要进行线性化处理,线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。
为此常在要求不高的一般应用中,作出在一定的温度范围内温度与阻值成线性关系的假定,以简化计算。
热敏电阻的应用是为了感知温度为此给热敏电阻以恒定的电流,测量电阻两端就得到一个电压,然后就可以通过下列公式求得温度:
其中:
T------被测温度
------与热敏电阻特性有关的温度参数
K-----与热敏电阻特性有关的系数
------热敏电阻两端的电压
根据这一公式,如能测得热敏电阻两端的电压,再知道参数和系数K,则可计算出热敏电阻的环境温度,也就是被测的温度。
这样就把电阻随温度的变化关系转化为电压温度变化的关系了。
数字式电阻温度计设计工作的主要内容,就是把热敏电阻两端电压值经A/D转换变成数字量,然后通过软件方法计算得到温度值,再进行显示等处理。
二、应用元件:
1、热敏电阻RT串上一个普通电阻R再接电源+5V,取RT电压经送A/D转换器转换。
2、使用ADC0809进行A/D转换。
A/D转换器的任务是将输入的模拟信号电压转换为输出的数字量。
A/D转换的过程是首先对输入的模拟电压信号取样,然后进入保持时间。
在这段时间内将取样的电压量化为数字量,按一定的编码方式输出转换结果。
完成这样的一次转换后重新开始下一次取样,进行新一轮的转换。
ADC0809的转换启动信号(START)和地址锁存信号(ALE)连接在一起,由信号控制地址写入,进行通道的选择,按图中情况,通道的地址为4000H,转换后的数据以定时传送方式80C51,所以要运行一个100的延时子程序,以等待A/D转换完成进行数据的读操作,为此口地址和RD信号相与后送OE,当有效时,转换数据送上数据总线,由80C51接收。
ADC0809是采用CMOS工艺制成的单片8位8通道琢次渐近型模/数转换器,其逻辑框图及引脚排列
器件的核心部分8位A/D转换器,它由比较器,逐次渐近寄存器,D/A转换器及控制和定时5部分组成.
ADC0809的引脚功能说明如下:
8路模拟信号输入端.
地址输入端.
ALE:
地址锁存允许输入信号,在此脚施加正脉冲,上升沿有效,此时锁存地址码,从而选通相应的模拟信号通道,以便进行A/D转换.
START:
启动信号输入端.当此引脚施加正脉冲,在上升沿到达时,内部逐次逼近寄存器复位;在下降沿到达后,开始A/D转换过程.
EOC:
转换结束输出信号(转换结束标志),高电平有效.
OE:
输入允许信号,高电平有效.
CLOCK(CP):
时钟信号输入端,外接时钟频率一般为640KHZ.
(1)模拟量输入通道选择.
8路模拟开关由3个地址输入端来选通8路模拟信号中的任何一路并进行A/D转换.
被选模拟通道
地址
本试验采用一路输入
(2)D/A转换过程
在启动端(START)加启动脉冲(正脉冲),D/A转换即开始工作.如将启动端(START)与转换结束端(EOC)直接相连,转换将是连续的,在用这种转换方式时,开始应在外部加启动脉冲.
3、八位D型锁存器74LS37374LS373的逻辑图和引脚排列图如下
由图可见它是三态输出结构,为输出使能控制信号端,当为低电平时,8个输出三态门导通;当为高电平时,输出三态门为高阻态。
74LS373内部集成有8位D型锁存器,1D,2D,```````8D是8个数据输入端,CP是锁存控制信号。
在输出使能信号=0情况下,若CP为高电平,输出Q跟随输入数据D变化而变化,即D=0,Q=0,D=1,Q=1,若CP为低电平,输出Q的状态被锁存在CP变0之前时刻各相应数据输入端的电平上,
当=1时,输出虽然为高阻态,已有的锁存数据仍然保留,新的数据也可以进入,因而输出使能信号不影响内部锁存功能。
D型锁存器的组成和工作原理如下:
两个与或非门交叉耦合构成基本RS触发器,当CP为高电平1时,D=1,,Q=1;同样,CP=1,D=0,Q=0.输出Q的状态随D端数据变化而变化,相当D端数据直接输出至Q端一样,即所谓透明.当CP变为低电平0时,对与或非门构成的基本RS触发器的状态不产生影响,Q端状态仍维持CP变为低电平之前D的状态.此后即使D端数据变化,由于CP=0,Q端的状态也不变,实现锁存功能..该D型锁存器又称为D型透明锁存器.
如下图所示:
4、2/4线74LS139译码器二进制译码器当有n个输入端(n位二进制代码)时,需要有个输出端,译码器还有使能控制端.当使能控制端有效时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平.
以2/4线译码器为例来说明二进制译码器的工作原理.
(1)列出译码器功能表.
n=2,译码器有两个输入
(3)根据逻辑式画出电路图,如图
当,其他输出均为1;即对应于每一组输入二进制代码,只有一个输出信号为0,其他都为1,实现了译码功能
2/4线74LS139译码器的外引线排列图如下:
.
5、80C51芯片分析如下:
系统特点:
80C51中非总线单片机在片程序存储器容量较小,大多不超过4K字节。
但仍保留了80C51系列单片机主要片内资源及CPU外围功能电路。
在程序量不大,不需并行外围扩展的应用系统,应优先选用非总线型单片机。
应用系统中所需的外围器件和外设接口可通过虚拟串行总线进行扩展。
最小系统还应充分使用I/O口的驱动能力和模拟比较器功能。
引脚功能说明:
Vss:
电源地
Vcc:
电源引脚。
正常操作、空闲、掉电以及对EPROM编程或校验工作电压。
2.7~6.0V(89C5X、89C5XX2电源电压一般为5.0V)
P0.0~P0.7:
P0口:
作为I/O口使用时,P0口是漏极开路双向口,向口锁存器写入1,I/O引脚将悬空,开作高阻输入引脚;在读写外部存储器时,P0口作为“低8位地址/数据”总线使用
P1.0~P1.7:
P1口:
内部带有弱上拉的双向I/0口,作为输入引脚使用前,先向P1口锁存器写入1,使P1口引脚被上拉为高电平
P1.0、P1.1引脚除了作为一般I/O引脚使用外,还具有第二输入/输出功能:
T2(P1.0)——定时器T2的计数输入端或定时器T2的时钟输出端
T2EX(P1.1)——定时器T2外部触发输入端
P1.2:
接入一个7047再接一个发光二极管,再接一个300◎的电阻,该电阻时为了限制从+5V流下的电流,避免发光二极管因电流过大而烧坏。
当P1.2输出低电平时,则发光二极管发亮,与此同时与它相连的光敏三极管的基极立即受感应,则基极有电,继电器J相当于开关。
P1.3:
是为了输出报警信号,300
P2.0~P2.7:
P2口:
内部带有弱上拉的双向I/O口,作为输入引脚使用前,先向P2口锁存器写入1,使P2口引脚被上拉为高电平
在读写外部存储器时,P2口输出高8位地址A15~A8
P3.0~P3.7:
P3口:
内部带有弱上拉的双向I/O口,作为输入引脚使用前,先向P3口锁存器写入1,使P3口引脚被上拉为高电平
P3口除了可作为一般I/O引脚使用外,还具有第二输入/输出功能:
RXD(P3.0)——串行数据接收(输入)端
TXD(P3.1)——串行数据发送(输出)端
INTO(P3.2)——外中断0输入端
INT1(P3.3)——外中断1输入端
T0(P3.4)——定时/计数器T0的外部输入端
T1(3.5)——定时/计数器T1的外部输入端
WR(P3.6)——外部数据存储器写选通信号,低电平有效
RD(3.7)——外部数据存器读选通信号,低电平有效
RST:
复位信号输入端,高电平有效
ALE:
低8位地址锁存信号。
在访问外部存储器时,用ALE信号下降沿锁存从P0口输出的低8位地址信息A7~A0,以便随后将P0作为数据总线使用
在正常情况下ALE输出信号恒定为1/6振荡频率,并可用作为外部始终或定时信号。
注意每次访问外部数据时一个ALE脉冲将被忽略,ALE可以通过置位SFR的auxliary.0禁止ALE输出,这样ALE只能在执行MOVX指令时为激活
PSEN:
外部程序存储器读选通信号,低电平有效。
从外部程序存储器取指令时,没个机器周期PSEN信号被激活两次。
只有执行外部程序存储器中的指令时,PSEN有效,而其他操作PSEN无效
EA/VPP:
外部程序存储器选择信号,低电平有效。
在复位期间CPU检测并锁存EA/Vpp引脚电平状态,当发现该引脚为高电平时,从片内存储器取指令,只有当程序计数器PC超出片内程序存储器地址范围时,才转到外ROM中取指令;当该引脚为低电平时,一律从外部程序存储器中取指令
XTAL1:
片内晶振电路反相放大器输入端
XTAL2:
片内晶振电路反相放大器输出端
80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。
80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。
6、LED显示:
LED是发光二极管的缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
LED显示有理
LED显示器由7个发光二极管组成,因此也称之为7段LED显示器,其排列形状如下:
此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。
通过7段发光二极管共有两种连接方法:
共阳极接法
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮。
共阴极接法
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
使用LED显示器时要注意区分这种不同的接法。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
7段发光二极管,再加上一个小数点位,共计八段。
因此提供给LED显示器的字形代码正好一个字节。
各代码位的对应关系如下:
用LED显示器显示十六位进制数的字形代码在下图表示:
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
COH
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
用80C51作LED显示器接口
1.LED显示器接接概述
LED显示器接口比较简单,例如使用如下图所示的译码驱动器就可以实现BCD码到7位段码的转换,完成一位LED显示器的接口.
由于使用了专用的7位段码的译码器/驱动器,可以把一位十六位进数(4位二进制)译码为相应的字形代码,并提供足够的功率去驱动发光二极管.使用这种接口方法,虽然软件简单,仅需使用一条输出指令就可以进行LED显示,但使用硬件却比较多,而硬件译码又缺乏灵活性,所以较少使用.
在实际应用中使用较为普遍的是以软件来代替硬件译码,这样只需要一个接口芯片就右以实现多位LED显示器的显示,例如以8155作接口电路.
2.用80C51作接口电路的连接
实际使用的LED显示器都是多位的,对多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器.这样虽然在任一时刻只有一位显示被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样.为了实现LED显示器的动态扫描,除了要给显示器提供段(字形代码)的输入之外,还要对显示器加位的控制,这就是通常所说的段控的位控.因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用输出位控线,位控线的数目等于显示器的位数.
下图是使用80C51作6位LED显示器的接口电路.
其中C口为输出口(位控口),以输出位控线.由于位控线的驱动电流较大,8段全亮时约40—60mA,因此PC口输出加74LS06进行反相和提高驱动能力,然后再接各LED显示器的位控端.
A口也为输出口(段控口),以输出8位字形代码(段控线).段控线的负载电流约为8mA,为提高显示亮度,通常加74LS244进行段控输出驱动.
3.显示缓冲区
为了存放显示的数字或字符,通常在内部RAM中设置显示缓冲区,其单元个数与LED显示器位数相同.假定本例中6个显示器的缓冲单元是79H---7EH,与LED显示器的对应关系为:
动态扫描是从右向左进行,则缓冲区的首地址应为79H
三、系统主要程序:
LED是发光二极管的缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
LED显示有理
LED显示器由7个发光二极管组成,因此也称之为7段LED显示器,其排列形状如下:
此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。
通过7段发光二极管共有两种连接方法:
共阳极接法
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮。
共阴极接法
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
使用LED显示器时要注意区分这种不同的接法。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
7段发光二极管,再加上一个小数点位,共计八段。
因此提供给LED显示器的字形代码正好一个字节。
各代码位的对应关系如下:
用LED显示器显示十六位进制数的字形代码在下图表示:
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
COH
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
用80C51作LED显示器接口
4.LED显示器接接概述
LED显示器接口比较简单,例如使用如下图所示的译码驱动器就可以实现BCD码到7位段码的转换,完成一位LED显示器的接口.
由于使用了专用的7位段码的译码器/驱动器,可以把一位十六位进数(4位二进制)译码为相应的字形代码,并提供足够的功率去驱动发光二极管.使用这种接口方法,虽然软件简单,仅需使用一条输出指令就可以进行LED显示,但使用硬件却比较多,而硬件译码又缺乏灵活性,所以较少使用.
在实际应用中使用较为普遍的是以软件来代替硬件译码,这样只需要一个接口芯片就右以实现多位LED显示器的显示,例如以8155作接口电路.
5.用80C51作接口电路的连接
实际使用的LED显示器都是多位的,对多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器.这样虽然在任一时刻只有一位显示被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样.为了实现LED显示器的动态扫描,除了要给显示器提供段(字形代码)的输入之外,还要对显示器加位的控制,这就是通常所说的段控的位控.因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用输出位控线,位控线的数目等于显示器的位数.
下图是使用80C51作6位LED显示器的接口电路.
其中C口为输出口(位控口),以输出位控线.由于位控线的驱动电流较大,8段全亮时约40—60mA,因此PC口输出加74LS06进行反相和提高驱动能力,然后再接各LED显示器的位控端.
A口也为输出口(段控口),以输出8位字形代码(段控线).段控线的负载电流约为8mA,为提高显示亮度,通常加74LS244进行段控输出驱动.
6.显示缓冲区
为了存放显示的数字或字符,通常在内部RAM中设置显示缓冲区,其单元个数与LED显示器位数相同.假定本例中6个显示器的缓冲单元是79H---7EH,与LED显示器的对应关系为:
动态扫描是从右向左进行,则缓冲区的首地址应为79H
三、主要程序:
ORGOOOH
AJMPMain
ORG0050H
Main:
MOVR1,#30H
MOVR2#00H
SETBEA
SETBEX1
SETBIT1
MOVR0,#0F0H
MOVA,R2
MOV@R0,A
SJMP$
ORG0013H
AJMPCINT1
ORG0100H
CINT1MOVR0,#0F0H
MOVXA,@R0
MOV@R1,A
CLREX1
COMP:
MOVB,#0.8448;扩大256倍的K值送B
MOVA,@R0
MULAB;256*K*Vt
MOVA,#B8H;T0值送A,舍弃乘积低8位
CLRC;清进位位
SUBBA,B;T0-K*Vt
CJNEA,#0AH,COMP1
COMP1:
JNCCOMP3;温度高于10度转移
CJNEA,#96H,COMP2
COM2:
JCCOMP3;温度低于150度转移
MOV27H,#0FH;超出有效温度范围显示“F”
MOV28H,#0FH
MOV29H,#0FH
MOV2AH,#0FH
MOV2BH,#0FH
MOV2CH,#0FH
ACALLDISP;调用显示子程序
COMP3:
RET
MOVR1,#00H
MOVR2,#00H
CLRC
CHAN:
SUBBA,#64H;减100
JCCHAN1;不够减,转
INCR;;够减,有效位置“1”
AJMPCHAN2
CHAN1:
ADDA,#64H;恢复系数
CHAN2:
SUBBA,#0AH;减10
JCCHAN3;不够减,转
INCR2;够减,十位数加1
AJMPCHAN2;重复减10
CHAN3:
ADDA,#0AH;还原个位数
MOV27H,#0AH
MOV28H,#0DH
MOV29H,#10H
MOV2AH,A
MOV2BH,R2
MOV2CH,R1
RET
DISP:
MOVR6,#27H;指向显示缓冲区首址
MOVR7,#20H;指向显示器最高位
MOVR0,#88H;段控口地址
MOVR1,#8CH;位控口地址
DISP1:
MOVA,#00H;各位数码管清“0”
MOVX@R0,A
MOVA,R7
MOV@R1,A
RRCA
JCDISP2
MOVR7,A
AJMPDISP1
DISP2:
MOVR7,#20H;重新指向显示器最高位
DISP3:
MOVA,R7
MOVX@R1,A;输出位控码
MOVA,@R6;取出显示数据
ADDA,#0EH
MOVCA,@A+PC;查表,字形码送A
MOVX@R0,A;输出字形码
ACALLDELAY;延时
INCR6;指向下一缓冲单元
MOVA,R7
JBACCC.0,DISP4;到最低位则转
RRA
MOVR7,A
AJMPDISP3
DISP4:
RET
DSEG:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH
DB77H,7CH,39H,5EH,79H
DB71H,00H
OELAY:
PUSHPSW
CLRRS0
SETBRS1
MOVR7#2CH
DL00P1:
MOVR6,#6CH
DL00P2:
DJNZR6DL00P2
DJNZR7DL00P
P0PPSW
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 热敏电阻 温度计