基于单片机的红外测温仪的毕业设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的红外测温仪 的设计与实现
作者: 学号: 导师:
设计方案

该系统的硬件结构主要由AT89C51、复位电路、时
钟电路、按键电路、SMC1602A液晶显示器及TN9红外测
温模块六部分构成。本设计采用单片机作为数据处理及
控制核心并根据键值的输入,利用液晶显示电路输出温
度值和测量时间。系统的总体框图如下图所示。
INT1 INT0
T1 T0
EA/VP
X1 X2
RESET
RD WR AT89C51
20
S2
时间调节键
JIAN1 S3
时间增加键
JIAN2 S4
时间减少键
JIAN3
JIAN4
JIAN5
+5V
R3 R4 R5 R6 R7 R8 R9 R10 10K 10K 10K 10K 10K 10K 10K 10K
按键电路
1602液晶 显示器
时钟电路



复位电路
红外测温模 块
工作原理

当系统上电后,首先需进行时间校准(通过键盘相
应按键即可实现),之后开始键盘扫描查询,当有相应
按键按下时,单片机通过判断键值转入相应处理程序,
不论是环境温度测量还是目标温度测量,其处理过程基
本相同,首先启动TN9红外测温模块,通过中断来同步
与性能上基本上达到了任务书上的要求,通过对本方案
的系统仿真,发现了许多以前被忽视的细节错误,对于
硬件部分的错误主要集中在线路连接上,分析可能是由
于初期连线时布局较为凌乱无序,致使有几根线路连错
了地方。对于软件部分的错误主要集中在循环语句和变
量上,分析可能是在程序编写时,由于程序较为复杂,
代码量较大,致使同一变量在个别不同地方出现不同的
+5V
S1
R1 270
VD1
C3 22UF
RES
R2 8.2K
X1
C1
X2
20PF
T1 12MHZ
C2 20PF
+5V
40
1 2 3 4 5 6 CHU 7 KK 8
CLOC1K3 12
RS 15 LCDE1N4
31
X1 19 X2 18
RES 9
17 16
G ND
V CC
U1 P10 P11 P12 P13 P14 P15 P16 P17
N
键按下
Y
是否测
N
量温度
Y 红外测温
N
是否是所需数据
且收到结束标志
Y 计算温度值
显示温度和时间
调试仿真

对于本设计,采用Keil软件进行程序调试,用Proteus
软件进行系统仿真。

新建Keil项目,编写源程序,之后编译并修改源程序
直至无误 ,同时生成.HEX文件。

在Proteus ISIS中左键双击AT89C51元件在该窗口的
读取测量数据,同时判断是否是所需数据,当读取的数
据是所需数据时由单片机进行数据处理,即对数据进行
转换,最后把转换后的数据送入液晶显示器件显示测量
温度及பைடு நூலகம்量时间,若读取的数据与所需不符则丢掉重新
读取,直到数据正确为止。
设计总电路
U2
+5
V
1
D
2 CHU
TN9 C
3 CLOCK
G
4
A
5 KK
TN9 红外测温器件
“Program File”栏中,选择先前在Keil中编译产生的
“.HEX”文件;一切完成后,点击play按键,即开始进行
仿真。

观察仿真结果,其最终仿真调试结果如下图所示:
程序调试图
程序调试图:
环境温度测试仿真图
环境温度测试仿真图:
目标温度测试仿真图
目标温度测试仿真图:
结论

对于本次设计任务,最终所做出的方案设计在功能
标示符。
190
D2
11 12 13
D3 D4 D5
14 15
D6 BDL7A
16
B LK
LRSCD E N 3 4
A S3 A S4 A S5 A S6 A S7 A S8
A S1 A S2
S5
无用键
S6
环境温度键
S7
目标温度键
+5V R11 10K R12
10
+5V
程序流程

本设计的软件的整体设计主要包括以下几个程序模
回,是则进行红外测温,接收TN9传输的数据并判断是
否是所需测量温度的数据(判断是环境温度还是目标温
度),之后等待结束测温命令标志。再判定是否结束温
度测量,若没则继续测温,若收到结束命令则计算温度
值并将计算出的温度值送液晶显示器显示出来。具体工
作流程图如下图所示:
程序流程图
程序初始化和时 间校准
是否有
块:(1)初始化程序;(2)SMC1602A显示程序;(3)键盘扫
描程序;(4)TN9数据读取程序及处理程序;(5)时间校准
程序。该程序首先对单片机初始化,然后开始判断是否
有按键输入(对不同按键的识别依靠按键相应的键值来
判断),若没有按键输入,则继续重复判断;若有按键
输入,则判断是否是控制红外测温的按键,若不是就返
A S1 A S2 A S3 A S4 A S5 A S6 A S7 A S8
P00 P01 P02 P03 P04 P05 P06 P07
39 AS1 38 AS2 37 AS3 36 AS4 35 AS5 34 AS6 33 AS7 32 AS8
P20 P21 P22 P23 P24 P25 P26 P27
21 JIAN1 22 JIAN2 23 JIAN3 24 JIAN4 25 JIAN5 26 27 28
RXD TXD ALE/P PSEN
10 11 30 29
1
2
V SS V DD VL RR /SW ED 0 D1
5 6 7
8
M1 SMC1602A
1602液晶显示 第一行实时时间显示
第二行测量温度显示
相关文档
最新文档