当前位置:首页 > 基于51单片机及DS18B20温度传感器的数字温度计设计
基于51单片机及DS18b20温度传感器的数字温度计设计
if(s1==1) selsct_1(f_max,max);//若s1=1则显示第二个数码管(s1标志位用于上下限查看时的 } if(a==2) {
if(s==0) selsct_1(f_min,min); else P0=temperature3[0]; if(s1==1) selsct_1(f_min,min); }
//选通第三个数码管
wei1=0; wei3=0; wei4=0; wei2=1; break;
if(a==0){P0=temperature2[t];}//若a=0则在第三个数码管上显示测量温度的个位 if(a==1) {
if(s==0) selsct_2(f_max,max);//若s=0则显示第三个数码管,否则不显示 } if(a==2) {
if(s==0) selsct_2(f_min,min);
else P0=temperature3[0]; if(s1==1) selsct_2(f_min,min);
//若a=2则在第三个数码管上显示下限报警温度的十位或‘-’
else P0=temperature3[0];
if(s1==1) selsct_2(f_max,max);//若s1=1则显示第三个数码管
//若a=1则在第三个数码管上显示上限报警温度的十位或‘-’
//若a=2则在第二个数码管上显示下限报警温度的百位或‘-’
显示)
case 2:
}
wei1=0; wei2=0; wei4=0; wei3=1; break;
//选通第四个数码管
//若a=1则在第四个数码管上显示上限报警温度的个位
if(a==0){P0=temperature1[t_d];}//若a=0则在第四个数码管上显示测量温度的小数位 if(a==1) {
if(s==0) P0=temperature1[max];//若s=0则显示第四个数码管,否则不显示 } if(a==2) {
if(s==0) P0=temperature1[min];
else P0=temperature3[0];
if(s1==1) P0=temperature1[min];
//若a=2则在第四个数码管上显示下限报警温度的个位
else P0=temperature3[0];
if(s1==1) P0=temperature1[max];//若s1=1则显示第四个数码管
case 3:
- 30 -
基于51单片机及DS18b20温度传感器的数字温度计设计
}
}
wei3=0; wei4=1; break;
wei1=0; wei2=0;
}
display_delay(3); //每个数码管显示3ms左右 }
/****************************开机显示函数******************************/ void display1(uint z) {
uchar i,j; bit f=0; for(i=0;i for(j=0;j<4;j++) { switch(j) } { case 0:P0=temperature3[2];//第一个数码管显示 wei2=0; wei3=0; wei4=0; wei1=1; break; case 1:P0=temperature3[2];//第二个数码管显示 wei1=0; wei3=0; wei4=0; wei2=1; break; case 2:P0=temperature3[2];//第三个数码管显示 wei1=0; wei2=0; wei4=0; wei3=1; break; case 3:P0=temperature3[2];//第四个数码管显示 wei1=0; wei2=0; wei3=0; wei4=1; break; //依次从左至右显示‘-’ //‘z’是显示遍数的设定 //用于开机动画的显示 } display_delay(200); //每个数码管显示200ms左右 } - 31 - 附2 系统原理图 基于51单片机及DS18b20温度传感器的数字温度计设计 - 32 -
共分享92篇相关文档