📄 to yao(qq).c
字号:
#include <at89x52.H>
#include "LCD1602.h"
//********
unsigned char i;
sbit ST=P2^4;
sbit OE=P2^5;
sbit EOC=P2^6;
sbit CLK=P2^7;
void t0(void) interrupt 1 using 0
{ CLK=~CLK; }
//***
unsigned char TempBuffer[10];
void IntToStr(unsigned int t, unsigned char *str, unsigned char n)
{
unsigned char a[5]; char i, j;
a[0]=(t/10000)%10; //取得整数值到数组
a[1]=(t/1000)%10;
a[2]=(t/100)%10;
a[3]=(t/10)%10;
a[4]=(t/1)%10;
for(i=0; i<5; i++) //转成ASCII码
a[i]=a[i]+'0';
for(i=0; a[i]=='0' && i<=3; i++);
for(j=5-n; j<i; j++) //填充空格
{ *str=' '; str++; }
for(; i<5; i++)
{ *str=a[i]; str++; } //加入有效的数字
*str='\0';
}
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
unsigned long getdata;
unsigned long temp;
unsigned int n=3;
unsigned char nou=35;
unsigned char nod=20;
main()
{
//************
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x02;
TH0=216;
TL0=216;
TR0=1;
ST=1;
ST=0;//***
// Count = 0;
LCD_Initial();
while(1)
{ //**************
if(EOC==1)
{
OE=1;
getdata=P3;
//getdata=127;
OE=0;
// temp=(getdata-137)*2;
temp=(getdata*100/51-272);
//P2=getdata;
ST=1;
ST=0;
}
if(P1_3==0){Delay1ms(70);if(P1_3==0){ n++;
if(n==4) n=1;}
}
switch(n){
case 1:
IntToStr(nou,&TempBuffer[0],3);
GotoXY(0,0);
Print("Set upper limit");
GotoXY(0,1);
Print(" is: \"C ");
GotoXY(7,1);
Print(&TempBuffer[0]); break;
case 2:
IntToStr(nod,&TempBuffer[0],3);
GotoXY(0,0);
Print("Set lower limit ");
GotoXY(0,1);
Print(" is: \"C ");
GotoXY(7,1);
Print(&TempBuffer[0]); break;
case 3: IntToStr(temp,&TempBuffer[0],3);
GotoXY(0,0);
Print("Now temperature ");
GotoXY(0,1);
Print(" is: \"C ");
GotoXY(7,1);
Print(&TempBuffer[0]);
break;
}
if(P1_1==0){Delay1ms(50);if(P1_1==0){if(n==1&&nou>nod) nou--;
else if(n==2) nod--;}
}
if(P1_0==0){Delay1ms(50);if(P1_0==0){if(n==1) nou++;
else if(n==2&&nod<nou) nod++;}
}
if(nod>temp){P1_5=0;P1_6=1;}
else if(nou<temp){P1_5=1;P1_6=0;}
else {P1_5=0;P1_6=0;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -