⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temp.c

📁 temperature control+rs232 connector
💻 C
字号:

#include <AT89X51.H>

#define WR P1_7
#define INTR  P1_6
#define DB P2
void delayms(unsigned int time);
void ATOD();
void tempcontrol();
unsigned char distmp;
unsigned char st=0;
unsigned char DIS;
unsigned char setmp;
unsigned char rs232set;
unsigned char BUF;
void setp();


code char  table[]={0x67,0x69,0x6C,0x6E,0x70,0x73,0x76,0x78,
					0x7A,0x7D,0x80,0x82,0x85,0x87,0x8A,0x8C,
					0x8E,0x91,0x94,0x96,0x98,0x9B,0x9D,0x9F,
					0xA1,0xA3,0xA5,0xA7,0xA9,0xAB,0xAD,0xAF,
					0xB1,0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,
					0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCD,0xCF,
					0xD1,0xD3,0xD5,0xD7,0xD9,0xDB};
code char  distable[]={0x18,0x19,0x20,0x21,0x22,0x23,0x24,0x25,
						0x26,0x27,0x28,0x29,0x30,0x31,0x32,0x33,
						0x34,0x35,0x36,0x37,0x38,0x39,0x40,0x41,
						0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
						0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
						0x58,0x59,0x60,0x61,0x62,0x63,0x64,0x65,
						0x66,0x67,0x68,0x69,0x70};

main()
{ 
  	 TMOD=0x20;
  	 TH1=230;
  	 TL1=230;
 	 TR1=1;

 	 SCON=0x70;
 	 RI=0;
 	 TI=0;
 	 ES=1;
 	 EA=1;
	 setp();

  while(1)
   {
  	ATOD();
	delayms(1000);
	tempcontrol();

	for (distmp=0;table[distmp]<DB;distmp++);
	P0=distable[distmp];
	BUF=distable[distmp]&0xF0;
	BUF=BUF>>4;
	SBUF=BUF;
	delayms(100);
	BUF=distable[distmp]&0x0F;
	SBUF=BUF;
	delayms(100);
	SBUF='%';
	delayms(100);
   }
}
void tempcontrol()
{
 	if	(setmp>DB)	P3_7==1,P3_6==0,SBUF='H',delayms(100);

 	if	(setmp<DB)	P3_7==0,P3_6==1,SBUF='C',delayms(100);

	if	(setmp=DB)	P3_7==1,P3_6==1,SBUF='N',delayms(100);
}

void scon_int (void) interrupt 4
{
 if(RI==1)
    {
      RI=0;
      rs232set=SBUF;
	}
  else TI=0 ;
}
void delayms(unsigned int time)
{
  unsigned int n;
  while(time>0)
   {
     n=120;
     while(n>0)  n--;
     time--;
   }
}

void ATOD()
{	WR=0;
     WR=1;
	 while(INTR==1);
}
 
void setp()
{	while(P1_5==1)
 	{
	if	(P1_3==0) while(P1_3==0);
	st=st+1;
	P0=distable[st];
	BUF=distable[distmp]&0xF0;
	BUF=BUF>>4;
	SBUF=BUF;
	delayms(100);
	BUF=distable[distmp]&0x0F;
	SBUF=BUF;
	delayms(100);
	SBUF='$';
	delayms(100);
	if	(P1_4==0) while(P1_4==0);
	st=st-1;
	P0=distable[st];
	BUF=distable[distmp]&0xF0;
	BUF=BUF>>4;
	SBUF=BUF;
	delayms(100);
	BUF=distable[distmp]&0x0F;
	SBUF=BUF;
	delayms(100);
	SBUF='$';
	}
	while(P1_5==0);
		setmp=table[st];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -