基于51单片机的18b20温度报警器仿真1

基于51单片机的18b20温度报警器仿真1

ID:43089990

大小:167.51 KB

页数:9页

时间:2019-09-25

基于51单片机的18b20温度报警器仿真1_第1页
基于51单片机的18b20温度报警器仿真1_第2页
基于51单片机的18b20温度报警器仿真1_第3页
基于51单片机的18b20温度报警器仿真1_第4页
基于51单片机的18b20温度报警器仿真1_第5页
资源描述:

《基于51单片机的18b20温度报警器仿真1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广州白云技师学院电子系技师班单片机课程项目化教学系列18B20温度报警器仿真设计廖高灵功能:通过采集18B20温度数据产生报警。K1:查询报警记录的时间K2:设置报警温度上限K3:设置报警温度下限一、仿真图:二、程序代码/************************************18b20.h******************************/#include#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1^0;ucharnum1,num2,num3,num4;uchara,b,c,d,

2、e;uinttt;/************************延时**************************************/voidDelay_1(intnum){while(num--);//当晶振为11.0592MHZ,num=10时,延时时间约为70us}/*****************************1820init*****************************/voidinit_ds18b20(){unsignedcharx=0;DQ=1;Delay_1(8);DQ=0;Delay_1(80);DQ=1;Delay_1(14);w

3、hile(!DQ);Delay_1(60);}/*********************读字节*****************************************/ucharread_byte(){uchari;uchardat;for(i=0;i<8;i++){dat=dat>>1;//右移一位,准备位置存放数据DQ=0;Delay_1(1);DQ=1;//设置引脚为输入if(DQ)dat

4、=0x80;DQ=1;Delay_1(8);}return(dat);}/***********************写字节*****************************

5、*********/voidwrite_byte(uchardat){uchari;for(i=0;i<8;i++){DQ=0;Delay_1(1);DQ=dat&0x01;Delay_1(9);DQ=1;Delay_1(1);dat>>=1;}}/*************************读温度*************************************/voidReadTemperature(){uinti;init_ds18b20();write_byte(0xcc);write_byte(0x44);/**/for(i=0;i<200;i++){Delay_1

6、(450);}init_ds18b20();write_byte(0xcc);write_byte(0xbe);a=read_byte();//LSBb=read_byte();//MSBnum1=a&0x0f;//读取小数位num2=a&0xf0;//读取整数num2=num2>>4;num3=b&0x07;num3=num3<<4;num2=num2+num3;num4=b&0xf8;////读取正负/**/if(num4==0xf8)//判断正负{if(flag==0){Disp_Buff[7]=0x01;Write7219();}num1=~num1;num1=num1&0x0f;

7、num1=num1+1;num2=~num2;num2=num2&0x7f;num3=~num3&0xf7;}elseif(flag==0){Disp_Buff[7]=0x00;Write7219();}tt=num1*625;tt=tt/100;d=tt/10;e=tt%10;a=num2/100;b=num2%100/10;c=num2%10;if(flag==0){Disp_Buff[2]=table3[d];Write7219();Disp_Buff[1]=table3[e];Write7219();}if(a==0){if(flag==0){Disp_Buff[6]=0x00;W

8、rite7219();}if(b==0){if(flag==0){Disp_Buff[5]=0x00;Write7219();}}elseif(flag==0){Disp_Buff[5]=table3[b];Write7219();}}elseif(flag==0){Disp_Buff[6]=table3[a];Write7219();}if(flag==0){Disp_Buff[4]=table3[c];Write72

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。