单片机课程设计——热敏电阻测温电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程题目:热敏电阻测温电路的设计院系:机电汽车工程学院
班级:机101-4
学生姓名:
学号:
小组成员:
指导教师:***
目录
一、设计目的、要求及方案选择-----------------------------------------------------(2)
1、设计要求---------------------------------------------------------------------------(2)
2、设计方案的选择--------------------------------------------------------------------(2)
二、硬件系统各模块电路的设计---------------------------------------------------(3)
1、单片机系统的设计---------------------------------------------------------------(3)
1-1、AT89C51的简介及管脚功能---------------------------------------------(3) 1-1、AT89C51的最小系统介绍-----------------------------------------------(7) 2、基于MF58的NTC热敏电阻温度测量电路设计---------------------------(7)
2-1、MF58热敏电阻的介绍---------------------------------------------------(7) 2-2、温度测量电路的设计----------------------------------------------------(8) 3、AD转换器工作原理---------------------------------------------------------------(10)
3-1、ADC0809简介----------------------------------------------------------------(10) 3-2、基于AD0809的数模转换电路--------------------------------------------(11) 4、LED数码管显示电路的设计---------------------------------------------------(12)
4-1、显示电路驱动系统的设计------------------------------------------------(12) 4-2、数码管显示的原理--------------------------------------------------------(12) 4-3、显示电路的原理图---------------------------------------------------------(14)
三、电路整体结构设计及软件设计-------------------------------------------------(15)
1、电路整体结构设计----------------------------------------------------------------(15)
2、软件设计----------------------------------------------------------------------------(15)
四、结论---------------------------------------------------------------------------------(16)
五、参考文献---------------------------------------------------------------------------(17)
六、附页----------------------------------------------------------------------------------(17)
一、设计要求及方案选择
1、设计要求
热敏电阻温度测量系统设计
任务要求:a、设计基于MF58的NTC热敏电阻信号调理电路
b、设计A/D转换电路
c、设计数码管显示电路
2、设计方案的选择
本文设计一个采用热敏电阻为敏感元件的温度测量显示系统,温度显示范围为0-100C
︒。

包含温度传感器,AD转换器,︒,显示分辨率0.1 C
51系列单片机,LED数码显示管四部分。

并利用C51高级语言编写,实现热敏电阻测温显示系统。

二、硬件系统各模块电路的设计
1、单片机系统的设计
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

考虑到单片机的存储空间与价格,以及我对单片机的熟悉程度,课本学习的是AT89C51单片机,因此,此次设计我选用了AT89C51单片机来完成此次设计。

1-1 AT89C51的简介及管脚功能
VCC:供电电压。

GND:接地
P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外
部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH
编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原
码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。

P1口管脚写入1后,被内部上拉为高,
可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于
内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址
接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻
拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,
将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储
器或16位地址外部数据存储器进行存取时,P2口输出地址的高八
位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址
数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2
口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用
作输入。

作为输入时,由于外部下拉为低电平,P3口将输出电流
(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(定时器/计数器0外部输入)
P3.5 T1(定时器/计数器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

/EA/VPP:当/EA保持低电平时,则在此期间只外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式
1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间
访问内部程序存储器。

当PC值超过片内程序存储器空间时,则
自动转向外部程序存储器的程序。

在FLASH编程期间,此引脚
也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入
XTAL2:来自反向振荡器的输出。

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器
可以配置为片内振荡器。

石英晶体振荡和陶瓷振荡均可采用。

如采
用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号
要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,
但必须保证脉冲的高低电平要求的宽度。

1-2 AT89C51的最小系统介绍
时钟电路:
单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。

单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。

单片机的时钟产生方式有两种。

①内部时钟方式。

利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。

②外部时钟方式。

在单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。

外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。

图3-1为内部时钟电路图3-2为HMOS型外部时钟电路图3-3为CHMOS型外部时钟电路
复位电路和复位状态
单片机的复位是靠外部电路实现的。

单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。

①复位电路。

单片机通常采用上电自动复位和按键复位两种方式。

最简单的复位电路如下图所示。

上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。

在应用系统中,有些外围芯片也需要复位。

如果这些芯片复位端的复位电平的要求一致,则可以将复位信号与之相连。

简单的复位电路
②复位状态。

复位电路的作用是使单片机执行复位操作。

复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。

程序存储器的0003H单元即单片机的外部中断0的中断处理程序的入口地址。

留出的0000H~0002H 3个单元地址,仅能够放置一条转移指令,因此,MCS-51
单片机的主程序的第一条指令通常情况下是一条转移指令。

P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7,共32条引线。

这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。

1-2 单片机最小系统图
最小系统图
2、基于MF58的NTC热敏电阻温度测量电路设计
2-1 MF58热敏电阻的介绍
热敏电阻传感器是对温度敏感的电阻器的总称,是半导体测温元件。

随着外界温度的变化,其阻值会相应发生较大改变。

按温度系数分为负温度系数热敏电阻(NTC)和正温度系数热敏电阻(PTC)两大类。

NTC热敏电阻以MF为其型号,PTC热敏电阻以MZ为其型号。

热敏电阻符号如下图:
MF58测温型NTC热敏电阻,由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体微米的精密加工工艺,采用玻璃管封装,耐温性好,稳定性高,可靠性高。

特点:1、稳定性好,可靠性高。

2、阻值范围宽:0.1-1000K
3、阻值精度高。

4、由于玻璃封装,可在高温和高温等恶劣环境下使用。

5、体积小、重量轻、结构坚固,便于自动化安装(在印制线路板上)。

6、热感应速度快、灵敏度高。

主要技术参数:1、额定零功率电阻值范围(R25):0.1~1000KΩ
2、R25允许偏差:±1%、±2%,±3%, ±5%, ±10%.
3、B值范围(B25/50℃):1960~4480K
4、B值允许偏差:±0.5%,±1%,±2%.
5、耗散系数: 2mW/℃(在静止空气中)
6、热时间常数: 20S (在静止空气中)
7、工作温度范围: -55℃~ +300℃
8、额定功率:≤50Mw
注意事项:1、MF系列热敏电阻器是玻璃封装的,请勿剧震、碰击以防玻璃外壳破裂。

2、焊接时间控制在4S内。

3、MF系列热敏电阻器不能直接在水中或液体中使用。

2-2 温度测量电路的设计
原理图:
各元器件介绍:
RV1为170-精度为1%的MF58NTC热敏电阻
R2、R3、R5、R10为10K的普通电阻
C4为1μf的瓷介电容
R4、R6、R7、R11为1K的普通电阻
R8为470K的普通电阻
其工作原理为:
(1)电压跟随器右端输出2.5伏电压为电桥提供稳定的电压。

(2)根据电桥的工作原理,电桥输出的差模电压为U=(2.5*RV1/1K)1/4。

(3)查分运算放大器的增益A=R8/R5=47。

(4)所以RV1与测量电路输出电压U。

的关系为RV1=U。

*43,进而可根据温度和电阻的关系求得温度。

3、AD转换器工作原理
3-1 ADC0809简介
本设计中才用型号为ADC0809的A/D转换器. ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

本电路设计直接采用0-5V的输出电压即可满足电路需求,AD0809芯片图如图2所示:
图2 AD0809芯片
(1)ADC0809的转换参数为D=(Vin/5)*255。

故Vin=(D/255)*5。

Vin即测量电路的输出电压。

3-2 基于AD0809的数模转换电路
本设计中试验箱内部基于AD0809的模数转换电路图,如图3所示
图3 模数转换电路图
如图3所示,实验只有IN0和IN1两个输入端口,输出端口地址取决于片选A/D_CS所接片选端得段地址,片选将于第四章讲述。

ADC0809是8位逐次逼近型A/D转换器。

它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D 转换器进行转换。

三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

4、LED数码管显示电路的设计
4-1 LED数码管原理:
LED数码管是由发光二极管作为显示字段的数码型显示器件。

下图为0.5英尺LED数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成
dp作为小数点。

因此这种LED显示器称为七段数码管或八段数码管。

LED数码管
LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类,如上图。

共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM 接高电平,a~g、dp各笔段通过限流电阻接控制端。

某笔段控制端低电平时,该笔段发光,高电平时不发光。

控制这几段笔段发光,就能显示出某个数码或字符。

共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。

LED数码管按其外形尺寸有多种形式,使用较多的是0.5英寸和0.8英寸;按显示颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。

LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.5~2V额定电流为10mA,最大电流为40mA。

静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。

4-2 LED数码管编码方式
当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、…、g、dp按某一顺序接到MCS-51型单片机某一个并行I/O口D0、D1、…、D7,
当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。

例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g 和dp为高电平,如下表。

共阳极LED数码管显示数字“0”时各管段编码
C0H称为共阳极LED数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。

LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、…、g、dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。

甚至在某些特殊情况下将a、b、…、g、dp顺序打乱编码。

下表为共阴极和共阳极LED数码管几种八段编码表。

共阴极和共阳极LED数码管几种八段编码
0 0
5 0 1 1 0 1 1 0
1
6DH
1 0 1 1 0 1 1
B6H 12 H 92 H
6 0 1 1 1 1 1 0
1
7DH
1 0 1 1 1 1 1
BEH 02 H 82 H
7 0 0 0 0 0 1 1
1
07H
1 1 1 0 0 0 0
E0H 78 H F8 H
8 0 1 1 1 1 1 1
1
7FH
1 1 1 1 1 1 1
FEH 00 H 80 H
9 0 1 1 0 1 1 1
1
6FH
1 1 1 1 0 1 1
F6H 10 H 90 H
4-3显示电路的原理图
显示电路原理图
三、电路整体结构设计及软件设计
1、电路整体结构设计
由于本课程设计中,受到WA VE2000实验箱的限制,电路整体结构如下:
2、软件设计
本课程设计采用的为汇编语言。

整体设计思路为:
开始—初始化程序—AD转换—数值转换—数码显示
模数转换子程序流程图如图所示。

数码显示子程序流程图如图所示。

四:结论
本设计中,是以温度采集及检测为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、驱动显示单元等。

单片机开发过程是一个非常严谨,复杂,科学,周密和细致,及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。

能以细致和科学的头脑去考察、分析和解决问题。

同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实事求是,一丝不苟的精神,才能开发出理想的设计出来。

在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,不懂就问,在规定的时间内系统有序的完成。

温度检测是工业过程控制中一个重要参数,了解到温度检测的重要性,使自己在设计过程中,更加有兴趣和动力,在软件设计方面,遇到了一些实际问题,不过,在老师的指导和同学的帮助下都能一一解决,使自己学到了许多新的知识。

从本设计的资料收集和方案论证到方案设计、修改和最后的完成,得到了老师和同学的指导和帮助,才使本设计顺利完成。

在此表示衷心感谢!
五、参考文献
[1] 中国期刊全文数据库: /kns50/
[2]
[3]
[4] 查电子元器件资料: /
[5]汪贵平李登峰等编著《新编单片机原理及应用》,机械工业出版社
[6] 李隆宝. 实用电子器件和电路简明手册[M]. 北京:电子工业出版社,1991.
[7]康华光,电子技术基础数字部分(第四版)[M].北京:高等教育出版社,1987
[8] 付家才等主编《单片机控制工程实践技术》,化学工业出版社
六、附页
1、程序清单
/*************** writer:shopping.w ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code LEDData[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
sbit OE = P1^0;
sbit EOC = P1^1;
sbit ST = P1^2;
sbit CLK = P1^3;
void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void Display_Result(uchar d) {
P2 = 0xf7;
P0 = LEDData[d%10];
DelayMS(5);
P2 = 0xfb;
P0 = LEDData[d%100/10];
DelayMS(5);
P2 = 0xfd;
P0 = LEDData[d/100];
DelayMS(5);
}
void tr(float RTemp)
{
uchar TEM;
RTemp=RTemp*0.67;
if(RTemp>167)
{TEM=0;
Display_Result(TEM);}
else
{
if(RTemp<0.4)
{TEM=180;
Display_Result(TEM);}
else
{
if(RTemp>=0.4&&RTemp<0.9)
{TEM=-71.4*RTemp+207;
Display_Result(TEM);}
else
{
if(RTemp>=0.9&&RTemp<2.2)
{TEM=-22.8*RTemp+162.8;
Display_Result(TEM);}
else
{
if(RTemp>=2.2&&RTemp<4)
{TEM=-12.5*RTemp+140;
Display_Result(TEM);}
else
{
if(RTemp>=4&&RTemp<14)
{ TEM=-3.8*RTemp+105.2;
Display_Result(TEM);}
else
{
if(RTemp>=14&&RTemp<39)
{ TEM=-0.84*RTemp+62.76;
Display_Result(TEM);}
else
{
if(RTemp>=39&&RTemp<98)
{TEM=-0.3*RTemp+40;
Display_Result(TEM);}
else
{
if(RTemp>=98&&RTemp<=167)
{ TEM=-0.15*RTemp+25;
Display_Result(TEM);}
}
}
}
}
}
}
}
}
}
void main()
{
TMOD = 0x02;
TH0 = 0x14;
TL0 = 0x00;
IE = 0x82;
TR0 = 1;
P1 = 0x3f;
while(1)
{
ST = 0;
ST = 1;
ST = 0;
while(EOC == 0);
OE = 1;
tr(P3);
OE = 0;
}
}
void Timer0_INT() interrupt 1
{
CLK = !CLK;
}
2、完整电路原理图。

相关文档
最新文档