18b20温度加ds1302时钟数码管显示,三按钮控制设置(18b20 temperature plus DS1302 clock, digital display, three button control settings).docVIP

18b20温度加ds1302时钟数码管显示,三按钮控制设置(18b20 temperature plus DS1302 clock, digital display, three button control settings).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 temperature plus DS1302 clock, digital display, three button control settings)

18b20温度加ds1302时钟数码管显示,三按钮控制设置(18b20 temperature plus DS1302 clock, digital display, three button control settings) #包括 reg52。” #包括信息。H /循环移位头文件(这里可不需要) #定义unsigned char函数/宏定义 公司^ = P3 7;// 18B20 P3 ^普通时钟= 6;// 1302 P3 ^了RST = 5;// 1302 P3 ^普通IO = 4;// 1302 P1 ^了SB1 = 0;//设置键定义IO P1 ^了SB2 = 1;//时间加定义IO 普通SB3 = P1 ^ 2;/ /时间减定义IO 点fuwendu;/ /负温度标志位 unsigned char LED [ ] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xc6 }; unsigned char shijianf,shijians,shijiany,shijianr; 字符行; 函数等[ 7 ] = { 0x12,0x12,0x12,0x12,0x12,0x03,0x12 }; 位U1 = 0; 函数设置= 0;//时间设置 X1 X2、X3的函数,,X4,X5;/ /时间控制变量 位元组,Bit1 = 0,位,位/位变量; unsigned char ABC = 0;//显示自动切换 延时(unsigned int延时子程序PQ)/ / 1 { 无符号整型数; 无符号字符; 对于(x = 0;x;PQ;x + +) { 对于(u=0;u<110;u +); } } 无效delay_us(unsigned char PX)/延时子程序供18B20使用。 { 做 { _nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); _nop_(); PX—; }(PX); } 无效SHUMA(unsigned char,unsigned char J)/数码管显示,我为段码,J为位码 { 如果((J = = 0xbf)(U1 = = 0)(ABC!= 2)(社址= = 0))P0 = ~为首的[我] 0x7F;/ /小数点闪烁指示部分”~”号为取反指令,通过修改可更换为共阴极数码管使用 其他公司~ P0 = [我];//”~”号为取反指令,通过修改可更换为共阴极数码管使用 P2 = j; 延迟(3);//数码管亮度修改,参数大了影响按键(1——6适合) P2 = 0xff; } 无效wdxiesj(unsigned char WP)/ 18B20写指令 { 无符号字符; 对于(x=0;x<8;x + ++) { 输出= 0; (1)delay_us; = WP和0x01; (5)delay_us; 输出= 1; 1; } (3)delay_us; } unsigned char wddsj() / 18B20读数据 { 无符号字符x,SJ = 0x00; 对于(x=0;x<8;x + ++) { 输出= 1; _nop_(); 输出= 0; _nop_();_nop_(); SJ = SJ 1; 输出= 1; (1)delay_us; 如果(out=1) SJ = SJ | 0x80; (3)delay_us; } 回归(SJ); } 无效fuwei() / 18B20读忙通讯 { 做 { 输出= 1; (1)delay_us; 输出= 0; (33)delay_us; 输出= 1; (3)delay_us; }(out=1); (50)delay_us; } 无效wendu() /温度读取时序 { 无符号字符x,y,w,e,r; fuwei(); wdxiesj(0xcc); wdxiesj(0x44); 延迟(1); fuwei(); wdxiesj(0xcc); wdxiesj(0xbe); W = wddsj();/ /温度高四位, E = wddsj();/ /温度低四位 fuwei(); X = E /温度正负0xf0; Y =(W 4) 0x0f; R =(E<<4)和0xf0; 我们| R = Y /温度; 如果(X = = 0x00)fuwendu = 0;//温度正负判断正温度; 其他fuwendu = 1;//温度正负判断负温度。 } 无效write_1302(UCHAR COM1)/ / 1302写指令 { 我的函数; 时钟= 0; RST = 1; 对于(i = 0;i 8;i +) { IO = COM1和0x01; COM1端口COM1 1 =; 时钟= 1

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档