适用标准文档
文案大全单片机课程设计说明书
题 目: 温度检测系统设计
系 部: 专 业: 班
级:
学生姓名 : 学 号:
指导教师 :
2021年12月14日
单片机温度检测系统设计
适用标准文档
目
录
1 设计任务与要求 ................................................................................................................. 1
设计任务 ................................................................................................................... 1 设计要求 ................................................................................................................... 1
2 设计方案 .............................................................................................................................. 1
设计思路 ................................................................................................................... 1 单片机 STC89C52RC ............................................................................................. 2
单片机 STC89C52RC 功能介绍 ................................................................ 2 STC89C52RC 管脚介绍 .............................................................................. 2 STC89C52RC 单片机器件参数 ................................................................. 3
温度传感器 DS18B20 .......................................................................................... 3
DS18B20 的主要特征 ................................................................................. 3 DS18B20 的外形和内部构造 ..................................................................... 3
液晶显示器 LCD1602 ............................................................................................ 4
液晶显示器 LCD1602 功能介绍 ................................................................ 4 LCD1602 管脚介绍 ..................................................................................... 5
3 硬件电路设计 ..................................................................................................................... 5
系统框图 .................................................................................................................... 6 最小的单片机系统 ................................................................................................... 6
时钟电路 ........................................................................................................ 6 复位电路 ........................................................................................................ 6
文案大全
单片机温度检测系统设计
适用标准文档
温度检测系统设计 ...................................................................................................
液晶显示电路设计 ...................................................................................................
4 主要参数计算与剖析 .........................................................................................................
5
软件设计 ..............................................................................................................................
整系统统剖析 ...........................................................................................................
程序流程图 ...............................................................................................................
6 proteus 软件仿真 ...........................................................................................................
7
实物制作 ............................................................................................................................
器械清单 .................................................................................................................
最小系统板制作 ....................................................................................................
温度检测系统电路板制作 ....................................................................................
温度检测展现 .........................................................................................................
焊接点展现 .............................................................................................................
作品检查 .................................................................................................................
8 结论
....................................................................................................................................
附录 ...........................................................................................................................................
参照文件 ..................................................................................................................................
文案大全
7 7 8 8 8 9 10 11 11 12 12 12 13 13 14 15 20
单片机温度检测系统设计
适用标准文档
1 设计任务与要求
1.1
设计任务
利用电阻、瓷片电容、电解电容、 12MHz 晶振、STC89C52 单片机、 DS18B20
温度传感器、液晶显示器、 1P 杜邦线彩色、排针、最小系统板、电位器、洞洞板等,
达成一个温度检测系统。
1 、采纳单片机及温度传感器设计温度检测系统; 2 、温度检测结果采纳液晶显示器输出;
3 、一定拥有上电自检功能及外接电源,公共地线接口。
1. 2 设计思路
1 、熟习此电路工作原理。 2 、掌握组装与调试方法。
3 、画出 Proteus 原理图, PCB 图。 4 、用 Proteus 仿真。
5 、丈量范围 0~99 摄氏度,精度偏差小于 1 摄氏度。 6 、一份设计说明书。 7 、做出所设计的系统的实物。
2 设计方案
2. 1 设计方案
因为本设计是测温电路, 能够使用热敏电阻之类的器件利用其感温效应,
在将随
被测温度变化的电压或电流收集过来,进行 A/D 变换后,就能够用单片机进行数据
的办理,在显示电路上,就能够将被测温度显示出来,这类设计需要用到
A/D 变换
电路,感温电路比较麻烦。从而考虑到用温度传感器,在单片机电路设计中,大多都
是使用传感器,因此能够采纳温度传感器
DS18B20 ,此传感器,能够很简单直接读
文案大全
单片机温度检测系统设计
适用标准文档
取被测温度值,进行变换,就能够知足设计要求。
故针对上述现象,本文设计了一种由单片机控制的温度收集与显示系统,它以
STC89C52 单片机为核心, 采纳温度传感器 DS18B20 实现对温度信号的收集以及运
用 LCD1602 液晶显示器来显示数据。在温度信号的收集方面,采纳
DS18B20 型温
度传感器,与传统的热敏电阻对比, 它能够直接读出被测温度, 并可依据实质要求通
过简单的编码实现 9~12 位的数字式读数方式,可在 -50 ℃~+ 300 ℃范围内显示数
据,在 -10 ~+85 ℃时精度为± 0.5 ℃。
单片机 STC89C52RC
单片机 STC89C52RC 功能介绍
STC89C52RC 是 STC 生产的单时钟 / 机器周期 (1T) 的单片机,是高速、低功耗、
超强抗扰乱的新一代 8051 倍。拥有以下标准功能:
单片机,指令代码完整兼容传统 8051 ,但速度快 8-12
8k 字节 Flash ,512 字节 RAM , 32 位 I/O 口线,看门
狗准时器,内置 4KB EEPROM , MAX810 复位电路, 3 个 16 位准时器 / 计数器, 4 个外面中止,一个 双工串行口。此外
7 向量 4 级中止构造〔兼容传统 51 的 5 向量 2 级中止构造〕,全 STC89C52 可降至 0Hz 静态逻辑操作,支持
2 种软件可选择节
电模式。安闲模式下, CPU 停止工作,同意
RAM 、准时器 / 计数器、串口、中止继
续工作。掉电保护方式下, RAM 内容被保留,振荡器被冻结, 单片机全部工作停止, 直到下一此中止或硬件复位为止。最高运作频次
35MHz ,6T/12T 可选。
2.2.2 STC89C52RC 管脚介绍
STC89C52RC 单片机,采纳 PDIP 封装。管脚如图 3-1 所示 :
文案大全
单片机温度检测系统设计
适用标准文档
图 2-1 PDIP 封装的 STC89C52
单片机的引脚功能说明:
1 、电源引脚
VCC〔40 脚〕:电源端,工作电压为
5V 。
GND 〔 20 脚〕: 接地端。
2 、时钟电路引脚 XTAL1 〔19 脚〕和 XTAL2 〔18 脚〕。
3 、复位 RST〔9 脚〕。
4 、输入输出 (I/O) 引脚
P0.0-P0.7 〔39 脚 -32 脚〕:输入输出脚,称为 P0 口,是一个 8 位漏极开路型
双向 I/O 口,内部不带上拉电阻。
P1.0-P1.7 〔 1 脚 - 8 脚〕:输入输出脚,称为
P1 口,是一个带内部上拉电阻
的 8 位双向 I/0
口。
文案大全
单片机温度检测系统设计
适用标准文档
P2.0-P2.7 〔 21 脚— 28 脚〕:输入输出脚,称为 P2 口,是一个带内部上拉电阻的 8 位双向 I/O 口。
P3.0-P3.7 (10 脚— 17 脚〕:输入输出脚,称为 P3 口,是一个带内部上拉电阻的 8 位双向 I/O 口。 P3 端口拥有复用功能。
2.2.3 STC89C52RC 单片机器件参数
1 、加强型 8051 单片机,6 时钟 / 机器周期和 12 时钟 / 机器周期能够随意
选择,
指令代码完整兼容传统 8051 。
2 、工作电压: 5.5V ~3.3V 〔5V 单片机〕 /3.8V ~2.0V 〔3V 单片机〕。
3 、工作频次范围: 0 ~40MHz ,相当于一般 8051 的 0 ~80MHz ,实质工作 频
率可达 48MHz
4 、用户应用程序空间为 8K 字节。 5 、片上集成 512 字节 RAM 。
6 、通用 I/O 口〔32 个〕,复位后为: P0/P1/P2/P3
是准双向口 / 弱上拉, P0
I/O 口用时,需加
口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 上拉电阻。
7 、ISP〔在系统可编程〕 /IAP 〔在应用可编程〕,无需专用编程器,无
需专用
仿真器,可经过串口〔 〕直接下载用户程
序,数秒即可达成一
片
8 、拥有 EEPROM 功能。 9 、共3 个16
位准时器 / 计数器。即准时器 T0、T1、T2。
10 、外面中止 4 路,降落沿中止或低电平触发电路, Power Down
模式可 由
外面中止低电平触发中止方式唤醒。
11 、通用异步串行口〔 UART〕,还可用准时器软件实现多个
UART。
12 、工作温度范围: -40 ~ +85 ℃〔工业级〕 /0 ~75 ℃〔商业级〕。
文案大全
单片机温度检测系统设计
适用标准文档
13 、PDIP 封装。
温度传感器 DS18B20
DS18B20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,
螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有
LTM8877 ,LTM8874 等
等。主要依据应用处合的不同而改变其外观。
2.3.1 DS18B20 的主要特征
1 、适应电压范围更宽,电压范围 :3.0~5.5V ,在寄生电源方式下可由数
据线供
电。
2 、独到的单线接口方式, DS18B20 在与微办理器连结时仅需要一条口线即可
实现微办理器与 DS18B20 的双向通信。
3 、 DS18B20 支持多点组网功能,多个
DS18B20 能够并联在独一的三线上,
实现组网多点测温。
4 、DS18B20 在使用中不需要任何外头元件,所有
传感元件及变换电路集成在
形如一只三极管的集成电路内。
5 、温范围 -55 ℃~+125 ℃,在 -10~+85 ℃时精度为± ℃。
6 、可编程 的分辨率为 9~12 位,对应的可分辨温度分别为
0.5 ℃、 0.25 ℃、
0.125 ℃和 0.0625 ℃,可实现高精度测温。
2.3.2 DS18B20 的外形和内部构造
DS18B20 内部构造主要由四局部构成 :64 位光刻 ROM
、温度传感器、非挥发
的温度报警触发器 TH 和 TL、配置寄存器。
DS18B20 的外形及管脚摆列如图
3-2 所示 :
文案大全
单片机温度检测系统设计
适用标准文档
图 2-2 温度传感器 DS18B20
DS18B20 引脚定义 :
(1)GND 为电源地 ;
(2)DQ 为数字信号输入 / 输出端 ;
(3)VDD 为外接供电电源输入端 (在寄生电源接线方式时接地 )。
液晶显示器 LCD1602
液晶显示器 LCD1602 功能介绍
1602 液晶显示器也叫 1602 字符型液晶显示器,它是一种特意用来显示字母、
数字、符号等的点阵型液晶模块。它由假定干个 5X7 或许 5X11 等点阵字符位构成,
每个点阵字符位都能够显示一个字符, 每位之间有一个点距的间隔, 每行之间也有间
隔,起到了字符间距和行间距的作用, 正因为这样因此它不可以很好地显示图形 〔用自
定义 CGRAM ,显示成效也不好〕。如图 3-3 所示:
文案大全
单片机温度检测系统设计
适用标准文档
图 2-3 液晶显示器 LCD1602
2.4.2 LCD1602 管脚介绍
LCD1602 采纳标准的 16 脚接口, 如图 3-3 所示,此中从左到右为
1-16 脚:
第 1 脚: GND 为电源地
第 2 脚: VCC 接 5V 电源正极
第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高〔对比度过高时会 产生“鬼影〞,使用时能够经过一个 10K 的电位器调整对比度〕。
第 4 脚: RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。
第 5 脚:RW 为读写信号线, 高电平 (1) 时进行读操作, 低电平 (0)时进行写操作。
第 6 脚: E(或 EN) 端为使能 (enable) 端,高电平〔 1 〕时读守信息,负跳变时履行指令。
第 7-14 脚: D0 ~D7 为 8 位双向数据端。
第 15-16 脚:空脚或背灯电源, 15 脚背光正极, 16 脚背光负极。
2.4.3 LCD1602 主要特征
1 、3.3V 或 5V 工作电压,对比度可调。
2 、内含复位电路。
3 、供给各样控制命令 ,如:清屏、字符闪耀、光标闪耀、显示移位等多种功能。 4 、有 80 字节显示数据储存器 DDRAM 。
5 、内建有 192 个 5X7 点阵的字型的字符发生器 CGROM 。
6 、8 个可由用户自定义的 5X7 的字符发生器 CGRAM 。
3 硬件电路设计
系统框图
温度检测系统由 USB 接口电源, DS18B20
温度传感器构成的温度检测模块,
STC89C52 单片机构成的核心电路, 复位电路、时钟电路及液晶显示器构成的显示电
文案大全
单片机温度检测系统设计
适用标准文档
路构成。如图 3-4 所示:
时钟电路模块
STC89C52 单片机
复位电路模块
LCD1602 显
示模块
DS18B20 温度检测模
电源模块
图 3-1
系统框图
最小的单片机系统
单片机最小系统以 AT89C52RC 为核心 ,外加时钟电路和复位电路 ,电路构造简单 ,
抗扰乱能力强 ,本钱相对较低 ,特别切合本设计的所有要求。
时钟电路
时钟电路在单片机的外面经过 XTAL1,XTAL2 这两个引脚跨接晶体振荡器和微调
电容 ,构成稳固的自激振荡器。本系统采纳的为 12MHz 的晶振 ,一个机器周期为 1us,C1 、C2 为 22pF 。如图 3-5 所示
图 3-2 时钟电路仿真图
复位电路
文案大全
单片机温度检测系统设计
适用标准文档
复位电路分为上电自动复位和按键手动复位
,RST 引脚是复位信号的输入端 ,复位
信号是高电平有效。
上电自动复位经过电容 C3 和电阻 R1 来实现。如图 3-6 所示:
图 3-3 复位电路原理图
按键手动复位是复位键来实现的, 上图 3-6 中未增添复位键, 复位键可增添在正
5V 电源与单片机 RST 管脚之间。
温度检测系统设计
DS18B20 采纳单线进行数据传输, 第 2 管脚外接一个 4.7k 上拉电阻与单片机的
P3.6 口相连进行数据的双向传输,第 3 管脚外接正 5V 电源,第 1 管脚接地。如图
3-7 所示:
图 3-4
温度检测仿真图
外面电源供电方式是 DS18B20 的最正确工作方式,工作温度靠谱,抗扰乱能力强,
电路也简单,而且能够开发出稳固靠谱的多点温度监控系统。
液晶显示电路设计
LCD1602 液晶显示屏采纳标准的 16 脚接口,VSS 管脚接地,VDD 管脚接正 5V
电源, VEE 管脚接电位器 RV1 , RS 管脚外接单片机的 P1.1 口,RW 管脚接地, E 管
文案大全
单片机温度检测系统设计
适用标准文档
脚外接单片机的 P1.2 口,D0-D7 管脚分别接单片机的 P2.0-P2.7 口,仿真图未表记
出的 A、K 管脚为背光灯电源管脚,分别接正
5V 电源和地。如图 3-8 所示:
图 3-5 液晶显示电路原理图
液晶显示器固然加了驱动电路, 但其实不发光,液晶显示器发出来的光是由背光发
出的,灯管的特征近似于家用日光灯, 工作时需要高压。 这局部电路往常称为高压背
光电路。或叫高压背光驱动电路。 液晶显示器所耗费的电能根本所有是由背光耗费。 相
对而言,这局部电路工作在高压大电流下, 很简单出现故障, 液晶显示器的自然故障
大部分是这个局部出现了电路故障。
4 主要参数计算与剖析
温度显示一共 2 个字节, LSB 是低字节, MSB
是高字节,此中 MSB 是字节
的高位, LSB 是字节的低位。大家能够看出来,二进制数字,每一位代表的温度的 含义,都表示出来了。此中 S 表示的是符号位,低 11 位都是 2 的幂,用来表示最
终的温度。 DS18B20 的温度丈量范围是从 -55 度到 +125 度,而温度数据的表现形
式,有正负温度,寄存器中每个数字好像卡尺的刻度同样散布。
如表一所示:
TEMPERATURE DIGITAL OUTPUT DIGITAL OUTPUT
文案大全
单片机温度检测系统设计
适用标准文档
(Binary)
0000 0111 1101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000
(Hex) 07D0h 0191h 00A2h 0008h 0000h FFF8h FF5Eh FF6Fh FC90h
+125 度
度 度
+0.5 度 0 度
-0.5 度
度
度
-55 度
表一 实质温度比较表
二进制数字最低位变化
1 ,代表温度变化 度的映照关系。当 0 度的时
候,那就是 0x0000 ,当温度 125 度的时候,对应十六进制是
0x07D0 ,当温度是
零下 55 度的时候, 对应的数字是 0xFC90 。反过来说, 当数字是 0x0001 的时候, 那温度就是 0.05 ,抵达了设计要求。
5 软件设计
整系统统剖析
温度检测系统由温度及中止初始化, 温度检测,温度输入办理, 温度显示等几部
分模块构成。如图 5-1 所示:
文案大全
单片机温度检测系统设计
适用标准文档
图 5-1
软件设计
程序流程图
程序流程图包含:开始后先进行各个模块的初始化,而后再进行温度〔数据〕的
采样办理,最后由液晶显示器输出温度。如图 5-2 所示:
开始
单片机开始初始化
LCD 显示初始化
中止初始化 DS18B20 初始化
DS18B20
进行温度收集
文案大全
LCD显示及时温度
单片机温度检测系统设计
适用标准文档
等候
图 5-2
程序流程图
6 Proteus 软件仿真
Proteus 原理图设计,找到 12MHz 晶振、 STC89C52 单
温度检测系统设计的
片机、 DS18B20 温度传感器、液晶显示器等器件,并用线进行连结,注意电源与地。 如图 6-1 所示:
图 6-1 温度检测系统仿真图
加载程序液晶屏显示温度。如图 6-2 所示:
文案大全
单片机温度检测系统设计
适用标准文档
图 6-2 温度检测系统模拟运转
经过调整 DS18B20 中的“ + 〞“ - 〞即可改变显示数值。
7 实物制作
器械清单
实物制作用到的器件有以下几种,如表二所示:
名称 瓷片电容 石英晶体 电阻 电解电容 CPU CPU 座 电阻
温度传感器
封装 直插 直插 直插 直插 双列直插 双列直插 直插 直插
型号 参数 30PF
数目 2 1 1 1 1 1 1 1
1/4W 10K
22UF/16V
STC89C52RC DIP-40 1/4W DS18B20
HD
文案大全
单片机温度检测系统设计
适用标准文档
电位器 液晶显示器 1P 杜邦线彩色 排针
最小系统板 洞洞板
直插 3296W-103 LCD1602
10K 1 1
母对母两端插好杜邦头 直插
孔对孔 40 根一排 脚距
高 11
单根长度 20cm 1X40 单排插针
30 针 30 线 1
9X7CM
单面 1
表二 温度检测单片机元器件明细表
最小系统板制作
焊接最小系统板,把电容、极性电容、
12Mhz 晶振、电阻、排针、底座插到最
小系统板上, 因为反面电路都已连结好, 只要在各个地点焊上个元器件即可。 实物图
如图 7-1 所示:
图 7-1
最小系统电路实物图
温度检测系统电路板制作
DS18B20 焊接时应注意 1,2,3 脚,电路板最右边焊排针,以便输入信号。
输入程序前用杜邦线将各个模块进行连结。实物图如图
7-2 所示:
文案大全
单片机温度检测系统设计
适用标准文档
图 7-2
温度检测系统电路实物图
温度检测展现
室内温度丈量如图 7-3 所示:
图 7-3 室温
用手指捏住 DS18B20 一段时间,再次进行温度的丈量。如图 7-4 所示:
文案大全
单片机温度检测系统设计
适用标准文档
图 7-4
手指加热
焊接点展现
每个焊点以方正,不带刺,平均为好。当焊好电路后,认真检查焊点质量与能否
导通。如图 7-5 所示:
图 7-5
焊接点展现
作品检查
1 、第一依据仿真图将实物焊接 ,注意焊接的质量 ,不要出现虚焊等现象。
2 、通电察看现象。 3 、通电后无反应。
4 、将单片机换一块最小系统板 ,检查能否本来最小系统板有问题及单片机能否有
文案大全
单片机温度检测系统设计
适用标准文档
问题。
5 、液晶显示器的显示和仿真能否有不同。
6 、检查单片机引脚与液晶显示器连结的次序能否正确 .程序能否般配。 7 、液晶显示器不亮或亮的很暗。
8 、检查线路的正负极能否接反 ,检查限流电阻阻值能否正确 ,检查能否有断路现 象。
当焊好电路后通电以后, 发现电路不亮, 检查了一下单片机向外的接口, 虚焊了个地方,从头焊好后,接入液晶显示器,发现有一组液晶显示器不亮,原由是未连结背光电路,从头连结后,通电,试验成功。
8 结论
本系统充足利用了 STC89C52RC 芯片的 I/O 引角。系通通采纳 MSC-51 系列单
片机为中心器件来设计温度检测系统,实现了能依据实质温度经过单片机芯片的 P2 口控制液晶显示器的显示;系统设计简易、适用性强、操作简单、程序设计简易。系统缺少之处在于电路 18B20 易破坏、以及液晶显示不显然等。
因为本设计波及到的知识面比较广, 再加上自己在有关领域知识的缺少, 因此本设计的性能指标仍是有待改良的, 并让我理解了仿真和真切着手是拥有差距的, 想的和做的其实不同样。 要特别着重细节, 制作实物时出现液晶屏不显示故障, 当时只认为是程序或焊接有问题,最后才发现不过电位器没调理好。
此次课程设计, 使我对所学的知识与技术、 剖析和解决问题的能力进行了难得的锻炼,使我深刻领悟了单片机的根来源理以及认识到单片机应用系统开发过程的艰
难。在常用编程设计思路技巧的掌握方面都向前迈了一大步。
经过此次的课程设计, 我充足意识到了自己所学的东西仍是特别有限的, 明确了认为要努力的方向, 不可以只学习课本上的理论知识, 还要认识一些书籍上没法学到的东西,为自己的此后确立了必定的根基。
文案大全
单片机温度检测系统设计
适用标准文档
文案大全
单片机温度检测系统设计
适用标准文档
附录:
C 语言程序:
#include #define uchar unsigned char #define uint unsigned int #define LCDIO P2 //1602 数据口 sbit DQ=P3^6;//ds18b20 与单片机连结口 sbit rs=P1^1; //1602 数据命令选择引脚 //sbit rd=1; // 读写选择 sbit lcden=P1^2; //1602 选通引脚 float f_temp; // 浮点型温度值 uint tvalue;// 温度值 uchar tflag; uchar code table[]= {\"The temperature \ uchar code table1[]= {\"is: 000.0C wfu\ uchar data disdata[5]; void delay(uint z) // 短延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); 文案大全 // 每行显示 16 个字符 单片机温度检测系统设计 适用标准文档 } void write_com(uchar com) { rs=0; //RS 是数据命令选择短,高电平写数据,低电平写命令 //1602 写命令子程序 // rd=1; lcden=0;//1602 选通端,高电平选通,低电平严禁 P2=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) { rs=1; //1602 写数据子程序 //RS 是数据命令选择短,高电平写数据,低电平写命令 // rd=1; //???? lcden=0;//1602 选通端,高电平选通,低电平严禁 P2=date; delay(5); lcden=1; delay(5); 文案大全 单片机温度检测系统设计 适用标准文档 lcden=0; } void init() { uchar num; lcden=0; write_com(0x38); 示, 5*7 点阵 write_com(0x0c); 标闪耀 write_com(0x06); //1602 初始化程序 //0011 1000B ,功能模式设置, 设置为 8 为数据口,两行显 //0000 1011B ,显示开及光标设置,关显示,显示光标,光 //0000 0110B ,显示光标挪动设置,读或写一个字符,地点 指针减一且光标减一,写一个字符屏幕显示不挪动 write_com(0x01); write_com(0x80); delay(5); write_com(0x80); 第一行地点是 00-2F //0000 0001B ,显示清屏,数据指针和所有显示清屏 //1000 000B ,封闭显示 //1000 000B ,设置为 2 行显示,写入第一行字符的地点, for(num=0;num<16;num++) { write_date(table[num]); delay(5); } // 写入第一行数据 文案大全 单片机温度检测系统设计 适用标准文档 write_com(0x80+0x40); 地点,第而行地点是 40-67 //1100 0000B, 设置为 2 行显示,写入第二行字符的 for(num=0;num<16;num++) // 写入第二行数据 { write_date(table1[num]);// 写入第二行数据 delay(5); } } void delay_18B20(unsigned int i)// 延时 1 微秒 { while(i--); } void ds1820rst() /*ds1820 复位 *///DS18B20 位。 { unsigned char x=0; DQ = 1; //DQ 复位 delay_18B20(4); // 延时 DQ = 0; //DQ 拉低 delay_18B20(100); // 精准延时大于 480us DQ=1; //拉高 delay_18B20(40); } 文案大全 要求数据线拉低 500US 即可复 单片机温度检测系统设计 适用标准文档 uchar ds1820rd()/* 读数据 */ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号dat>>=1; DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat); } void ds1820wr(uchar wdata)/* { unsigned char i=0; for (i=8; i>0; i--) { DQ=0; DQ = wdata&0x01; 文案大全 */ 写数据单片机温度检测系统设计 适用标准文档 delay_18B20(10); DQ=1; wdata>>=1; } } read_temp()/* 读取温度值并变换 */ { uchar a,b; ds1820rst(); ds1820wr(0xCC);// 跳过 ROM _nop_(); //ds1820wr(0x4E);// 写 EEPROM,发出向内部 RAM 的 3 、4 字节写上、下限温 度数据命令,紧跟该命令以后,是传递两字节的数据 // ds1820wr(0x00);//Th //ds1820wr(0x00);//Tl ds1820wr(0x7f);//12 bits 温度分辨率 x1f, 0x3f, 0x5f ,0x7f 温度读数分辨率分 别对应 //ds1820wr(0xcc); // 跳过读 EPROM 序列 将 RAM 中第 3 、4 字节的内容复制到 EEPROM 中 //ds1820wr(0x48); ds1820rst(); ds1820wr(0xcc);//* 跳过读序列号 */ _nop_(); 文案大全 单片机温度检测系统设计 适用标准文档 ds1820wr(0x44);//* 启动温度变换 */ ds1820rst(); ds1820wr(0xcc);//* 跳过读序列号 */ ds1820wr(0xbe);//* 读取温度 */ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else { tvalue=~tvalue+1; tflag=1; } //tvalue=tvalue*(0.425);// f_temp=tvalue*(0.0625); tvalue=f_temp*10+0.5; 舍五入 //f_temp=f_temp+0.05; //f_temp=tvalue*(0.0625); 文案大全 温度值扩大 10 倍,精准到 1 位小数 // 温度在寄存器中为 12 位,分辨率为 // 乘以 10 表示小数点后边只取 1 位,加 0.5 时四 单片机温度检测系统设计 适用标准文档 //tvalue=f_temp*100+(tvalue>0?0.5:-0.5); return(tvalue); } void ds1820disp()// 温度值显示 { uchar flagdat; disdata[0]=tvalue/1000+0x30;// 百位数 disdata[1]=tvalue%1000/100+0x30;// 十位数 disdata[2]=tvalue%100/10+0x30;// 个位数 disdata[3]=tvalue%10+0x30;// 小数位 if(tflag==0) flagdat=0x20;// 正温度不显示符号 else flagdat=0x2d;// 负温度显示负号 :- if(disdata[0]==0x30) {disdata[0]=0x20;// 假如百位为 0 ,不显示 if(disdata[1]==0x30) {disdata[1]=0x20;// 假如百位为 0,十位为 0 也不显示 } } write_com(0x80+0x44); //1100 0000B, 设置为 2 行显示,写入第二行字符的地点,第而行地点是 40-67 文案大全 单片机温度检测系统设计 适用标准文档 write_date(flagdat);// write_com(0x80+0x45); write_date(disdata[0]);// write_com(0x80+0x46); write_date(disdata[1]);// write_com(0x80+0x47); write_date(disdata[2]);// write_com(0x80+0x48); write_date(0x2e);// 显示符号位 显示百位 显示十位 显示个位 显示小数点 write_com(0x80+0x49); write_date(disdata[3]);// write_com(0x80+0x4a); write_date('C'); } void main() { init(); read_temp();// 读取温度 ds1820disp();// 显示 显示小数位 while(1) { read_temp();// 读取温度 文案大全 单片机温度检测系统设计 适用标准文档 ds1820disp();// 显? } } 参照文件: [1] [2] [3] [4] [5] 吴拂晓、王桂棠、洪添胜等 . 单片机原理及应用技术 [ M ] . 北京 : 科学第一版社,2005. 冯文旭 . 单片机原理及应用 [ M ] . 北京 : 机械工业第一版社 ,2021. 康华光 . 电子技术根基 [M]. 北京:高等教育第一版社, 2021. 张兰红、邹华等 . 单片机原理及应用 [ M ] . 北京: 机械工业第一版社 ,2021 李伯成 . 鉴于 MCS-51 单片机的嵌入式系统的设计 [M]. 北京:电子工业第一版社, 2004. 文案大全 单片机温度检测系统设计 适用标准文档 [6] 楼然苗、李光飞 . 单片机课程设计指导 [M]. 北京:北京航空航天大学第一版社, 1997. 文案大全 因篇幅问题不能全部显示,请点此查看更多更全内容