单片机数字温度计 第4页
序流程图
5.1 主程序流程图如下
图10 上下限报警程序流程图
6. 附程序
#include<reg52.h>
int code0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x
sbit p30=P3^0;sbit p31=P3^1;sbit p32=P3^2;
void delay(int k)
{while(k--);
}
void display(unsigned char n1,n2,n3,n4)
{int i;for(i=5;i>0;i--)
{ P1=code0[0];
P2=0x01;delay(5);P1=code0[n1];delay(500);
P2=0x02;delay(5);P1=code0[n2];delay(500);
P2=0x04;delay(5);P1=code0[n3];delay(500);
P2=0x08;delay(5);P1=code0[n4];delay(500);
P2=0;}
}
main()
{unsigned char n1=0,n2,n3,n4;
int s=0;
for(;;)
{P2=0;P3=0;P3=0x80;delay(10);P3=0x40;s=P0;s=s-60;
if(s>0) {n4=11;n1=s/100;n2=s%100/10;n3=s%10;display(n1,n2,n3,n4);if(s>110) {p31=0;p30=1;delay(1000);}
}
if(s<0)
{s=-s;
n2=s/10;n3=s%10;n4=11;n1=10;
display(n1,n2,n3,n4);if(s>50){p30=0; p31=1;delay(1000);}}
}
}