基于18B20、89C52单片机的温度测量报警系统源代码.txt
-
资源ID:18635118
资源大小:2.77KB
全文页数:3页
- 资源格式: TXT
下载积分:12金币
快捷下载
![游客一键下载](https://static.bingdoc.com/images/hot.gif)
账号登录下载
微信登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于18B20、89C52单片机的温度测量报警系统源代码.txt
1、#include#include#define uchar unsigned char#define uint unsigned int typedef unsigned char BYTE;uchar tplsb,tpmsb;uchar TPHH10=00.00 C ; / uint TEM;void LCD_Display(); /sbit DQ = P10; / DQvoid LCD_Display();/*serial()interrupt 4 using 1 SBUF=tplsb; TI=0; */void delayus(uint t) /22.1184,6us for(;t1;t
2、-);/* DS18B20 */void TxReset(void) DQ = 0; / 900us delayus(75);DQ = 1;/ 15 60us delayus(4); /* */void RxWait(void)/while(DQ);/while(!DQ);/ delayus(3);BYTE Read_Byte() BYTE i; BYTE dat = 0; for (i=0; i= 1; DQ = 0; / _nop_(); / _nop_(); DQ = 1; / _nop_(); / _nop_(); if (DQ) dat |= 0x80; / delayus(5);
3、/ return dat;void Write_Byte(BYTE dat) char i; for (i=0; i= 1; / DQ = CY; delayus(5); / DQ = 1; / /* */void convert(void)TxReset(); / 壬DS18B20RxWait(); / DS18B20delayus(50); / Write_Byte(0xcc);/ skip rom Write_Byte(0x44);/ convert T /* */void Read_Temp(void)TxReset(); / 壬DS18B20 RxWait(); / DS18B20d
4、elayus(50); / Write_Byte(0xcc); / skip rom Write_Byte(0xbe);/ read scratchpad tplsb = Read_Byte();/ 4tpmsb = Read_Byte();/ 5if(tpmsb & 0x80) = 0) TEM = (tpmsb * 256 + tplsb) * 0.0625*100; TPHH0=(TEM%10000)/1000+0; TPHH1=(TEM%1000)/100+0; TPHH3=(TEM%100)/10+0; TPHH4=TEM%10+0; /else/TPH = (tpmsb * 256 + tplsb + 1) * 0.0625; void main(void)while(1)delayus(50); convert(); delayus(20000); Read_Temp(); LCD_Display();