数字温度计详细设计

上传人:每**** 文档编号:68567031 上传时间:2022-04-03 格式:DOC 页数:21 大小:467.50KB
返回 下载 相关 举报
数字温度计详细设计_第1页
第1页 / 共21页
数字温度计详细设计_第2页
第2页 / 共21页
数字温度计详细设计_第3页
第3页 / 共21页
点击查看更多>>
资源描述
目录摘要2第一章 绪论第二章 方案设计与论证42.1总体设计方案42.2系统主要模块方案论证与比较42.2.1控制模块的选用42.2.2温度测量模块选用5第三章硬件设计63.1单片机主控模块63.2温度检测模块73.2.1DS18B20的引脚功能73.2.2DS18B20硬件电路设计73.3锁存模块83.4 显示模块83.5 指示灯模块9第4章系统软件设计94.1系统流程图94.1.1系统主程序设计94.1.2读出温度子程序104.1.3延时子程序114.1.4 显示数据子程序114.1.5系统初始化程序124.1.6 温度转换段码子程序134.1.7计算温度子程序14第五章系统测试16结论及器件总结18摘要本设计以AT89C51单片机为核心,以温度传感器DS18B20、边沿D触发器7474、移位寄存器74LS164和3位共阴极LED数码管为主体设计了一款简易数字式温度计。它可以通过控制锁存键来锁存当前温度值,具有读数方便的特点。系统采用LED数码管作为显示器,软件程序采用均采用C语言编写,便于移植与升级。报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。关键词温度计;AT89C51;传感器;DS18B20第一章 方案设计与论证2.1总体设计方案根据题目设计要求,本设计控制单元采用单片机AT89C51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。系统结构框图如图1所示。图1总体设计方框图系统以AT89C51单片机作为整个系统的控制中心,负责控制启动温度测量,接收传感器DS18B20测量的数据,并计算温度,锁存所读取的温度值,温度值通过单片机处理后,在LED数码管上显示温度值。锁存键控制是否锁存当前温度值。指示灯指示当前锁存状态和此时单片机的工作状态。2.2系统主要模块方案论证与比较2.2.1控制模块的选用方案一:采用ATMEL公司的AT89C51单片机作为控制器。单片机运算能力强,软件编程灵活,自由度大。AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。方案二:采用FPGA(现场可编辑门列阵)作为系统主控制器。FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,并且可利用EDA软件进行仿真和调试。FPGA采用并行工作方式,提高了系统的处理速度,常用于大规模实时性要求较高的系统。方案比较,以上两种方案中,方案一的四个端口只需要两个就能满足设计需要,资源比较适中。而方案二将使FPGA的高速处理能力得不到充分发挥,故选择方案一。2.2.2温度测量模块选用方案一:测温电路可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度值显示出来,但这种设计需要用到A/D转换电路,感温电路比较复杂、成本高。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。方案比较,从以上两种方案,很容易看出,方案一中感温电路比较麻烦,而方案二中电路比较简单,软件设计也比较简单,故采用方案二。第二章硬件设计3.1单片机主控模块单片机主控模块以AT89C51单片机为核心,由单片机、振荡电路、复位电路等组成,如图2 所示,主要负责各个模块的初始化工作;读取并处理时间;处理按键响应;控制数码管的显示等。图2单片机主控模块AT89C51单片机与MCS51系列单片机产品兼容,内部自带有4KB的Flash存储器及256KB RAM单元,不需另外扩展EEPROM及静态RAM,可以在线下载程序,易于日后的升级。图中,P3.0和P3.1口是单片机与显示模块连接的控制和通信的数据端口;P1.0是单片机与传感器DS18B20连接的端口;P1.1和P1.2是单片机与锁存模块的通信接口。时钟电路是由XTAL1和XTAL2之间跨接的晶体振荡器和微调电容构成。89C51单片机各功能部件的运行都以时钟信号为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机的稳定性。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。本设计用的就是外部时钟方式,采用12M晶振。复位电路有两种形式:手动按键上电复位和上电复位,在本设计中采用的是上电复位。3.2温度检测模块温度检测电路采用的是DS18B20温度传感器。DS18B20是美国DALLAS公司生产的一种改进型的智能温度传感器,与传统的热敏电阻等测温元件相比,它具有结构简单,能直接读出被测温度,采用一根I/O数据线既可供电又可传输数据、并且可根据实际要求通过简单的编程实现912位的数字值读数方式。3.2.1DS18B20的引脚功能DS18B20采用3脚封装,VDD:主电源;GND:逻辑地;DQ:数据线引脚,如图3图3DS18B20引脚分布图3.2.2DS18B20硬件电路设计DS18B20与单片机通信,电路连接简单。温度检测模块电路如图 4 所示图4温度检测模块电路其中,VCC和GND分别接电源和接地,DQ与单片机P1.0口相连接.它以串行通信的方式与单片机进行通信,读出或写入数据仅需一根I/O接口线。3.3锁存模块锁存模块如图5所示,它由一个开关和一个边沿D触发器构成。边沿D触发器采用7474触发器,触发器的Q端的状态和D端状态是一样的。其中Q端和单片机的P1.1脚相连,Q非与锁存指示灯相连。当D端为低电平时,Q也为低电平,Q非为高电平。表示此时为锁存状态。图5锁存模块电路3.4 显示模块温度显示电路是使用的串口显示,如图6所示。这种显示最大的优点就是使用I/O接口资源比较少,只用P3口的RXD(串行数据输入口)和TXD(串行数据输出口),三只数码管采用74LS164移位寄存器驱动,显示比较清晰。图6显示模块电路3.5 指示灯模块指示灯模块由两个发光二极管组成,如图7所示。D1是系统指示灯,D2是锁存指示灯,当系统开始工作时,D1亮。当JUMPER键滑到左边时D2亮起,表示此时在锁存状态。图7指示灯电路第三章系统软件设计4.1系统流程图本系统程序主要包括主程序、读出温度子程序、延时子程序、显示数据子程序、系统初始化程序、温度转换段码子程序、计算温度子程序。4.1.1系统主程序主程序的主要功能是负责整体调度,读出并处理DS18B20测量的当前温度值,处理读取温度值,显示当前温度值,判断是否锁存当前显示值。温度测量每1s进行一次,流程图如图8所示。图8主函数流程图4.1.2读取温度子程序温度转换命令子程序主要是向DS18B20发复位命令、操作ROM命令、温度转换开始命令等,然后读取DS18B20的暂存器。当采用12位分辨率时,转换时间约为750ms,在本程序设计中采用1s等待转换的完成。流程图如图9所示。图9读出温度子程序流程图4.1.3延时子程序为了严格符合DS18B20的操作协议,本程序定义了一系列延时程序,第一种主要采用NOP命令(C语言中用 _nop_();函数)延时法,精确到10us。为了等待DS18B20转换温度(大约1秒)本程序使用第二种延时法,循环延时法。4.1.4 显示数据子程序显示数据程序主要是通过P3口的RXD脚和TXD脚,以方式0同步发送数据以刷新LS74164D锁存器来刷新LED显示器。流程图如图10所示。图10显示数据子程序4.1.5系统初始化程序主要功能是初始化串行口与触发器。流程图如图11所示。图11系统初始化子程序4.1.6 温度转换段码子程序温度转换段码子程序的主要功能是把十进制整数形式的温度值转换为共阴极LED数码管的段码并储存在51的RAM中定义的暂存器中。流程图如图12所示。图12温度转换段码子程序4.1.7计算温度子程序把DS18B20的温度格式转换为十进制浮点温度值,四舍五入后返回其值。流程图如图13所示。图13计算温度子程序第四章系统测试本设计采用的核心是AT89C51单片机,通过温度传感器DS18B20、暂存器74LS164和3个七段LED数码管等作为外围元件构成了一个数字温度计。系统经调试后,可以稳定运行。本系统采用串行器件具有线路简单、体积小、价格低等优点。本系统的仿真采用PROTEUS软件,在PROTEUS库中选取的元件,如表1所示表1仿真结果如图14所示。本系统可以通过控制开关来实现温度的锁存,方便准确的读出当前温度值。图14仿真结果结论及总结本设计以单片机为基准,选取AT89C51单片机为控制核心。通过温度传感器DS18B20、边沿D触发器、8位移位寄存器74LS164等外围元件构成了一个具有锁存功能的数字温度计。系统采用LED数码管作为显示器,软件程序采用C语言编写,便于移植与升级。系统经调试后,可以稳定运行。在设计和调试的过程中,也发现了一些问题,譬如PROTEUS仿真89C51的时候ALE脚没有信号输出,在此用Simulator Primitives中的CLOCK代替,而实际系统中89C51的ALE脚一直有正脉冲输出,此频率为时钟晶体振荡周期的六分之一(在此系统中为12MHZ/6)。虽然当89C51访问外部RAM(即执行MOVX类指令),要丢失一个时钟,严格地来说不宜用作精确的时钟信号源或定时信号,但在此系统中触发器不需要精确的时钟信号,所以在实际电路中D触发器的CLK脚连接C51的ALE脚。温度计的设计还不够人性化,比如加上语音的功能,可能会更有生命力。在这次设计中,我们用到了很多以前的知识,而在这个过程中,不仅对以前的知识重新熟悉了一次,而且又获得了许多新知识。芯片资料总结74LS164移位寄存器164为8 位移位寄存器(串行输入,并行输出),其主要电特性的典型值如下: 型号 fm Pn 54/74164 36MHz 185mW 54/74LS164 36 MHz 80mW 当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定Q0 的状态。 引出端符号 CLOCK 时钟输入端 CLEAR 同步清除输入端(低电平有效) A,B 串行数据输入端 QAQH 输出端 电源电压 7V 输入电压 5.5V 工作环境温度 54164-55125 74164-070 储存温度 -65150 连接图实例 DS18B20温度传感器DS18B20采用3脚封装,VDD:主电源;GND:逻辑地;DQ:数据线引脚,DS18B20与单片机通信,电路连接简单。温度检测模块电路如图所示温度检测模块电路其中,VCC和GND分别接电源和接地,DQ与单片机P1.0口相连接.它以串行通信的方式与单片机进行通信,读出或写入数据仅需一根I/O接口线。文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!21 / 21
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 生活常识


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!