ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:120.38KB ,
资源ID:6401768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6401768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机温度传感器资料.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机温度传感器资料.docx

1、单片机温度传感器资料 单片机课程设计报告(南京信息工程大学)年级专业:-姓名:-学号:-日期:-一:系统概述二:硬件系统设计1、温度计整个测温流程图2、ADC0809时序图3、ADC0809初始化程序4、数码管指令5、温度计整体驱动程序3、软件系统设计1、温度计整个测温流程图2、ADC0809时序图3、ADC0809初始化程序4、数码管指令5、温度计整体驱动程序四、电路制作与调试1、电路图2、焊接电路3、硬件调试4、软件调试 一:系统概述温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制

2、技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量51系列单片机具有易于学习、价格低、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。温度通过模拟温度传感器(热敏电阻)进行采样并转换为电压信号,经放大器放大后用ADC0809模数转换器进行A/D转换成数字量进入AT89C51单片机,从P3.0、P3.1口输出到八段数码管LE

3、D静态显示部分显示其温度。二:硬件系统设计1、AD590介绍1.1、集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测: 式中,K波尔兹常数; q电子电荷绝对值。集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度25时输出2.982V。电流输出型的灵敏度一般为1mA/K。1.2、AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:、流

4、过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: mA/K式中: 流过器件(AD590)的电流,单位为mA; T热力学温度,单位为K。、AD590的测温范围为-55+150。、AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。、输出电阻为710MW。 1.3、AD590基本应用电路1.4、AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。由于AD590精度高、价格低、不需辅助电源

5、、线性好,常用于测温和热电偶的冷端补偿。2、AT89S51 介绍2.1、AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 b

6、ytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 2.2、AT89S51引脚及各引脚用途VCC:供电电压。 GND:接地。 P0口:

7、P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2

8、口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉

9、为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 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口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数

10、据读入到内部总线。上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。89C5

11、1的P0/P1/P2/P3口作为输入时都是准双向口。接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了P1口外P0P2P3口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上

12、置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡

13、放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 3、ADC0809 介绍3.1、ADC0809是8位CMOS逐次逼近式A/D转换器。内部有8 路模拟量输入和8 位数字量输出的A/D转换器,它是美国国家半导体公司的产品,是目前国内最广泛的8 位通用的A/D转换的芯片。3.2、 ADC0809各管脚功能IN0IN7为8 路模拟电压输入线,用于输入被转换的模拟电压。ADDA,ADDB,ADDC 三位地址输入端。八路模拟信号转换选择同由A,B,C决定。A为低位,C为高位。CLOCK 外部时钟输入端,时钟频率高,A/D转换速度快。允许范围为101280KHZ,典型值为640KH

14、Z,此时,A/D转换时间为10us。通常由MCS-51型单片机ALE端直接或分频后与其相连。当MCS-51型单片机无读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片机外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。D0-D7 数字量输出端,A/D转换的结果由这几个端口输出。OE A/D转换结果输出允许控制端,当OE端为高电平时,允许将A/D转换结果从D0D7端输出。通常由MCS-51型单片机的端和ADC00809片选端(例如),通过或非门与ADC0809的OE端相连接。当DPTR为FEFFH,且执行“MOVX A,DPTR” 指令后,和2.0均有效,或非

15、后产生高电平,使ADC0809的OE端有效,ADC0809将A/D转换的结果送入数据总线P0口,CPU在读入中。ALE 地址锁存允许信号。八路模拟通道地址由A,B,C输入在ADC0809的ALE信号有效时,将该八路地址锁存。START 启动A/D转换信号。当START端输入一个正脉冲时,立即启动ADC0809进行A/D转换。START端与ALE 端连在一起,由MSC-51型单片机WR和ADC0809片选端(例如)。通过或非门连接,当DPTR为FEF8H时,执行“MOVX DPTR,A”指令后,将启动ADC0809模拟通道0的A/D转换。FEF8HFEFFH分别为八路模拟输入通道的地址。执行MO

16、VX写指令,并非真的将A中的内容写进ADC0809 中,ADC0809中没有一个寄存器,能容纳的A中的内容。ADC0809的输入通道是IN0IN7,输出通道是D0D7,因此,执行:“MOVX DPTR,A”指令与A中内容无关,但DPTR地址应指向当前A/D的通道地址。DOC A/D转换结果信号。当ADC0809启动A/D转换后,EOC输出低电平,转换结束后,EOC输出高电平,表示可以读取A/D转换的结果。该信号取反后若与MCS-51型单片机引脚或连接,可引发CPU中断,在中断服务程序中读A/D转换的数字信号,若与MCS-51型单片机两个中断源已用完,则EOC也可与P1口或P3口的一条端线相连,

17、不采用中断方式,采用查询方式,查得EOC为高电平后,在读入A/D转换的值。 VREF+,VREF- 正负基准电压输入端。正基准电压的典型值为+5V,可与电源电压+5V相连,但电源电压 往往有一定的波动,将影响A/D转换的精度。因此,精度要求较高时,可用高稳定基准电源输入。当模拟信号电压较低时,基准电压也可取低于5V的数值。VCC,GND 正电源电压端和地端。4、LM358 介绍4.1、LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模

18、块和其他所有可用单电源供电的使用运算放大器的场合。LM358 的封装形式有塑封8引线双列直插式和贴片式。 4.2、LM358特性: 内部频率补偿;直流电压增益高(约100dB);单位增益频带宽(约1MHz);电源电压范围宽:单电源(330V);双电源(1.5 一15V); 低功耗电流,适合于电池供电 ; 低输入偏流; 低输入失调电压和失调电流;共模输入电压范围宽,包括接地; 差模输入电压范围宽,等于电源电压范围;输出电压摆幅大(0 至Vcc-1.5V)4.3、LM385 引脚图8脚V+,4脚接地,1,7脚输出,2,6脚比较端+,3,5比较端 5、LED数码管 介绍5.1、在单片机应用系统中,如

19、果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。5.2、LED数码管是由发光二极管作为显示字段的数码型显示器件。图4-2a为0.5inLED数码管的外形和引脚图,其中七只发光二极管分别对应ag笔段构成“日”字形另一只发光二极管Dp作为小数点。因此这种LED显示器称为七段数码管或八段数数码。LED数码管按电路中的连接方式可以分为共阴型和共型两大类,如图4-2示b、c所示。共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,ag、Dp各笔段通过限流电阻接控制端。某笔段控制端低电平时,该

20、笔段发光,高电平时不发光。控制苛几段笔段发光,就能显示出某个数码或字符。共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。当LED数码管与单片机相联时,一般将LED数码管的各笔段引脚a、b、g、Dp按某一顺序接到MCS51型单片机某一个并行I/O口D0、D1、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。三、软件系统设计1、温度计整个测温流程图 2、ADC0809时序图3、ADC0809初始化程序MOV R0, #0A0H ;数据存储区首地址MOV R2, #08H ;8路计数器SETB IT1 ;边沿触发方式SETB

21、EA ;中断允许SETB EX1 ;允许外部中断1中断MOV DPTR, #0FEF8H ;D/A转换器地址LOOP: MOVX DPTR, A ;启动A/D转换HERE: SJMPHERE ; 等待中断中断服务程序: DJNZ R2, ADENDMOVX A, DPTR ;数据采样MOVX R0, A ;存数INC DPTR ;指向下一模拟通道INC R0 ;指向数据存储器下一单元MOVX DPTR, A ADEND: RETI4、数码管指令: MOV DPTR,#SEGPORTMOV A,#SEGMOVX X DPTR,AMOV DPTR,#BITPORTMOV A,#BITMOVX DP

22、TR,A5、温度计整体驱动程序:#include#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00; /数码显示代码sbit led1=P23;sbit led2=P22;sbit led3=P21;sbit led4=P20; /位选sbit P24=P24;sbit P26=P26;sbit P27=P27;sb

23、it swich=P25; /定义开关uint k,l,m; uchar fuhao,shi,ge,biaoshi,num2,num,f,shu;void delay(uint p) uchar i,j; for(i=p;i0;i-) for(j=110;j0;j-); /延时1msvoid display() /动态显示程序 led1=1; P1=tablefuhao; delay(5); led1=0; led2=1; P1=tableshi; delay(5); led2=0; led3=1; P1=tablege; delay(5); led3=0; led4=1; P1=tableb

24、iaoshi; delay(5); led4=0;void inti() /初始化程序 f=0; led1=0; led2=0; led3=0; led4=0; TMOD=0x20; TH1=4; /设置定时器T1 TL1=4; EA=1; /开启总中断 ET1=1; /开启定时器1中断 TR1=1; /定时器T1工作 P1=0xff; P27=1; num=0; fuhao=17; shi=17; ge=17; biaoshi=17; P26=0; void key() if(swich=0) delay(5); /去抖动 if(swich=0) f=1; /标志位 while(!swich

25、); void main() inti(); while(1) key(); if(f=1) P26=1; for(k=20;k0;k-); P26=0; for(k=20;k0;k-); P26=1; delay(1); P0=0xff; EX1=1; /开启外部中 delay(1); f=0; display(); void t1() interrupt 3 P24=P24;void ex1() interrupt 2 f=0; EX1=0; P26=1; for(k=20;k0;k-); /数据传输时间 num=P0; num2=0; for(l=0;l8;l+) /首尾交换 shu=num; shu=shu&0x01; for(m=0;m1; /首尾转换 for(k=10;k0;k-); num=num2; if(num55) fuhao=16; shi=(55-num)/10; ge=(55-num)%10; biaoshi=12; else fuhao=(num-55)/100; if(fuhao=0) fuhao=17; shi=(num-55)%100/10;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1