基于51单片机的天气温度报警系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机的天气温度报警系统
基于AT89C51 的天气温度报警系统,采用Protues 仿真。

元件:
DS1302 时钟芯片
DS18B20 温度传感器
LM016L(1602)液晶
AT89C51 单片机
LED 灯若干
蜂鸣器一只用于报警本人不写这个报警程序了其实挺简单的
我只贴出部分主要的代码
完整源代码请到:blog.sina/u/2311964960(内附图片)
或直接下载:LSD.c (7.4 KB, 下载次数: 72)
/*初始化DS18B20*/
void Init_DS18B20(){ //初始化DS18B20 必须先给DS18B20 一个复位脉冲,
接收到复位脉冲后DS18B20 会返回一个存在脉冲DQ=1; //DQ 先置高电平
_nop_(); //延时_nop_();DQ=0; //DQ 置低电平(拉低总线),开始初始化delayus(60); //DQ 置低电平后必须延时至少480us,此处延时600usDQ=1; //然后DQ 置高电平(释放总线)delayus(3); //释放总线后要求延时15-60us,此处延
时30usflag=DQ; //读取DQ 并付值flag,如果flag 为0,表示返回了一个存在脉冲,初始化完成。

相反失败delayus(20);}
/*读取DS18B20 中的scrathpad 一个字节*/uchar read_scratchpad(){uchar i=0;for (i=8;i>0;i--){ DQ=1; //DQ 位拉高_nop_(); //延时1us 秒DQ = 0; // DQ 置
0 拉低总线dat>>=1; //左移一位delayus(1); //延时1us-15us,此处延时10us DQ。

相关文档
最新文档