AT89S52和DS18B20数字温度传感器测试结束.pdf

AT89S52和DS18B20数字温度传感器测试结束.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AT89S52与 DS18B20数字温度传感器测试 结束 /************************************************ *********************** * 采用四位共阴极数码管琒 R42056K,P1 口接数码管段码。 P0.0 接第一位 * P0.1 接第二位, p0.2 接第三位, p0.3 接第四位。 * 单片机 AR89S52,晶振 7.3728M * DS18B20 接 P2.0 。 * ************************************************* **********************/ #include #include #define uchar unsigned char #define uint unsigned int /************************************************ *********************** * DS18B20 数据口 DQ * 共阴极数码管 * 共阴极数码管带小数点 ************************************************* **********************/ //#define DQ RC1 //#define DQ_HIGH() TRISC1=1 //#define DQ_LOW() TRISC1=0;DQ=0 //__CONFIG(0x3B31); sbit DQ=P2^0; //const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, // 0x07,0x7f,0x6f}; unsigned char code table[]={// 共阴极 0~f 数码管编码 0x3f,0x06,0x5b,0x4f, //0~3 0x66,0x6d,0x7d,0x07, //4~7 0x7f,0x6f,0x77,0x7c, //8~b 0x39,0x5e,0x79,0x71 //c~f }; //const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, // 0x87,0xff,0xef}; const uchar table1[]={ 0xbf,0x86,0xdb,0xcf,//0-3 0xe6,0xed,0xfd,0x87,//4-7 0xff,0xef//8-9 }; uint temper;// 温度值缓存 uchar a1,a2,a3,a4;// 数码管每个位上显示的数字 uchar time=0;// 延时缓存 uchar TH; // 判断负值 void delay(uint x); void delayus(uint,uchar); void init();// 初始化 void disp(uchar num1,uchar num2,uchar num3,uchar num4);// 正值显示 void disp1(uchar num1,uchar num2,uchar num3);// 负 值显示 void write_byte(uchar date); void delayms(uchar i); // 误差 -0.651041666667us uchar read_byte(); void get_tem();// 获取温度 void delay20us(); void delay30us(); void delay45us(); void delay70us(); void delay750us(); void delay500us(); void InitTimer0(void); void delay20us(void) // 误差 -0.46875us { unsigne

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档