版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告数字温度计课程设计姓 名学 号:专业班级:电子信息工程指导老师:所在学院: 电子信息工程学院2017年12月15日引言单片机的出现是近代计算机技术发展史上的重要里程碑。单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的 重视和关注,应用很广、发展很快。近年来随着电子技术和微型计算机技术的迅速发展,单片机的档次不断提高,其应用领域也在不断 扩大,在工业测控、尖端科学、智能仪器仪表、日用家电、汽车电子 系统、办公自动化设备、个人通信终端及通信产品中得到了广泛应用, 已成为现代电子系统中最重要的智能化核心部件。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一
2、,它所给人带 来的方便也是不可否定的,其中数字温度计就是一个典型的例子, 但 人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好 的更方便的设施就需要从数单片机技术入手,一切向着数字化控制, 智能化控制方向发展。本课程设计是在学习了单片机的基本原理的基础上进行的,综合利用所学单片机知识完成一个单片机应用系统设计并仿真实现,从而加深对单片机软硬知识的理解,获得初步的应用经验;进一步熟悉和 掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本 方法和步骤。本设计的目标是用单片机和温度传感器及相关部件实 现温度的测量和数字显示,测量精度小于 0.5 C,可以设置温度测量 的上下限,
3、超出测温范围可以由蜂鸣器报警。本设计首先是确定目标,接下来是各个功能模块的设计和相应程 序的编写。 再在proteus软件上进行仿真,若结果满足要求,则可 以焊接硬件,若不满足继续修改,最终完成数字温度计的整个设计任 务。经过仿真,本设计达到了预期的目标。i目录1设计概述3.1.1 设计目标和要求3.1.2 设计思路3.2系统方案及硬件设计4.2.1 设计方案4.2.2 方案的硬件总体方框图 4.2.3 温度传感器DS18B20测温原理52.4 硬件设计9.2.4.1 主控制器 ATmega169.2.4.2 复位电路9.2.4.3 时钟振荡电路 9.2.4.4 报警点调节电路102.4.5
4、显示电路1.03软件设计1.13.1 系统分析1.13.2 各子程序及其流程图设计123.2.1 初始化子程序 .123.2.2 DS1820的读写字节子程序 1.33.2.3 温度读取及转换子程序1.43.2.4 计算温度子程序153.2.5 温度显示子程序163.2.6 报警子程序.174proteus软件仿真1.94.1 系统仿真设计1.94.2 仿真结果分析1.95系统原理图206心得体会2191设计概述1.1 设计目标和要求1 .用所学的单片机知识设计制作数字温度计;2 .测温范围是-20 C-70 C;3 .误差小于0.5 C ;4 .所测的温度值可以由LCD数码管直接显示;5 .
5、可以任意设置上下限温度的报警功能;6 .进一步熟悉proteus, protel, word软件的功能和使用方法;1.2 设计思路首先确定我们所设计的是一个数字温度计,由单片机、温度传感器以及其他电路共同实现。根据所要实现白功能,先在proteus软件上仿真。根据所选用的硬件可以 将整个软件设计分为若干子程序,有初始化、查询时间、发送指令、读取数据、 显示温度等构成,可将以上子程序分别设计,实现各自的功能,再在子程序中调 用,就可以实现预期的目标。在proteus软件里画出相应的电路图,将编写好的程序的编译后的文件下载 到proteus电路图的单片机里,进行仿真,对温度传感器设置不同的参数,看
6、是 否达到了我们设计所要求的目标,如果不符合要求,需要检查程序算法和硬件连 接是否有误。 若仿真成功,就按照电路图焊接硬件。2系统方案及硬件设计2.1 设计方案采用数字温度芯片DS18B20测量温度,输出信号全数字化。采用了单总线的数据传输,由数字温度计DS18B20口ATmegal61片机构成的温度测量装置,它 直接输出温度的数字信号,也可直接与计算机连接。 采用ATmegal6l片机控 制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。该系统利用ATmega16片控制温度传感器DS18B2进行实时温度检测并显示,能够实现快速测量环境温度
7、,并可以根据 需要设定上下限温度。该系统扩展性非常强。该测温系统电路简单、精确度较 高、实现方便、软件设计也比较简单。2.2 方案的硬件总体方框图基于增强的AVRRISC结构的低功耗8位CMO微控制器ATmega16,温度传感器 采用的DS18B20用四位数码管显示温度。2.3 温度传感器DS18B2恻温原理DS18B20温度传感器是美国 DALLAS导体公司最新推出的一种改进型智能 温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9-12位的数字值读数方式。DS18B20的性 能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信,
8、DS18B2猊与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B2的双向通讯。(2) DS18B20持多点组网功能,多个 DS18B2M以并联在惟一的三线上, 实现多点组网测温;(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集 成电路内;(4)可通过数据线供电,电压范围为 3.0-5.5 V;(5)零待机功耗;(6)温度以9或12位数字,对应的可分辨温度分别为0.5 C、0.25 C、0.125 C 和0.0625 C,可实现高精度测温; 用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计
9、不会因发热而烧毁,但不能正 常工作;(10)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU同 时可传送CR版验码,具有极强的抗干扰纠错能力DS18B20采用3脚PR35封装或8脚SOIC封装,具引脚排列及内部结构框 图如图2及图3以及图4的测温原理图如下所示:PR.35封装SCSI封装电源检测图3内部结构框图图4 DS18B20测温原理图64位ROM:结构开始8位是产品类型的编号,接着是每个器件的惟一的序号, 共有48位,最后8位是前面56位的CRC佥验码,这也是多个DS18B28T以采用 一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B2W度
10、传感器的内部存储器还包括一个高速暂存 RAMK一个非易失性 的可电擦除的EERAM高速暂存RAM勺结才勾为8字节的存储器,结构如图4所 示。头2个字节包含测得的温度信息,第 3和第4字节TH和TL的拷贝,是易 失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。 该字节各位的定义如图5所示。低5位一直为1, TM是工作模 式位,用于设置DS18B20fc工作模式还是在测试模式,DS18B20B厂时该位被设 置为0,用户不要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度LSB温度
11、MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTMR1R011111图5 DS18B20的字节定义DS18B20的分辨率定义如表2-1所示表2-1分辨率设置表R0R1分时最大温度转移时间009位96.75ms0110位187.5ms1011位375ms1112位750ms由表1可见,DS18B2闻度转换的时间比较长,而且分辨率越高,所需要的 温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。主机控制DS18B2沈成温度转换过程是:每一次读写之前都要对 DS18B20!行复 位,即将数据总线下拉500us,然后释放,DS18B20攵到信号后等待16-60us左
12、 右,之后发出60-240us的存在低脉冲,主CPU攵到此此信号表示复位成功;复 位成功后发送一条ROM旨令,然后发送RAM旨令,这样才能对DS18B20S行预订 的读写操作。表2-2ROM指令集指令约定代码功能读ROM33H读DS18B2N的编码符合ROM55H发出此命令后,接着发出64位RO端码,访问单线总线 上与该编辑相对应的 DS18B20使之做出响应,为下一步 对该DS18B20勺读写作准备搜索ROM0F0H用于确定挂接在同一总线上的 DS18B2g数和识别64位ROMfe址,为操作各器件作准备跳过ROM0CCH忽略64位ROMft址,直接向DS18B20送温度变换指令告警搜索命令0
13、ECH执行后,只有温度跳过设定值上限或下限的片子才方旨做 出反应表2-3RAM指令集指令约定代码功能温度转换44H启动DS18B208行温度转换读暂存器0BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH TL字节复制暂存器48H把暂存器的TH TL字节写到E2RAW重调E2RAM0B8H把E2RAW的TH TL字节写到暂存器TH TL字节读供电方式0B4H启动DS18B20送电源供电方式的信号给主CPUDS18B206勺测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生
14、的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20a对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将最低温所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在最低温所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入, 减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直 到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的
15、数值就 是所测温度值。 其输出用于修正减法计数器的预置值,只要计数器门仍未关闭 就重复上述过程,直到温度寄存器值大致被测温度值。2.4硬件设计2.4.1 主控制器 ATmega16ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。 由于 其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz ,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega16AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独 立的寄存器。 这种结构大大提高了
16、代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。2.4.22.4.2复位电路在这里采用的是按钮加上电复位,系统每次上电和每次按下复位按钮, 系统 就会复位。2.4.3时钟振荡电路112.4.4报警点调节电路可以通过微动开关,任意调节报警点的上下限,电路如图8所示显示ROM编码II K140显示报警温度 O3938373635正常显示温度00K30:OOO图8报警点调节电路3433PA0/ADC0PA1/ADC1PA2/ADC2PA3/ADC3PA4/ADC4PA5/ADC5PA6/ADC6PA7/ADC7PB0/XCK/TC口口4 /Td2.4.5显示电路显示电路采用集成的
17、四位一体的数码管, 为共阴极结构,通过设置不同的段 码可以显示温度3软件设计3.1 系统分析系统程序主要包括DS1820初始化程序,向DS1820读字节程序,向DS1820 写字节程序,读取温度及转换程序,温度显示程序,报警程序。初始化图10主程序流程图3.2 各子程序及其流程图设计3.2.1 初始化子程序令P2.7为高电平,延迟一段时间后令P2.7为低电平触发DS1820的初始化,低电平持续一段时间,然后读取P2.7的状态,直到P2.7的状态回到高电平时说明初始化完成。#include # define DQ P2_7# define dm P0sbit w0=P2A3;sbit w1=P2
18、A4;sbit w2=P2A5;sbit w3=P2A6;sbit jia=P2A0;sbit jian=P2A1;sbit xuan=P2A2;/sbit p2_7=P2A7;sbit speaker=P1A0;# define uint unsigned int# define uchar unsigned char uint mark;uint xiaoshu;int temp1=0;uint H_t=10, L_t=-5;uchar table_dm尸0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f;uchar tab
19、le_dm1=0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef);uchar table_fuhao=0x00, 0x40;void delay(unsigned int i)while(i-); /初始化函数N图11初始化流程图3.2.2 DS1820的读写字节子程序单片机向DS1820U文写字节都是从最低位开始的Init_DS18B20(void) unsigned char x=0;DQ = 1;delay(8);DQ = 0;delay(80);DQ = 1;delay(14);x=DQ;/稍做延时后如果x=0则初始化
20、成功x=1则初始化失败delay(20);/读一个字节图12读操作3.2.3温度读取及转换子程序图13写操作在读取温度值命令前,应使用温度转换命令才能保证读入的是当前温度值转 换过程中DS182g拉低总线直至转换完成,因此可以读取温度总线的状态来判 断温度转换是否完成。ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-)1518DQ = 0;dat=1;DQ = 1;if(DQ)dat|=0x80;delay(4);写一个字节return(dat);图14温度读取及转换3.2.4 计算温度子程序计算温度
21、子程序将RAW读取值进行BC则的转换运算,并进行温度值正负的判定,其程序流程图如图14所示:WriteOneChar(unsigned char dat)unsigned char i=0;DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat=1;delay(4);读取图15温度计算3.2.5 温度显示子程序void delayms(uchar t)uint i;while(t-)for(i=0;i4);if(i=0)(mark=0;t=(a4)|(b8)(t=(t+1);else(mark=1;a=a4;b=b4;t=(a|b);t=t;t=(t+1);EA=1;
22、return(t);图17报警4 proteus 软件仿真4.1 系统仿真设计本设计是在 Proteus环境下进行仿真的,仿真所用到的器件有:单片机 ATmega16, DS1820温度传感器,蜂鸣器,液晶显示器,一些电阻,电容等。4.2 仿真结果分析本设计在仿真的条件下可以正确的显示温度,并在温度超过所设置的最高温度 或最低温度时,蜂鸣器将发出滴滴的警告声。且本设计温度显示可以精确到 0.1 满足设计要求。仿真时温度显示如图18所示5系统原理图通过Proteus进行元器件的查找与连接仿真得到下图LCD1LJM016L系统在后启动-CURRENT TEHPTEMP: -13.5Q OOQQOlZlOai低盘闪烁RESET显示ROM解与U3侧”215CTAL1XFAL2PADCO PAIMiDCI PA2ZAD(2 PA3WDC3 PA4MDC4 PA5/ADC5 PX6W.DC6 PA7ZADC7PDQ/RXD Pm/TXD PD2/INT0 PD3/INT1PCWOC1 日 PDS/0C1APD6/ICP PD7/OC2WCC AREFPOTSCLPC1/SDAPC2/TCKPC3TMSPCJrrooPCS/TDl PCE/TOS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医师资格笔试评分标准试题及答案
- 自然灾害防范知识竞赛题库单选题及其答案
- 幼儿教师资格综合素质全真备考题及答案
- 公开选聘中小学校长笔试题(卷)含答案解析
- 临床医学检验事业单位招聘考试三基试题(附答案)
- 急救药品考核试题(附答案)
- 妇幼健康工作培训专项测试卷附答案
- 解析卷人教版八年级物理上册第5章透镜及其应用定向测试试卷(含答案详解版)
- 2025年专业技术人员继续教育考试试题及答案
- 2025年一级建造师考试真题及参考答案
- 小学生无人机教学课件
- 2024年中国光引发剂UV-651市场调查研究报告
- 开颅术后健康教育
- 江苏省徐州市2024-2025学年高二上学期期中考试英语试题 含解析
- 【MOOC】生命的教育-浙江大学 中国大学慕课MOOC答案
- 2025年移动式压力容器R2作业证理论全国考试题库(含答案)
- 2024移动式压力容器充装许可鉴定评审作业指导书
- 2024年中级经济师《金融专业知识与实务》真题及答案
- DB11T 1946-2021 智慧工地评价标准
- 风电项目安全专业监理实施细则
- 交通运输安全管理体系建设手册
评论
0/150
提交评论