项目七 单片机综合实践
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
达成目标
技能目标
能根据需要,完成单片机应用系 统的设计
素质目标
弘扬脚踏实地、刻苦钻研、爱岗敬业的劳模精神 树立技能成才、技能报国的人生理想 加强实践练习,注重学思结合、知行统一,增强
勇于探索的创新精神
项目导航
任务7.1 设计数字温度计——DS18B20的应用 任务7.2 设计数字钟——DS1302的应用
2.温度传感器
DS18B20中的温度传感器可完成对温度的测量,温度值以16位符号扩展 的二进制补码读数形式提供,以0.062 5℃/LSB形式表达。在12位转换情况 下,温度的高低字节存放形式如表所示,其中S为符号位。
低字节
23
22
21
20
2−1
2−2
2−3
2−4
高字节
SSSS
S
26
25
24
高字节的前5位是符号位,如果测得的温度大于0,则这5位为0,只要将测到的 数值乘以0.062 5即可得到实际温度;如果测得的温度小于0,则这5位为1,测到 的数值需要取反加1再乘以0.062 5才能得到实际温度。
7.1.2 DS18B20简介
DS18B20是单总线数字温 度传感器,采用单总线的接口 方式,即与单片机连接时仅需 要一根数据总线即可实现双向 通信。由于DS18B20传输信息 仅需要一根数据总线,因而使 用DS18B20可使系统结构更趋 简单,可靠性更高。
DS18B20的引脚排列如图所示。
7.1.2 DS18B20简介
7.1.3 DS18B20的内部结构及主要功能部件
触发器就像我们工作中的警戒线一样, 不能触及,因此我们平时要学会进行自我约 束。人在任何时候都要进行自我约束,没有 自我约束力,就削弱了前进的动力。在人生 道路上,我们要不断学习自我约束,提高自 己的自律意识,谨慎对待自己的一言一行。
7.1.3 DS18B20的内部结构及主要功能部件
DS18B20的温度转换时间与温度转换的精度位数(即温度转换的分辨率)相关, 温度转换的分辨率越高,转换需要的时间就越长,其关系如表所示。
7.1.3 DS18B20的内部结构及主要功能部件
R1
R0
0
0
0
1
1
0
1
1
分辨率 9位 10位 11位 12位
最大转换时间/ms 93.75 187.5 375 750
单总线
7.1.1 总线概述
1.I2C总线
I2C总线是Philips公司推出的一种双向二进制串行传输总线,具有控制方式简单、器件 体积小、通信速率高及功耗低等特点。I2C总线允许接入多个器件,如A/D转换器、D/A转 换器等,总线上的器件既可以作为发送器,也可以作为接收器,并按照一定的通信协议进 行数据交换。在进行数据交换时,作为主控器的器件都需要通过总线竞争获得主控权。
每个DS18B20都拥有一个唯一的64位ROM,当总线系统 上连接多个DS18B20时,总线控制器可以依靠每个器件独有的 64位ROM辨认器件及地址,故一个总线控制器可以控制很多 分布在不同区域的DS18B20,这一特性在环境控制、探测建筑 物等过程监测和控制方面都非常有用。
7.1.3 DS18B20的内部结构及主要功能部件
DS18B20完成一次温度转换后,就将该温度值与 存储在TH和TL中用户自定义的报警预置值进行比较。 如果测得的温度值高于TH或低于TL中的预置值,则报 警条件成立,DS18B20内部就会置位一个报警标识。 每进行一次测温就对这个标识进行一次更新,如果报警 条件不成立,则在下一次温度转换后报警标识将被移除。
在12位转换情况下,温度-数字量输出关系如表所示。
7.1.3 DS18B20的内部结构及主要功能部件
温 度/℃ +125 +85
+25.062 5 +10−10.125 −25.062 5
−55
数字量输出(二进制) 0000 0111 1101 0000 0000 0101 0101 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
1.寄生电源供电方式
寄生电源供电方式如图所示,当单总线为高电平时,寄生电源通过单总线 拉高DQ为存储电容(CPP)充电;当单总线为低电平时,由存储电容向 DS18B20供电。DS18B20处于寄生电源供电方式时,VDD引脚必须接地。
7.1.5 DS18B20供电方式
在寄生电源供电方式下,单总线和存储电容在大部分操作中都能提供满足 规定的电流给DS18B20。然而,当DS18B20执行温度转换或向EEPROM传送 数据时,电流可能高达1.5 mA。这个电流无法由存储电容提供,为了保证 DS18B20有足够的电流供应,当进行温度转换或复制数据到EEPROM操作时, 必须给单总线提供一个强上拉电平。用漏极开路把I/O线直接拉到电源上可以 实现强上拉效果,如图所示。
单片机应用技术
(第 2 版)
目录
项目1 项目2 项目3 项目4 项目5 项目6 项目7
C语言基础知识 单片机开发软件及硬件系统的认识
中断系统与定时/计数器的应用 显示器与键盘接口技术的应用
串行接口技术的应用 A/D与D/A转换技术的应用
单片机综合实践
单片机综合实践
项目导读
通过对前面各项目的学习,我们已经掌握了单 片机的工作原理和程序设计方法,在具备上述能 力的基础上,就可以灵活地进行单片机应用系统 的综合设计与开发了。
Recall EPROM(重新调出) Read Power supply(读电源)
代码 [4EH] [BEH] [48H] [44H] [B8H] [B4H]
7.1.5 DS18B20供电方式
DS18B20的供电方式有寄生电源供电方式和外接 电源供电方式两种。
寄生电源 供电方式
外接电源 供电方式
7.1.5 DS18B20供电方式
7.1
任务工单
扫一扫 查看任务工单
任务描述
➢ 在智能家居、工业控制等领域的测量系统中,环境温度的 测量和控制是非常重要的。随着时代的发展,数字化的温度 计已成为人们常用的测温设备,数字温度计体积小、使用方 便,在测温系统中有着广泛的应用。 ➢ 请设计一个数字温度计,测量范围为0~99℃,精度达 1℃。
4.配置寄存器
配置寄存器用于设置DS18B20的转换精度,配置寄存器各位定义如表所示。
配置寄存器
D7
D6 D5 D4 D3 D2 D1 D0
位定义 TM(0) R1 R0 1 1 1 1 1
低5位一直为1;TM是模式选择位,用于设置DS18B20是在工作模式还是在测试 模式,在出厂时该位被设置为0,用户不要去改动;R1和R0决定温度转换的精度位数。
7.1.4 DS18B20的工作过程
DS18B20工作时必须经过以下3个步骤:初始化、写ROM操作指令和读RAM 操作指令。每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条 ROM操作指令,最后发送RAM操作指令,这样才能对DS18B20进行预定的操作。
1.初始化
单总线上的所有操作均从初始化开始。
I2C总线是由串行数据线(SDA)和串行时钟线(SCL)构成的总线,可以发送和接收 数据。在CPU和被控制器件间双向传送数据,最高传输速度为400 kbps。其中,SDA用于 地址的输入及数据的输入和输出,使用时需要加上拉电阻;SCL用于为器件的数据传输提供 同步时钟信号。
7.1.1 总线概述
2.SPI总线
本项目通过对数字温度计和数字钟的设计,将 所学的知识系统化,使学生不仅能熟练应用单片 机内部资源及外部设备,还能掌握程序设计方法 和单片机实用技术。
达成目标
知识目标
掌握DS18B20的内部结构及主要功能部件 掌握DS18B20的工作过程 了解DS18B20的供电方式 掌握DS1302的工作原理 掌握DS1302的寄存器功能 掌握DS1302的读写操作
任务实施
1.整体设计思想 2.硬件设计 3.软件设计 4.仿真调试
7.1.1 总线概述
总线是连接各个设备的信息 传输线,是根据协议约定的通信 方式,它规定了通信双方需要遵 守的通信规则。单片机通过总线 可扩展多种外围设备,下面简单 介绍几种比较常见的总线:I2C总 线、SPI总线和单总线。
I2C总线 SPI总线
SPI总线是由Motorola公司推出的一种全双工同步串行总线,用于MCU与EEPROM、 A/D转换器和显示驱动器等外设器件间的串行通信。SPI总线是一种高速的、全双工、同步 的通信总线,数据传输速度比I2C总线要快,传输速度可达到几Mbps,现在越来越多的芯 片集成了这种通信协议。
SPI总线是以主从方式工作的,可直接与各厂家生产的多种标准外围器件连接,连接时 一般使用4根线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/ 从机输入数据线(MOSI)和从机选择线( SS )。
DS18B20的内部结构如图所示。它主要由64位ROM、温度传感器、 高温触发器(TH)、低温触发器(TL)和配置寄存器等组成。
7.1.3 DS18B20的内部结构及主要功能部件
1.64位ROM
64位ROM中的值是出厂前被光刻好的,它由8位系列码、48位序列号和 8位CRC(循环冗余校验,cyclic redundancy check)组成,如图所示。
8位系列码: 单总线系列器件编码。DS18B20的8位系列码定义为28H。
48位序列号: 设备唯一的序列号。每个器件的48位序列号各不相同,利用序列号可以
识别单总线上挂载的不同DS18B20器件。 8位CRC:
由CRC发生器通过计算得到,作为ROM中前56位编码的校验码。
7.1.3 DS18B20的内部结构及主要功能部件
单总线通常外接一个约4.7~10 kΩ的上拉电阻,当单总线闲置时,其状态为高电平; 当单总线上有器件响应时,器件将电平拉低。
7.1.1 总线概述
通常把挂在单总线上的器件称为单总线器件,单总线器件 内一般都有控制、收发、存储等电路。为了区分不同的单总线 器件,厂家生产单总线器件时都要烧录一个64位的二进制 ROM代码,以标志其ID号。目前,单总线器件主要有数字温 度传感器(如DS18B20)、A/D转换器(如DS2450)、门标、 身份识别器(如DS1990A)、单总线控制器(如DS1WM)等。
7.1.4 DS18B20的工作过程
2.ROM操作指令
当总线主机检测到DS18B20存在时,便发出ROM操作指令,ROM操作 指令如表所示。
指令 Read ROM(读ROM) Match ROM(匹配ROM) Skip ROM(跳过ROM) Search ROM(搜索ROM) Alarm search(报警搜索)
7.1.1 总线概述
3.单总线
单总线与I2C总线、SPI总线不同,它只有一根信号线,既可传输数据(数据传输是双向 的),又可传输时钟信号。单总线具有线路简单、成本低廉、便于总线扩展和维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机 可以是单总线器件,它们之间的数据交换只通过一根信号线。当只有一个从机设备时,系 统则按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。
数字量输出(十六进制) 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H
7.1.3 DS18B20的内部结构及主要功能部件
3.高温触发器和低温触发器
高温触发器(TH)中存在最高温度报警下限,低 温触发器(TL)中存在最低温度报警下限,用户可通 过软件写入。
GND: 接地端;
DQ: 数字信号输入输出端;
VDD: 外接供电电源输入端。 DS18B20的供电范围为3.0~5.5 V;测温范围为−55~+125℃;分
辨率可选择为9~12位,最多可在750 ms内将温度转换为12位数字。多 个DS18B20可以同时并联在一根单总线上,实现多点测温。
7.1.3 DS18B20的内部结构及主要功能部件
代码 [33H] [55H] [CCH] [F0H] [ECH]
7.1.4 DS18B20的工作过程
3.RAM操作指令
在执行ROM操作指令后执行RAM操作指令,RAM操作指令如表所示。
指令 Write Scratchpad(写缓存器) Read Scratchpad(读缓存器) Copy Scratchpad(复制缓存器) Convert Temperature(温度转换)