18B20温度加ds1302时钟数码管显示,三按钮控制设置.docVIP

18B20温度加ds1302时钟数码管显示,三按钮控制设置.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
18B20温度加ds1302时钟数码管显示,三按钮控制设置

18B20温度加ds1302时钟数码管显示,三按钮控制设置 #includereg52.h #includeintrins.h//循环移位 头文件(这里可不需要) #define uchar unsigned char//宏定义 sbit out=P3^7;//18b20 sbit clk=P3^6;//1302 sbit rst=P3^5;//1302 sbit io=P3^4;//1302 sbit sb1=P1^0;//设置键定义IO sbit sb2=P1^1;//时间加定义IO sbit sb3=P1^2;//时间减定义IO bit fuwendu;//负温度标志位 unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xc6}; unsigned char shijianf,shijians,shijiany,shijianr; char wend; uchar shijian[7]={0x12,0x12,0x12,0x12,0x12,0x03,0x12}; bit u1=0; uchar shezhi=0;//时间设置 uchar x1,x2,x3,x4,x5;//时间控制变量 bit bit1=0,bit2,bit3,bit4;//位变量 unsigned char abc=0;//显示自动切换 void delay(unsigned int pq)//延时子程序1 { unsigned int x; unsigned char u; for(x=0;xpq;x++) { for(u=0;u110;u++); } } void delay_us(unsigned char px)//延时子程序 。供18B20 使用 { do { _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); _nop_(); px--; }while(px); } void shuma(unsigned char i,unsigned char j)//数码管显示,i为段码,j为位码 { if((j==0xbf)(u1==0)(abc!=2)(shezhi==0)) P0=~led[i]0x7f;//小数点闪烁指示部分~号为取反指令,通过修改可更换为共阴极数码管使用 else P0=~led[i];//~号为取反指令,通过修改可更换为共阴极数码管使用 P2=j; delay(3);//数码管亮度修改,参数大了影响按键(1--6适合) P2=0xff; } void wdxiesj(unsigned char wp)//18b20写指令 { unsigned char x; for(x=0;x8;x++) { out=0; delay_us(1); out=wp0x01; delay_us(5); out=1; wp=wp1; } delay_us(3); } unsigned char wddsj()//18b20读数据 { unsigned char x,sj=0x00; for(x=0;x8;x++) { out=1; _nop_(); out=0; _nop_();_nop_(); sj=sj1; out=1; delay_us(1); if(out==1) sj=sj|0x80; delay_us(3); } return(sj); } void fuwei()//18b20读忙通讯 { do { out=1; delay_us(1); out=0; delay_us(33); out=1; delay_us(3); }while(out==1); delay_us(50); } void wendu()//温度读取时序 { unsigned char x,y,w,e,r; fuwei(); wdxiesj(0xcc); wdxiesj(0x44); delay(1); fuwei(); wdxiesj(0xcc); wdxiesj(0xbe); w=wddsj();//温度高四位, e=wddsj();//温度低四位 fuwei(); x=e0xf0;//温度正负 y=(w4)0x0f; r=(e4)0xf0; wend=y|r;//温度 if(x==0x00) fuwendu=0;//温度正负判断 正温度; else fuwendu=1;//温度正负判断 负温度。 } void

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档