- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 C51程序设计 -2实例;1-wire总线及应用 ;实例:DS18B20单线温度传感器; DS18B20工作原理;控制器对18b20操作流程
复位:给DS18B20单总线至少480uS的低电平信号。
存在脉冲:复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。
控制器发送ROM指令:ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。(一般只挂接单个18B20芯片时可以跳过ROM指令)
控制器发送存储器操作指令:分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。
执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。;几种时间隙;读时间隙
; 示例程序:;uchar Read_byte(void) //读一字节
{
uchar i=0;
uchar dat = 0;
for (i=8;i0;i--)
{
DQ = 1;
_nop_();_nop_();_nop_();_nop_();
DQ = 0; //从高拉到低,产生读时间隙
_nop_();_nop_(); //至少保持低电平1us
_nop_();_nop_();_nop_();_nop_();
dat=1; //右移一位
DQ = 1; //15us内停止将DQ拉低,15us内数据有效
_nop_();_nop_(); //稍作延时
_nop_();_nop_();
if(DQ) //若高电平 置1
dat|=0x80;
delay(30); //至少保持60us,100us,确保读数据成功
}
DQ = 1; //结束拉高
return(dat);
}
;void Write_byte(uchar dat) //写一个字节
{
uchar i=0;
for (i=8; i0; i--)
{
DQ = 1;
_nop_();_nop_(); //稍作延时
_nop_();_nop_();_nop_();_nop_();
DQ = 0; //拉低DQ开始写
_nop_();_nop_();
_nop_();_nop_(); //15us内释放总线
_nop_();_nop_();_nop_();_nop_();
DQ = dat0x01; //从lsb开始
delay(20); //75us 至少需保持60us写时间隙
dat=1; //右移一位
}
DQ = 1; //结束拉高
delay(4);
} ;
uint Get_Temperature(void) //读温度函数
{
uchar a=0;
uchar b=0;
uint t=0;
Init_DS18B20();
Write_byte(0xCC); //只接一个18b20芯片,skip ROM
Write_byte(0x44); //温度转换
delay(200); //延时600us 等待转换完成,一般转换时间为500us
Init_DS18B20();
Write_byte(0xCC); //skip ROM
Write_byte(0xBE); //从RAM读数据
a=Read_byte(); //先读低位
b=Read_byte(); //再读高位
t=b8;
t=t|a; //t为最后读得的数据
return (t);
};
双向二线制串行通信总线,时钟线SCL, 数据线SDA。
NXP 半导体(原Philips 半导体)于20 多年前发明。
I2C总线是同步串行数据传输总线。
经常使用的带I2C总线通用外围器件有:SRAM、E2PROM、ADC/DAC、RTC、I/O口等。
带I2C总线的外围设备模块有由LED驱动控制器构成的LED显示器,由各种LCD驱动控制器构成的段式、字符点阵、图形点阵液晶显示器等。;I2C 总线的信号线
I2C 总线只需要由两根信号线组成,一根是串行数据线SDA,另一根是串行时钟线SCL,均为为开漏结构,故总线
您可能关注的文档
最近下载
- 义务教育版(2024)四年级全一册第7课《数字编码随处见》.pptx VIP
- 《工程勘察定向钻探技术规程》.pdf VIP
- 多联机空调施工组织设计方案.docx VIP
- 计算机应用基础(Windows10+WPSOffice 2019)中职全套教学课件.pptx
- DELL EMC 存储设备健康检查报告(模板).doc VIP
- 金融知识竞赛题库第四部分中国人民银行法试题及答案.doc VIP
- 2025-2030年中国猪苓中药材行业现状调查及投资前景预测研究报告.docx
- 大疆无人机公司介绍.ppt VIP
- 防酸碱劳保培训课件.pptx VIP
- GBZT 181-2024 建设项目放射性职业病危害评价报告编制标准.pdf VIP
文档评论(0)