网站大量收购闲置独家精品文档,联系QQ:2885784924

CT107DDS18B20DS1302数码管大集合.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CT107DDS18B20DS1302数码管大集合

#includereg52.h #define rst573 P2=0x1f #define ledY4C P2|=0x80 #define beeY5C P2|=0xa0 #define smgY6C P2|=0xc0 #define smgY7C P2|=0xe0 sbit P04=P0^4; sbit P06=P0^6; sbit P36=P3^6; sbit ww=P1^4;//DS18B20 1wire总线 sbit c1302=P1^7;//SPI时钟 sbit d1302=P2^3;//SPI数据 sbit s1302=P1^3;//SPI使能 高有效 低复位 unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay6us(unsigned char us) { while(us--); } void delaynms(unsigned int ms) { unsigned int x,y; for(x=ms;x;x--) for(y=110;y;y--); } void init107() { rst573; P36=0; //led P0=0xff; ledY4C; rst573; //bee P04=0; P06=0; beeY5C; rst573; //smg P0=0x00; smgY6C; rst573; } void rst18B20() { ww=0; delay6us(100);//480 11+6*100=611 ww=1; delay6us(20);//240 至少为20 } void write18B20(unsigned char temp) { unsigned char i; for(i=8;i;i--) { ww=0; temp=1; ww=CY; delay6us(5); ww=1;//关键的神机!! } } unsigned char read18B20() { unsigned char i,temp; for(i=8;i;i--) { ww=0; temp=1; ww=1;//关键的神机!! if(ww) temp|=0x80; delay6us(5); } return temp; } unsigned int temperature() { unsigned char temp1,temp2; unsigned int temp; rst18B20(); write18B20(0xcc); write18B20(0x44); rst18B20(); write18B20(0xcc); write18B20(0xbe); temp1=read18B20();//低8位 temp2=read18B20();//高8位 temp=temp2; temp=8; temp+=temp1; temp=(unsigned int)(temp*0.625); return temp; } void write1302(unsigned char addr,unsigned char dat) { unsigned char i; s1302=0; c1302=0; s1302=1; for(i=8;i;i--) { addr=1; d1302=CY; c1302=0; c1302=1; } for(i=8;i;i--) { dat=1; d1302=CY; c1302=0; c1302=1; } s1302=0; } unsigned char read1302(unsigned char addr) { unsigned char i,temp; s1302=0; c1302=0; s1302=1; for(i=8;i;i--) { addr=1; d1302=CY; c1302=0; c1302=1; } for(i=8;i;i--) { temp=1; c1302=1; c1302=0; if(d1302) temp|=0x80; } s1302=0; return temp; } void init1302() { write1302(0x8e,0x00); write1302(0x8c,0x11);//年 write1302(0x8a,0x00);//周 write1302(0x88,0x10);//月

文档评论(0)

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

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

1亿VIP精品文档

相关文档