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

📄 6.c

📁 用可调电阻调节电压值作为模拟温度的输入量
💻 C
字号:
#include<AY89X51.H>
sbit L1=P1^0;

void delay02s(void)
{
  unsigned char i,j,k;
  while(1)
    {
	  if((lowflag==1)&&(highflag==0))
	    {
		  LED1=1;
		  LED2=0;
		}
	  else if((highflag==1)&&(lowflag==0))
	    {
		  LED1=0;
		  LED2=1;
		}
	  else
	    {
		  LED1=1;
		  LED2=1;
		}
	}
}

void t0(void) interrupt 1 using 0
{
  CLK=~CLK;
}

void t1(void) interrupt 3 using 0
{
  TH1=(65535-500)/256;
  TL1=(65535-500)%256;

    if(EOC==1)
	  {
	    OE=1;
		getdata=P0;
		OE=0;
        temp=detdata*25;
		temp=temp/64;
		i=6;
		dispbuf[0]=10;
		dispbuf[1]=10;
		dispbuf[2]=10;
		dispbuf[3]=10;
		dispbuf[4]=10;
		dispbuf[5]=10;
		dispbuf[6]=0;
		dispbuf[7]=0;
	  while(temp/10)
	    {
		  dispbuf[i]=temp%10;
		  temp=temp/10;
		  i++;
		}
	 dispbuf[i]=temp;
	  if(getdata<77)
	    {
		  lowflag=1;
		  highflag=0;
		}
	   else if(getdata>153)
	     {
		   lowflag=0;
		   highflag=1;
		 }
	   else
	     {
		   lowflag=0;
		   highflag=0;
		 }
	  ST=1;
	  ST=0;
	  }
	P1=dispcode[dispbuf[dispcount]];
	P2=dispbitcode[dispcount];
	dispcount++;
	if(dispcount==8)
	  {
	    dispcount=0;
	  }

	if((lowflag==1)&&(highflag==0))
	  {
	     cnta++;
		 if(cnta==800)
		   {
		     cnta=0;
			 alarmflag=~alarmflag;
		   }
		 if(alarmflag==1)
		   {
		     SPK=~SPK;
		   }
	  }
	else if((lowflag==0)&(highflag==1))
	  {
	    cntb++;
		if(cntb==400)
		  {
		    cntb=0;
			alarmflag=~alarmflag;
		  }
		if(alarmflag==1)
		  {
		    SPK=~SPK;
		  }
	  }
	  else
	    {
		  alarmflag=0;
		  cnta=0;
		  cntb=0;
		}
}

⌨️ 快捷键说明

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