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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机数字温度计.docx

1、单片机数字温度计第1章 绪论1.1、选题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一

2、般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求,而且还有很多功能可供开发,有着广泛的应用领域。20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的

3、系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。1.2、 课题意义在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常

4、用的一些温度控制单元都使用模拟电路设计制作的,其测量温度值不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行温

5、度测量。它可以执行不同的温度报警,可以任意设置温度。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为工业数字化提供了可能。1.3、 数字温度计的应用数字温度计具有测量准确,一计多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的数字温度计出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,给工业生产带来了方便。第2章 方案选择2.1 方案一采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可

6、推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在LCD电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。2.2 方案二采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。DS18B20 的最大特点之

7、一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便,并用LCD显示。2.3 方案选定:从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大、线路复杂。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。第3章 系统硬件设计3.1 系统结构图:图3-1 系统结构图 3.2 系统

8、原理图:图3-2 原理图 3.3、 设计介绍3.3.1、核心部分本设计采用的处理器单片机,单片机是早期SingleChipMicrocomputer的直译,它反映了早期单片机的形态和本质。然后,按照面向对象,突出控制功能,在片内集成了许多外围电路及外设接口,突破了传统意义上的计算机结构,发展成microcontroller的体系结构,目前国外已普遍称之为微控制器MCU(MicrocontrollerUnit)。鉴于它完全作嵌入应用,故又称为嵌入式微控制器(EmbeddedMicrocontrolle)。大多数单片机采用哈佛(Harvard)结构体系,即数据存储空间与程序存储空间相互独立的结构体

9、系。它不同于一般通用计算机系统结构,即程序和数据共用一个空间的冯诺伊曼(VonNeumann)结构。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据

10、指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图3-3 AT89S52引脚功能介绍VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数

11、据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节

12、。引脚号 第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口

13、也接收一些控制信号。引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程

14、序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52从外

15、部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。特殊功能寄存器。图3-4 电源电路 图3-5 时钟电路图3-6 复位电路3.3.2、DS18B20传感器本设计中用的传感器是DS18B20, DS18B20 数字温度计以9 位数字量的形式反

16、映器件的温度值。DS18B20 通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20 之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个 DS18B20 都有一个独特的片序列号,所以多只DS18B20 可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。图3-7 DS18B20表3-1 引脚说明16 脚SSOPPR35符号说明91GND接地82DQ数据输入/输出脚。对于单线操作:漏极开路73VDD可选的DS18B20(16

17、 脚SSOP):所有上表中未提及的引脚都无连接。表3-2温度/数据关系温度数据输出(二进制)数据输出(十六进制)+12500000000 1111101000FA+2500000000 001100100032+1/200000000 000000010001000000000 000000000000-1/211111111 11111111FFFF-2511111111 11001110FFCE-5511111111 10010010FF92DS18B20测温方法:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预

18、置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS18B20 内部对此计算的结果可提供0.5的分辨力。温度以16bit 带符号位扩展的二进制补

19、码形式读出,表一 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS18B20 测温范围-55+125,以0.5递增。如用于华氏温度,必须要用一个转换因子查找表。注意 DS18B20 内温度表示值为1/2LSB,如下所示9bit 格式: MSB LSB11001110= -25 C最高有效(符号)位被复制充满存储器中两字节温度寄存器的高MSB 位,由这种“符号位扩展”产生出了示于表一 的16bit 温度读数。图3-8 DS18B20测温电路3.3.3、液晶1602显示本设计采用液晶显示装置(1602液晶)即把温度信号显示在液晶显示器上,不仅结构简单清新可见,而且省电也容易控制。

20、数据的传输采用P0口进行控制, 其引脚VSS接地,VEE接VCC,RS和RW、E是显示器的控制端分别由单片机的引脚P1.0、P1.1、P1.2进行控制。1602液晶显示模块只留一个接口与外部通信,通过这个接口接收显示命令和数据,并按指令和数据的要求进行显示。外部电路通过这个接口读出显示模块的工作状态和显示数据。LCD显示模块一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示。LCD显示模块按功能显示可分为:LCD段式显示模块、LCD字符型显示模块、LCD图形显示块三类。液晶显示器因其功耗低、重量轻而成为便携式应用中的主流显示技术。这里所用的字符型液晶模块是一种用5x7点阵图

21、形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。液晶显示有点振式和字符式两种,在这里采用字符式液晶显示器1602来实现显示电路的功能。由于1602液晶显示器是本身带有驱动模块的液晶屏,它只有并口线和一些控制线,与单片机的连接有两种不同的方法,直接访问方式和间接访问方式。直接访问方式就是微处理器把液晶显示模块当作存储器或I/O设备直接挂在总线上,模块8位数据总线与微处理器的数据总线相连,用读操作或写操作信号与地址信号共同产生控制信号。图3-9 液晶1602LCD显示电路液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单

22、片机应用设计中最常用的信息显示器件了。 1602B可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送。这样的话可以节省MCU的I/O口资源。各引脚的功能见表3-3。表3-3 LCD引脚功能编号符号引脚说明编号符号引脚说明1VSS电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL对比度调节11D4双向数据口4RS数/命选择12D5双向数据口5R/W读/写选择13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口1

23、6BLA背光源正极 从该模块的正面看,引脚排列从右向左为:15脚、16脚,然后才是114脚。VDD:电源正极,4.55.5V,通常使用5V电压;VL:LCD对比度调节端,电压调节范围为05V。接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。D0D7:8位数据总

24、线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4D7接口传送数据。本充电器就是采用4位数据传送方式;BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;BLK: LED背光地端。 图3-10 液晶1602的链接第4章 系统软件设计4.1 系统软件流程图4.2、 主程序(C语言)void main() init_play();/初始化显示 while(1)read_temp();/读取温度ds1820disp();/显示详见附录三第5章 综合调试5.1、 软件调试打开程序调试软件keil uVisi

25、on2,在里面新建一个工程,命名为:。接着新建文件DS18B20,编写相应程序。编写好的各个程序进行编译与连接。但若是在该过程中,看见我们编好的程序有错误,那么就根据他相应的提示来修改错误,直到该程序能够正确编译为止。能够正常编译的程序说明没有什么问题了,此时我们在点击相关栏目,让它生成我们在硬件仿真时所需要的.HEX文件。到此步,我们的软件调试就完成了。5.2、 软件测试打开Proteus 7 Professional软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后把编程所生成的。HEX文件加载到AT

26、89C52中,运行仿真软件,查看运行效果。如果运行出错那么就根据他相应的提示来修改错误,直到仿真成功为止。图5-1软件测试成功图5.3、 硬件测试根据原理图制作出实物后,把调试好的程序烧入到单片机AT89S52中。并用它测试温度,看其能否根据外部温度变化,测试温度数值变化。经过调试后,其能测试外界温度,但与实际温差有误差。总结通过本次毕业设计的制作,我较为全面地回顾了,大学三年所学的硬件知识与软件知识。同时,单片机原理与应用及电子技术方面的相关知识,在这次毕业设计中得到了较好地实践。在本次毕业设计中我也学到了很多东西,比如说:我学会了使用Proteus 7 Professional软件进行硬件

27、原理图的绘制、利用KILE软件对我设计的程序的检查与生成.HEX文件及遇到问题怎么解决等。首先,在这次毕业设计中,在我遇到过很多我自己不理解的问题及书本上或是我以前没有看见过的知识点。在面对这些问题时,我首先采用的是上网搜寻的方法来查看别人是否和我一样遇到过相类似的问题,并且查看一下别人是怎样解决这个问题的。当别人有了解决它问题的方法时,我在根据别人的提示,想想自己的问题出在哪里,该怎么解决。当我还是无法想到解决的办法是,我就带着自己的问题到图书馆查阅资料,如果我的问题还是没有解决,我就带着问题去问我们的指导老师,让他帮我解决。采用这样的方法,我的很多问题都迎刃而解了!其次,就是在本次毕业设计

28、过程中,我不但努力解决自己遇到的问题,还积极帮助同学解决他们遇到的问题。这样一来,我的知识得到了进一步的巩固,同学的问题也得到了相应的解决,我达到的一举双收的效果,我为此而感到高兴。最后,让我觉得这次毕业设计的最大成果是:我知道了将理论用到实际中时,会遇到很多的问题。因此,在此时我们一定要先沉着的找出问题出现的原因,在对症下药,来解决问题。 我相信只要我们面对问题沉着、冷静,我们的问题都会被解决。参考文献1边春远、王志强MCS-51单片机应用开发实用子程序人民邮电出版社2马忠梅、主编单片机的C语言应用程序设计马忠梅北京航空航天大学出版社3李朝青、主编单片机原理及接口技术第3版 北京航空航天大学

29、出版社4谭浩强C语言程序设计第四版 清华大学出版5马忠梅、张凯单片机的C语言应用程序设计北京航空航天大学出版社6廖先芸电子技术实践与实训高等教育出版社附录一:元件清单元件 规格 数量硬质版6*8cm1单片机AT89S521电容10u1电容30p2电容220u1电容104p1电阻47欧1电阻10k2排阻4k71电位器10k1传感器DS18B201晶振11.0592M1排针20脚1脚座40脚1液晶16021插槽20脚1锡丝圈1附录二:C程序#include#define uchar unsigned char#define uint unsigned intsbit DQ=P32;/ds18b20

30、与单片机相连sbit RS=P10;sbit RW=P11;sbit EN=P12;uchar code str1=Temperature: ;uchar code str2= Degree ;uchar data disdata5;uint tvalue;/温度值uchar tflag;/温度正负标志/*lcd1602程序*/void delay1ms(uint ms)/延时1毫秒 uchar a,b,c; for(c=ms;c0;c-) for(b=142;b0;b-) for(a=2;a0;a-);void wr_com(uchar com)/写指令 delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN=1; delay1

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2