



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录二:18b20 C程序/将DQ与Vcc之间接入4.7K上拉电阻#include reg52.h#include INTRINS.H#include 1602.c#define uchar unsigned char#define uint unsigned int/#define CLEARSCREEN LCD_en_command(0x01) 1602清屏sbit DQ=P10;/*操作命令代码 跳过ROM 0xCC 发送温度转换 0xBE 写EEPROM 0x4E*/ /低层驱动子程序/void Init18B20(void); /初始化void Write18B20(uchar ch);/写数据unsigned char Read18B20(void);/读数据 void Delay15(uchar n); void Delay10ms(uint delay_num);void Display(void);/ code uchar decimalH=00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93;code uchar decimalL=00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75;uint ResultTemperatureH ,ResultTemperatureLH,ResultTemperatureLL;/整数,小数高位,小数低位uint ResultSignal;/符号位main() uint TemH,TemL,delay,k=0; for(; ; ) Init18B20(); Write18B20(0xCC);/跳过ROM _nop_(); /Write18B20(0x4E);/写EEPROM / Write18B20(0x00);/Th /Write18B20(0x00);/Tl Write18B20(0x7f);/12 bits温度分辨率 Init18B20(); Write18B20(0xCC);/跳过ROM _nop_(); Write18B20(0x44);/发送温度转换指令 Delay10ms(25); Delay10ms(25); Delay10ms(25); Delay10ms(25);/等待1s转换 Init18B20(); Write18B20(0xCC);/跳过ROM Write18B20(0xBE);/发送温度转换指令 TemL=Read18B20(); /读低位温度值 TemH=Read18B20(); /读高位温度值 Delay10ms(2); TemH=(TemH4); TemL=TemL&0x0f; /取低4位 if(TemH&0x80) TemH=TemH; TemL=TemL+1; ResultSignal=1; /负 else ResultSignal=0; /正 ResultTemperatureLH=decimalHTemL; ResultTemperatureLL=decimalLTemL; ResultTemperatureH=TemH; Display(); for(delay=0;delay60000;delay+); for(delay=0;delay20000;delay+); void Display(void) uint i,j,q; LCD_init(); CLEARSCREEN; LCD_en_command(0x01); delay_nms(2); q=ResultTemperatureH/100; i=(ResultTemperatureH%100)/10; j=ResultTemperatureH-(i*10+q*100); LCD_write_string(0,LINE1, Jaq1217 18B20 );if(ResultSignal) LCD_write_string(0,LINE2, T is:- . ); else LCD_write_string(0,LINE2, T is:+ . ); LCD_write_char(0x07,LINE2,q|0x30); LCD_write_char(0x08,LINE2,i|0x30); LCD_write_char(0x09,LINE2,j|0x30); LCD_write_char(0x0b,LINE2,(ResultTemperatureLH/10)|0x30);LCD_write_char(0x0c,LINE2,(ResultTemperatureLH%10)|0x30);LCD_write_char(0x0d,LINE2,(ResultTemperatureLL/10)|0x30);LCD_write_char(0x0e,LINE2,(ResultTemperatureLL%10)|0x30); unsigned char Read18B20(void) unsigned char ch; unsigned char q ; for(q=0;q1; DQ=0; _nop_(); DQ=1; _nop_();_nop_();_nop_();_nop_(); if(DQ=1) ch=ch|0x80; else ch=ch&0x7f; Delay15(3); DQ=1; return (ch); void Write18B20(uchar ch) uchar i; for(i=0;i1; _nop_(); void Init18B20(void) DQ=0; Delay15(33);/至少延时480us DQ=1; Delay15(10);/至少延时100us /*if(DQ=1) return 0; /初始化失败 else return 1;DQ=1; Delay15(18); */ void Delay15(uchar n) do _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省绥江县2025年上半年事业单位公开遴选试题含答案分析
- 河北省宣化县2025年上半年事业单位公开遴选试题含答案分析
- 河北省涉县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省满城县2025年上半年事业单位公开遴选试题含答案分析
- 河北省海兴县2025年上半年公开招聘城市协管员试题含答案分析
- 2025年文化广场场地租赁合同范本
- 2025版电子商务平台商标转让合同示范文本
- 2025版家具维修与专利技术合作合同下载
- 2025年度基础设施建设项目施工合作协议书
- 2025年度高科技产业园水电设施建设合同范本
- 近几年大学英语四级词汇表(完整珍藏版)
- 儿科护理学教学案
- 盐酸罂粟碱在腰背痛治疗中的应用
- 一年级硬笔书法教学计划
- 静电安全在纸浆与造纸行业中的应用
- 培养团队协调能力
- 汤小丹《计算机操作系统》官方课件 第四版
- 走近昆曲《牡丹亭》
- 3D打印混凝土材料性能试验方法
- 装饰色彩课件
- XX学校学校集体备课实施方案细则、方案、计划、制度、总结(全套资料)
评论
0/150
提交评论