单片机温度测量系统设计.docVIP

  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文档。上传文档
查看更多
单片机温度测量系统设计

桂 林 电 子 科 技 大 学 微 机 单 片 机 接 口 设 计 报 告 指导老师: 吴 兆 华 学 生: 杨 运 泽 学 号: 092011113 桂林电子科技大学机电工程学院 《微机综合设计》设计报告 一、设计题目……………………………………………………………………1 二、设计内容与要求……………………………………………………………1 三、设计目的意义………………………………………………………………1 四、系统硬件电路图……………………………………………………………1 五、程序流程图与源程序………………………………………………………2 5.1 程序流程图……………………………………………………………2 5.2 源程序…………………………………………………………………3 六、系统功能分析与说明………………………………………………………3 6.1 总体功能实现说明……………………………………………………3 6.2 元器件的选择及功能介绍……………………………………………3 6.2.1 元器件的选择…………………………………………………3 6.2.2 元器件的功能介绍……………………………………………4 七、设计体会……………………………………………………………………8 八、参考文献……………………………………………………………………9 《温度测量系统》设计报告 一、设计题目 温度测量系统设计 二、设计内容与要求 用AT89S51单片机控制 图1:电路原理图 (2) PCB图如下: 图2:PCB图 五、程序流程图与源程序 5.1 程序流程图 图3:程序流程图 5.2 源程序 #include reg51.h // 引用标准库的头文件 #include absacc.h #include stdio.h #include math.h #define uchar unsigned char #define uint unsigned int uchar tplsb,tpmsb; // 温度值低位、高位字节 sbit DQ = P3^5; // 数据通信线DQ unsigned char TZ=0; // 转换后的温度值整数部分 unsigned char TX=0; // 转换后的温度值小数部分 unsigned int wd; // 转换后的温度值BCD码形式 unsigned char shi; // 整数十位 unsigned char ge; // 整数个位 unsigned char shifen; // 十分位 unsigned char baifen; // 百分位 uchar code table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar code tabled[]= {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1}; uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7}; void delay(uint t) { uint i; while(t--) { for (i=0;i125;i++) } } /* 产生复位脉冲初始化DS18B20 */ void TxReset(void) { uint i; DQ = 0; /* 拉低约900us */ i = 100; while (i0) i--; DQ = 1; // 产生上升沿 i = 4; while (i0) i--; } /* 等待应答脉冲 */ void RxWait(void) { uint i; while(DQ); while(~DQ); // 检测到应答脉冲 i = 4; while (i0) i--; } /* 读取数据的一位,满足读时隙要求 */ bit RdBit(void) { uint i;//i应该有初值 bit b; DQ = 0; i++; DQ = 1; i++;i++; // 延时15us以上,读时隙下降沿后15us,DS18B20输出数据才有效 b = DQ; i = 8; w

文档评论(0)

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

1亿VIP精品文档

相关文档