课程设计(论文)基于AT89S52单片机的数字温度计设计.doc
《课程设计(论文)基于AT89S52单片机的数字温度计设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于AT89S52单片机的数字温度计设计.doc(37页珍藏版)》请在三一办公上搜索。
1、河南理工大学单片机课程设计报告数字温度计姓 名: 学 号: 专业班级: 自动化 06-3班 指导老师: 所在学院:电气工程与自动化学院 2009年06 月 10日摘要本设计是一个基于AT89S52单片机的“数字温度计”。随着科学技术的进步和发展,单片机技术已经普及到我们的生活、学习、工作、科研等各个领域,已经成为一种比较成熟的技术,因此,采用AT89S52单片机来实现这个测温系统。此外,测温系统的开发还利用了数字温度传感器DS18B20,可以方便的实现温度的采集,并对传感器在单片机下的硬件连接,软件编程以及各个模块系统流程进行了分析,对各部分的电路也进行一一介绍。此测温系统测量温度的基本范围是
2、-50110,精度误差小于0.5,采用LED数码直读显示,并且可以根据需要任意设定上下限的报警温度。其体积小、功耗低、结构简单、抗干扰能力强,既适用于我们日常生活、工农业生产中的温度测量,也适用于恶劣环境下进行现场温度测量,同时,还可以当作温度处理模块嵌入其他系统中,作为其他主系统的辅助扩展,有着广泛的应用前景。关键词:AT89S52单片机、DS18B20数字温度传感器、测温系统、温度计。目录1.概述- 4 -1.1、设计目的- 4 -1.2、设计意义- 4 -1.3、设计任务及要求- 4 -2.系统总体方案及硬件设计- 5 -2.1、设计方案论证- 5 -2.1.1、方案一:使用热敏电阻-
3、5 -2.1.2、方案二:采用数字温度芯片DS18B20- 5 -2.2、总体设计框图- 6 -2.3、主控制器- 6 -2.4、时钟电路和复位电路- 7 -2.5、按钮输入电路- 8 -2.6、显示电路和驱动电路- 9 -2.7、数字温度传感器DS18B20- 10 -2.7.1、DS18B20简单介绍- 10 -2.7.2、DS18B20性能特点- 11 -2.7.3、DS18B20内部结构- 11 -2.7.4、DS18B20控制方法- 12 -2.8、温度报警电路- 13 -2.9、电源设计- 14 -3.软件设计- 15 -3.1、主程序流程图- 15 -3.2、读出温度子程序- 1
4、6 -3.3、数据处理子程序- 17 -3.4、数据刷新子程序- 17 -3.5、报警子程序- 18 -4.实验仿真- 19 -4.1、系统仿真设计- 19 -4.2、仿真结果分析- 19 -5.软硬件系统的调试- 23 -6.课程设计体会- 24 -7. 参考文献- 24 -附1源程序代码- 25 -附2系统原理图- 37 -1.概述1.1、设计目的1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤。2、理解单片机在自动化中的作用以及掌握单片机的编程方法和仿真软件Proteus的使用方法。3、掌握键盘和显示器在单片机控制系统中的应用。4、掌握撰写课程设计报
5、告的方法。1.2、设计意义数字温度计在我们的日常生活中扮演这重要的作用。由于其精度高、量程宽、灵敏度高、体积小、功耗低、抗干扰能力强等特点,其常用于我们的生活、工农业生产中的温度测量以及在恶劣环境下进行的现场温度测量。此外,通过综合利用所学的单片机知识完成“数字温度计”这样一个单片机应用系统的设计并仿真实现,加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。1.3、设计任务及要求1、测量温度的基本范围是-50110。2、测量精度误差小于0.5。3、采用LED数码直读显示。4、扩展功能。5、可以任意设定温度的上下限报警功能。2.系统总体方案及硬件设计2.
6、1、设计方案论证该系统主要由温度测量和数据采集两部分电路组成,实现的方法很多,下面将列出两种在日常生活和工、农业生产中经常用到的实现方案。2.1.1、方案一:使用热敏电阻由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度值显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.1.2、方案二:采用数字温度芯片DS18B20采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性
7、很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。控制工作,还可以与PC 机通信上传数据,另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用AT89S52芯片控制温度传感器D
8、S18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。从以上两种方案很容易看出,采用方案二,硬件电路比较简单,软件设计也比较简单,因此,采用方案二进行“数字温度计”的设计。2.2、总体设计框图数字温度计的原理框图如图1所示。图1 数字温度计原理框图
9、数字温度计主要是由单片机控制器AT89S52和温度传感器DS18B20以及LED显示电路组成。由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机,通过AT89S51单片机芯片对送来的测量温度读数进行计算和转换,并将此结果送入显示电路显示。其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。2.3、主控制器对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89S52 是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含8kB的可
10、编程的Flash只读程序存储器,兼容标准 8051 指令系统及引脚。它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位 AT89S52单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89S52单片机引脚图如图2所示。图 2 AT89S52单片机引脚图2.4、时钟电路和复位电路MCS-51内部有一个构成振荡器的高增益反相放大器,此放大器的输入端口和输出端口分别是引脚 X
11、TAL1 和 XTAL2,在 XTAL1 和 XTAL2 上外接时钟源,即可构成时钟电路。根据单片机的生产工艺不同,可以分为内部和外部两种时钟产生方式。本次设计采用内部时钟产生方式,其电路图如图3所示。图3 时钟电路图复位是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机通常采用上电自动复位、按钮电平复位、外部脉冲复位、上电+按钮电平复位、程序运行监视复位等方式。本次设计采用上电+按钮电平复位,其电路图如图4所示。图4 复位电路图2.5、按钮输入电路键盘可以分为独立连接式和矩阵式两类。独立连接式按键是指直接用I/O口线构成的单个按键电路。每个键单独占用
12、一根I/O口线,每根I/O线的工作状态不会影响其他I/O口线的工作状态。未有按键按下时,所有的数据输入线都处于高电平状态。当任何一个键按下时,与之相连的数据输入线将被拉成低电平,要判断是否有键按下,只需要用微操作指令即可。独立连接式按键接口电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键较多时,I/O口线浪费较大,故只在按键数量不多时采用这种按键电路。于使用按键较少,本次设计采用独立连接式按键。按钮输入电路如图5所示。图5 按钮输入电路2.6、显示电路和驱动电路本次设计要求使用4位的七段LED数码显示,LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于
13、主要用于显示各种数字符号,故又称之为LED数码管。每个显示器还有一个圆点型发光二极管,用于显示小数点。但其编程相对复杂,可显示字符比较少。显示电路如图6所示。图 6 显示电路和驱动电路2.7、数字温度传感器DS18B20由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。因此,本设计采用DALLAS公司的数字温度传感器DS18B20作为测温元件。2.7.1、DS18B20简单介绍DS18B20是DALLAS公司的一种新型的单线数字温度传感器,其体积更小、更适用于多种场合、且适用电压更宽、更经济。温度测量范围为-55+1
14、25 摄氏度,可编程为9位12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量的方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以连接很多这样的数字温度计,十分方便。2.7.2、DS18B20性能特点DS18B20 的性能特点:1、用单总线专用技术,既可通过串行口
15、线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9 位二进制数,含符号位)。2、测温范围为-55-+125,测量分辨率为0.0625。3、内含64位经过激光修正的只读存储器ROM。4、适配各种单片机或系统机。5、用户可分别设定各路温度的上、下限。6、内含寄生电源。2.7.3、DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图7所示。图7 DS18B20 引脚分布图64 位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列号。
16、不同的器件地址序列号不同。8位产品系列号48位产品序号8位CRC编码DS18B20 高速暂存器共9个存存单元,如表1所示:序号寄存器名称作用0温度低字节以16位补码形式存放1温度高字节2TH/用户字节1存放温度上限3HL/用户字节2存放温度下限4、5保留字节1、26计数器余值7计数器/8CRC表1 DS18B20高速暂存器以12 位转化为例说明温度高低字节存放形式及计算:12 位转化后得到的12 位数据,存储在18B20 的两个高低两个8 位的RAM 中,二进制中的前面5 位是符号位。如果测得的温度大于0,这5 位为0,只要将测到的数值乘于0.0625 即可得到实际温度;如果温度小于0,这5
17、位为1,测到的数值需要取反加1 再乘于0.0625 才能得到实际温度。高8位SSSSS262524低8位232221202-12-22-32-42.7.4、DS18B20控制方法在硬件上,DS18B20 与单片机的连接有两种方法,一种是VCC接外部电源,GND 接地,I/O 与单片机的I/O 线相连;另一种是用寄生电源供电,此时UDD、GND 接地,I/O 接单片机I/O。无论是内部寄生电源还是外部供电,I/O 口线要接5K左右的上拉电阻。DS18B20 有六条控制命令,如表2所示:指令约定代码操作说明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 AT89S52 单片机 数字 温度计 设计

链接地址:https://www.31ppt.com/p-3993364.html