孵化箱总程序(国外英语资料).doc

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

孵化箱总程序(国外英语资料) #包括 reg51. H #包括信息。” #定义unsigned char函数 # unsigned int定义单元 函数二,分钟,小时; 函数= 0; 普通FS = P3 ^ 4; P3 ^了DQ = 0;//定义通信端口 公司ZS = P1 ^ 0; 普通蜂鸣器= P1 ^ 1; 函数代码ledtab [ ] = { 0x3F,0x06,0x5b,0x4f,0x66,0x6d,7d,0x07,0x7f,0x6f,0x77 }; / /延时函数 字符表[ ] = { 0x3F,0x06,0x5b,0x4f、0x66, 0x6d,7d,0x07,0x7f,0x6f, 0x40,0x00 }; / /共阴数码管0-9’” 无符号字符表[ ] = { 0xBF 0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef, 0xc0,0x80 };//带小数点的共阴数码管 signed char商= 40;//上限报警温度,默认值为38 无符号int = 0; unsigned char tflag; 无符号整型温度; 无符号char = 0; unsigned char数据disdata [ 4 ]; 无效() { TMOD = 1;// 0x00 0xff TH0 =; TL0 = 0x0f; ET0 = 1;//定时器0中断允许位 tr0 = 1;//定时器0运行控制位 电针= 1; } delay2(void函数T) { 我的函数; 为(0;t) 对于(I = 124;i 0;i); } 无效的极限(unsigned int数) { 无符号整型; 而(计数) { 我= 150; 虽然(0) 我--; 计数—; } } 无效延迟(无符号I) { 而(我-); } 无效display() { P2 = 0xf7; P0 = ledtab [分钟] % 10; (10)delay2; P2 = 0xfb; P0 = ledtab [分钟] / 10; (10)delay2; P2 = 0xfd; P0 = ledtab [ 10 ]小时%; (10)delay2; P2 = 0xfe; P0 = ledtab [小时/ 10 ]; (10)delay2; } / /初始化函数 init_ds18b20(void) { DQ = 1;// DQ复位 _nop_();/ /稍做延时 DQ = 0;//单片机将DQ拉低 延迟(80);//精确延时大于480us DQ = 1;//拉高总线 延迟(5); / /稍做延时后如果x = 0则初始化成功x =“1则初始化失败” 延迟(20); } / /读一个字节 readonechar(void) { 无符号字符i = 0; 无符号char = 0; 对于(I = 8;i 0;i) { DQ = 0;//给脉冲信号 _nop_(); = 1; DQ = 1;//给脉冲信号 _nop_(); _nop_(); 如果(DQ) 这| = 0x80; 延迟(20); } 返回(DAT); } / /写一个字节 writeonechar(unsigned char dat) { 无符号字符i = 0,j; 对于(J = 8;j 0;j) { 我= DAT和0x01; 数据(= 1); 如果(我= = 0x01) { DQ = 0;//拉低总线2微秒后释放,写逻辑1; _nop_(); _nop_(); DQ = 1; } 其他的 { DQ = 0;//拉低总线60微秒以上,写逻辑0; 延迟(20); DQ = 1; } 延迟(20); } } / /读取温度 读出温度(void) { 无符号char = 0; 无符号char = 0; init_ds18b20(); writeonechar(0xcc);/ /跳过读序号列号的操作发送指令0xcc writeonechar(0x44);/ /启动温度转换发送指令0x44 极限(2); init_ds18b20(); writeonechar(0xcc);/ /跳过读序号列号的操作 writeonechar(0xbe);/ /读取温度寄存器等(共可读9个寄存器)前两个就是温度发送指令0xbe a readonechar();/ /读取温度值低位 B = readonechar();/ /读取温度值高位 乙型肝炎; T = 8; / / =一 4;/ /低位右移4位,舍弃小数部分 / / T = B<<4;/ /高位左移4位,舍弃符号位 T=t|a; With high and low numerical / / If (t0xfff) Tflag=1; Else { Tflag=0; T=

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档