单片机练习

发布于:2024-07-17 编辑:匿名 来源:网络

最近一直在学习和编写单片机程序。

今天有空就模仿DS18B20测温和显示实验,写了一个基于与DS18B20单总线通信的程序。

DS18B20数字温度传感器(参考:智能温度传感器DS18B20原理及应用)是DALLAS公司生产的1-Wire器件,为单总线器件,电路简单,体积小。

因此,用来组成接线简单的温度测量系统。

许多这样的数字温度计可以挂在一根通信线上。

DS18B20产品的特点: (1) 只需一个I/O口即可实现通信。

(2)。

DS18B20 中的每个器件都有一个唯一的序列号。

(3)在实际应用中,无需任何外部元件即可实现温度测量。

(4)测量温度范围在-55℃至+℃之间; -10~℃范围内误差±5℃; (5)数字温度计的分辨率可由用户在9位至12位之间选择。

将12位温度值转换为数字量所需时间不超过ms; (6)有内部温度上限和下限报警设置。

DS18B20引脚分布图  DS18B20详细引脚功能说明: 1. GND地信号; 2. DQ数据输入输出引脚。

开漏单总线接口引脚。

当在寄生电源下使用时,该引脚可以为器件提供电源;排水管打开并且经常达到高水位。

通常需要外接一个5kΩ左右的上拉电阻。

3. VDD 可选 VDD 引脚。

电压范围:3~5.5V;当使用寄生电源时,该引脚必须接地。

DS18B20存储器结构图:暂存器的前两个字节是测量温度信息的低字节和高字节;第3和第4字节是TH和TL的易失性副本,每次上电复位时都会刷新;第5个字节是配置寄存器的易失性副本,在电源复位期间也会刷新;第9个字节是前8个字节的CRC校验值。

配置寄存器的命令内容如下:0R1R11  MSB LSBR0和R1为温度值分辨率位,根据下表进行配置。

默认出厂设置为 R1R0 = 11,即 12 位。

温度值分辨率配置表 R1R0 分辨率最大转换时间(ms) bit93.75 (tconv/8) bit .50(tconv/4)bit(tconv/2)bit(tconv)  4 个分辨率对应的温度分辨率分别为 0.5℃、0.25℃、0.℃、0.℃(即最低位代表温度值) 12 位分辨率下两个温度字节的具体格式如下: 低字节:2^32^22 ^12^02^-12^-22^-32^-4  高字节:SSSSS2^62^52^4  高字节前5位均为符号位S。

如果分辨率为低于12位,最低值为0。

例如:当分辨率为10位时,低字节为:2^32^22^12^02^-12^- ,高字节不变....转换后输出的一些温度和数字如下:温度数字输出改为16位系统℃07D0H℃H.℃H.℃00A2H.5℃H0℃H-0.5℃FFF8H-10.℃FFE5H-25.℃FF6FH-55℃FC90H  从上表可以看出,当输出为负温度时,使用补码表示时,方便计算机计算(如果使用C语言,直接将结果赋值给int变量即可)。

单片机练习

如何使用DS18B20:由于DS18B20采用的是1-Wire总线协议,即在一根数据线上实现数据的双向传输,而对于单片机来说,我们必须用软件的方法来模拟单条总线的协议时序来完成访问到 DS18B20 芯片。

由于DS18B20在I/O线上读写数据,因此对数据位读写有严格的时序要求。

DS18B20具有严格的通信协议,保证数据传输的正确性和完整性。

该协议定义了几个信号的时序:初始化时序(dsInit() 实现)、读取时序(readByte())和写入时序(writeByte())。

所有时序均使用主机作为主设备,单总线设备作为从设备。

当主机主动发起写序列时,每个命令和数据传输开始。

如果单总线设备需要回送数据,则在发出写命令后,主机需要发起读序列来完成数据接收。

数据和命令首先传输低端。

DS18B20 与单片机连接电路图: 用软件模拟DS18B20 的单线协议和命令: 主机必须按照以下顺序操作DS18B20 1. 初始化 单线总线上的所有操作都是从初始化开始的。

流程如下: 1)请求:主机通过拉低单线us以上,产生复位脉冲,然后释放线,进入Rx接收模式。

当主机释放总线时,会产生一个上升沿脉冲。

DQ: 1 -> 0(us+) -> 12) 响应:DS18B20 检测到此上升沿后,有 15~60us 的延迟,将总线拉低 60~us 产生响应脉冲。

DQ:1(15~60us) -> 0(60~us)3) 接收响应:主机收到从机响应脉冲后,表示有单线设备在线。

至此,初始化完成。

DQ: 02. ROM 操作命令 当主机检测到响应脉冲时,可以发起 ROM 操作命令。

ROM 操作命令有 5 种,如下表所示: 命令类型、命令字节功能 Read Rom Read ROM33H 读取激光 ROM 中的 64 位。

它只能用于总线上的单个 DS18B20 设备。

当有多个设备时,就会出现数据冲突。

匹配ROM 匹配ROM55H。

该命令后跟一个 64 位 ROM 序列号,用于寻址总线上的多个设备。

对应DS18B20。

只有序列号完全匹配的DS18B20才能响应后续的存储器操作命令。

其他不匹配的将等待复位脉冲。

它可以在单一或多种情况下使用。

Skip Rom 跳过ROMCCH,不需要提供64位ROM。

序列号可用于运行内存操作命令,只能用于单钩。

Search Rom 搜索ROMF0H,并通过排除过程识别总线上所有设备的ROM 序列号。

Alarm Search 报警搜索ECH 命令流程与Search Rom 相同,但DS18B20 只有最近一次满足报警触发条件的温度测量才会响应该命令。

  3。

存储器操作命令 存储器操作命令只有在ROM 操作命令成功执行后才能使用。

存储器操作命令有 6 种类型: 命令类型 命令字节功能   Write Scratchpad 写暂存器 4EH 在启动复位脉冲之前,将地址 2~地址 4 的 3 个字节写入暂存器(TH、TL 和配置寄存器)。

必须写下来。

  Read Scratchpad 读取暂存器 BEH 读取暂存器的内容,从字节 0 到字节 8,共 9 个字节。

主机可以随时发起复位脉冲来停止此操作。

通常我们只需要读取前5个字节。

  Copy Scratchpad 复制暂存器 48H 将在暂存器中内容被复制到 EERAM 中,以便将温度报警触发字节存储到非易失性存储器中。

如果主机在该命令后生成读时隙,则只要设备仍在复制,就会输出 0,复制完成后就会输出 1。

  Convert T 温度转换 44H 开始温度转换操作。

如果主机在该命令后生成一个时隙,那么只要设备仍在进行温度转换,就会输出 0,转换完成后,就会输出 1。

  Recall E2 Recall E2 register B8H Re -将EERAM中存储的温度报警触发值和配置寄存器值复制到临时寄存器。

当 DS18B20 上电时,此操作会自动发生。

  Read Power Supply 读取电源模式 B4H 主机在执行此命令后启动每次读取 在时隙内,DS18B20 将发出其电源模式信号:0 寄生电源,1 外部电源。

  4。

DS18B20的数据处理需要严格的时序以保证数据的完整性。

单线DQ上有一个复位脉冲,有六种信号类型:响应脉冲、写0、写1、读0、读1。

除响应脉冲外,其他脉冲均由主机产生。

数据位的读写是通过读写时隙来实现的。

1)写时隙:当主机将数据线从高电平拉至低电平时,产生写时隙。

所有写时隙必须在60us以上,并且每个写时隙之间必须保证1us的恢复时间。

写“1”:主机先将数据线DQ拉低,然后释放15us,然后将数据线DQ拉高;写“0”:主机将DQ拉低并保持低电平至少60us。

2)读时隙:当主机将数据线DQ从高电平拉至低电平时,产生读时隙。

所有读时隙必须持续至少60us,并且每个读时隙之间必须保证1us的恢复时间。

读:主机将DQ拉低至少1us。

此时主机立即将DQ拉高,延时15us后再读取DQ。

源代码:(测量范围:0~99度)  DS18B#include2//通过DS18B20测试当前环境温度,并通过数码管显示当前温度值 3sbitwela=P2^7;//选择数码管管位 4sbitdula=P2^6;//选择数码管部分 5sbitds=P2^2;6//0-F数码管(共阴极)的编码 7unsignedcharcodetable[ ]={0x3f,0x06,0x5b,0x4f, 0x66,80x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};9//0-9数码管编码(共阴极),带小数点10unsignedcharcodetableWidthDot[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,x87,0xff,0xef};//延迟函数,例如i=10,延迟约为10ms。

单片机练习

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 东车日报|余承东:不要造20万以下的车-小鹏G6内饰曝光-华为前高管加盟理想汽车

    东车日报|余承东:不要造20万以下的车-小鹏G6内饰曝光-华为前高管加盟理想汽车

    简介比亚迪发布U8路试视频,U8掉头小鹏新款SUV“G6”曝光,神秘股东抄底特斯拉,换了新方向盘。 宁德时代或赚了近千亿的巨额利润,或推出超低价电池套餐。 华为前高管李文智加盟理想汽车小米汽车营销负责人周钘辞职,传闻蔚来汽车加盟蔚来仅7个月,第四工厂位于安徽滁州,将引

    06-21

  • “盲盒第股”泡泡玛特本周将寻求港股上市听证会,计划融资2亿美元至3亿美元

    “盲盒第股”泡泡玛特本周将寻求港股上市听证会,计划融资2亿美元至3亿美元

    作者|沈周近日,据《香港经济日报》援引外电报道,潮流玩具公司“泡泡”“波玛特”本周将寻求港股上市听证会,计划融资2亿美元至3亿美元。 摩根士丹利和里昂证券担任联席保荐人。 创头条获悉,早在今年6月,泡泡玛特就已向港交所提交了IPO申请。 泡泡玛特可以赚钱。 据其披露

    06-17

  • “创客北京”大赛360聚焦中小企业数字化转型专场现已开启招募

    “创客北京”大赛360聚焦中小企业数字化转型专场现已开启招募

    6月6日,第七届“创客中国”北京中小企业创新创业大赛暨“创客北京”北京“创新创业大赛”正式拉开帷幕。 与此同时,由“创客北京”大赛组委会联合举办的“创客北京”创新创业大赛中小企业数字化转型专场赛也同步启动,正式向创客北京征集优秀SaaS项目。 企业和创客。 “创客

    06-17

  • 帮助中小网红流量变现,品良获青松基金500万元天使投资

    帮助中小网红流量变现,品良获青松基金500万元天使投资

    据投资界7月10日消息,电商平台“品良”近日宣布已获得青松基金1万元天使轮融资。   品良的定位是帮助“流量主”变现,包括网红、大主播、KOL、明星等。 品良小程序1.0版本已于今年5月底上线,APP预计上线将于今年9月推出。   流量电商变现通常有两个痛点。 首先,流量主

    06-17

  • 我们去参加了lululemon年度最大的社区活动,找到了幸福的秘诀

    我们去参加了lululemon年度最大的社区活动,找到了幸福的秘诀

    这样的比赛颠覆了我对lululemon的印象。 其实我就是这么热情我曾经觉得我是那种在太阳升起之前起床做瑜伽的人。 这是我看完lululemon《夏日乐挑战》决赛视频后最直接的感受。 “瑜伽裤”、“放松”、“中产阶级”、“社群”,对于很多人来说,提到lululemon第一个想到的词就是

    06-21

  • 华为ADS2.0上车,Avita 11学会自动驾驶停车

    华为ADS2.0上车,Avita 11学会自动驾驶停车

    在6月初的重庆车展上,Avita联合华为宣布其ADS高端功能将于6月30日正式上线。 将涵盖 City NCA 和代客泊车辅助 (AVP) 功能,并将向所有用户开放订阅。 收费标准为包月100元、包年100元、永久0元。 近日,深圳粤港澳车展(深圳车展)开幕前夕,爱范儿动汽车俱乐部来到位于华为

    06-21

  • 安徽省文创基金来了,首期近30亿

    安徽省文创基金来了,首期近30亿

    投资界(ID:pedaily)消息,12月9日,省文创基金——安徽文化数字创意产业投资基金(有限合伙) )完成工商注册,正式落户庐阳区“东浦湖创业投资街区”。 该基金经省委、省政府批准设立,由安徽省文化投资运营有限公司、合肥市高质量发展引导基金、亳州市产业投资基金、滁州

    06-18

  • 金山云宣布拟探索香港上市

    金山云宣布拟探索香港上市

    金山云在官网宣布拟探索香港上市。

    06-18

  • 对外投资合作指南(日本)-国家概况

    对外投资合作指南(日本)-国家概况

    简介 在您准备去日本(日本,简称“日本”或“日本”)开展投资合作之前,您了解日本的政治、经济吗?以及社会文化环境和投资环境?当地有哪些规范外商投资的法律法规?投资时应该注意什么?如何与当地政府、居民、媒体和执法部门打交道? 《对外投资合作国别(地区)指南》系

    06-17

  • 滑雪俱乐部获3000万元A轮融资,深创投领投

    滑雪俱乐部获3000万元A轮融资,深创投领投

    据投资界5月23日消息,互联网冰雪公司滑雪俱乐部宣布完成万元A轮融资由深创投领投,梅花创投、新势基金跟投。 滑雪俱乐部创始人大明表示,新一轮资金将主要用于场景升级和物联网加速,为用户提供更多便利。   Skier于今年7月成立。 是滑雪行业垂直媒体平台。 为网友提供全国

    06-18

  • 中国有色金属工业协会副会长王健:一季度有色冶炼及压延加工业利润同比增长4.71倍

    中国有色金属工业协会副会长王健:一季度有色冶炼及压延加工业利润同比增长4.71倍

    中国有色金属工业协会副会长王健在讲话中表示在第十八届上元有色论坛上的讲话称,我国十种有色金属产量首次跃上万吨新台阶,达到万吨,同比增长5.5%。 规模以上有色金属工业企业实现利润2亿元,同比增长19.2%,跃居世界主要经济体之首。 实现正增长做出了行业贡献。

    06-18

  • “清德氢能”获1200万元天使轮融资

    “清德氢能”获1200万元天使轮融资

    据投资界(ID:pedaily)12月20日消息,苏州清德氢能源科技有限公司(以下简称“清德氢能”)完成天使轮融资轮融资1万元。 本轮融资由上海小喵独家投资。 据悉,本轮募集资金主要用于研发液体有机载体储氢及建设固体储氢材料生产线。 清德氢能今年3月在苏州注册。 是一家专注

    06-18