数字温度计详细设计Word格式.docx

上传人:b****3 文档编号:18048092 上传时间:2022-12-13 格式:DOCX 页数:15 大小:380.95KB
下载 相关 举报
数字温度计详细设计Word格式.docx_第1页
第1页 / 共15页
数字温度计详细设计Word格式.docx_第2页
第2页 / 共15页
数字温度计详细设计Word格式.docx_第3页
第3页 / 共15页
数字温度计详细设计Word格式.docx_第4页
第4页 / 共15页
数字温度计详细设计Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数字温度计详细设计Word格式.docx

《数字温度计详细设计Word格式.docx》由会员分享,可在线阅读,更多相关《数字温度计详细设计Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

数字温度计详细设计Word格式.docx

锁存键控制是否锁存当前温度值。

指示灯指示当前锁存状态和此时单片机的工作状态。

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存储器及256KBRAM单元,不需另外扩展EEPROM及静态RAM,可以在线下载程序,易于日后的升级。

图中,P3.0和P3.1口是单片机与显示模块连接的控制和通信的数据端口;

P1.0是单片机与传感器DS18B20连接的端口;

P1.1和P1.2是单片机与锁存模块的通信接口。

时钟电路是由XTAL1和XTAL2之间跨接的晶体振荡器和微调电容构成。

89C51单片机各功能部件的运行都以时钟信号为基准,有条不紊的一拍一拍地工作。

因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机的稳定性。

常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

本设计用的就是外部时钟方式,采用12M晶振。

复位电路有两种形式:

手动按键上电复位和上电复位,在本设计中采用的是上电复位。

3.2 温度检测模块

温度检测电路采用的是DS18B20温度传感器。

DS18B20是美国DALLAS公司生产的一种改进型的智能温度传感器,与传统的热敏电阻等测温元件相比,它具有结构简单,能直接读出被测温度,采用一根I/O数据线既可供电又可传输数据、并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

3.2.1 DS18B20的引脚功能

DS18B20采用3脚封装,VDD:

主电源;

GND:

逻辑地;

DQ:

数据线引脚,如图3

图3 DS18B20引脚分布图

3.2.2 DS18B20硬件电路设计

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脚没有信号输出,在此用SimulatorPrimitives中的CLOCK代替,而实际系统中89C51的ALE脚一直有正脉冲输出,此频率为时钟晶体振荡周期的六分之一(在此系统中为12MHZ/6)。

虽然当89C51访问外部RAM(即执行MOVX类指令),要丢失一个时钟,严格地来说不宜用作精确的时钟信号源或定时信号,但在此系统中触发器不需要精确的时钟信号,所以在实际电路中D触发器的CLK脚连接C51的ALE脚。

温度计的设计还不够人性化,比如加上语音的功能,可能会更有生命力。

在这次设计中,我们用到了很多以前的知识,而在这个过程中,不仅对以前的知识重新熟悉了一次,而且又获得了许多新知识。

芯片资料总结

74LS164移位寄存器

164为8位移位寄存器(串行输入,并行输出),其主要电特性的典型值如下:

型号fmPn

54/7416436MHz185mW

54/74LS16436MHz80mW

当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。

当A、B任意一个为低电平,则禁

止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。

当A、B

有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定

Q0的状态。

引出端符号

CLOCK时钟输入端

CLEAR同步清除输入端(低电平有效)

A,B串行数据输入端

QA-QH输出端

电源电压…………………………7V

输入电压………………………5.5V

工作环境温度

54164…………………………-55~125℃

74164…………………………-0~70℃

储存温度…………………-65℃~150℃

连接图实例

DS18B20温度传感器

数据线引脚,

温度检测模块电路如图所示

 温度检测模块电路

[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!

]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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