- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RS=0、R/W=1、E=1,读状态字。 RS=0、R/W=0、E=1,写入命令。 RS=1、R/W=1、E=1,读取数据。 RS=1、R/W=0,E=1,写入数据。 A15=1 、/RD=0或/WR=0时,E=1。 A9=0、A8=0, 写入命令。 (0XFCFF) A9=0、A8=1, 写入数据。 (0XFDFF) A9=1、A8=0,读状态 。 (0XFEFF) A9=1、A8=1,读数据。 (0XFFFF) 1、总线方式 三 、液晶模块与单片机的连接 液晶模块与单片机的连接可采用总线方式,也可采用模拟I/O口方式。 任务一 用DS18B20设计电子温度计 DS18B20是美国DALLAS公司推出的数字 温度传感器,将温度传感器、数字转换电路 集成到了一起,外形如同一只三极管。 1、微型化、低功耗、高性能、抗干抗性强; 2、它采用独特的单线接口方式,与单片机连接时, 仅需一根口线; 3、每片DS18B20均有唯一的产品序列号,所以允许 在单总线上挂接数十至上百片数字式传感器,这 样可以非常方便地构成多路温度测量系统。 一、认识数字温度传感器 DS18B20的测温范围为-55℃~125℃,12 位温度读数,分辨率为1/16℃,温度转换时 间最多为750ms。 1、DS18B20的引脚功能 DQ:数据输入输出,可直接与单片机的I/O口相连。 VDD:+5V电源电压。 GND:电源地。 GND VDD GND 2、DS18B20的序列号 每片DS18B20均有一个唯一产品序列号,固化在内部的64位激光ROM中,其格式如下: 开始8位是产品的类型编号(工厂代码); 接着是每个器件唯一的序号,共48位; 最后8位是针对前面56位的CRC校验码; 这也是多个DS18B20可以采用一条数据线进行通信的原因,只要单片机用匹配命令即可访问总线上指定的DS18B20。 3、温度暂存器 DS18B20内部有 9个字节的暂存器,开始两个暂存器(TMSB、TLSB)存放当前测到的温度值,以16位补码形式表示12位温度读数,分辨率为1/16℃,高位是温度值的符号扩展。 单片机发出温度转换命令后,DS18B20将测得的温度值保存在TMSB、TLSB中,供单片机读取。 最低四位为小数位 2-4=1/16=0.0625 整数部分16+9=25 求补后为 0000 0001 1001 0001 高四位为符号位 二、读写时序 DS18B20与单片机之间的数据传送是靠严格的时序来实现的: 1、初始化时序 与DS18B20的通信前,首先必须对其初始化。 单片机在t0时刻发出最短为480us的低电平有效的复位脉冲。 在t1时刻释放总线并进入接收状态,DS18B20检测到总线变高后,等15到60us 。 在t2时刻发出低电平有效的存在脉冲响应。 bit reset(void) { bit err; DQ=0; delay15(40); DQ=1; delay15(4); err=DQ; delay15(18); return(err); } //在数据线上产生600us的低电平 //数据线拉高 ,延时60us //读取数据线状态 err=0:复位成功 err=1:复位失败 2、写时序 单片机在t0时刻将总线拉至低电平,从t0时刻开始的15us之内应将要写的数据位送到总线上。 在t0后的15—60us内对总线采样,若为低电平,写入的是0 。 若为高电平,写入的为1。 连续写2位之间的间隙应大于1us 。 void wrbyte(uchar d) { uchar i; dat=d; for(i=8;i0;i--) { DQ=0; delay15(1); DQ=dat0; dat=dat1; delay15(1); DQ=1; } } //循环写8位(先低位,后高位) //产生15us的负脉冲 //将当前数据位送数据线 //将下一位数据移到最低位 //延时15us //数据线拉高,为写入下一位做准备 3、读时序 单片机在t0时刻将总线从高拉至低电平,保持1us。 在t1时刻将总线拉高,释放总线。 将总线拉低发送“0”,并在t2时刻释放总线 。 DS18B20通过保持总线为高发送“1” 。 3、读
您可能关注的文档
最近下载
- NB-T47008-2010承压设备用碳素钢和合金钢锻件.pdf VIP
- 关于XX学校基孔肯雅热防控工作方案(最新版).pdf
- 风电光伏安装施工培训课件课件.pptx VIP
- 富士FFA电梯控制系统使用说明书NW3P电气原理图纸.pdf
- DB50T 867.6-2019 安全生产技术规范 第6部分:黑色金属冶炼企业 .pdf VIP
- 核心素养视域下高中思政课教学目标设计探析.pptx VIP
- 英语课件怎么做.pptx VIP
- 景区标识标牌标识标牌安装方案.docx
- 《钢结构通用规范+GB+55006-2021》详细解读.pdf
- 2024年度省安委会成员单位安全生产工作考核要点和评分标准(2).docx
原创力文档


文档评论(0)