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

📄 disp.c

📁 电压瞬时检测
💻 C
字号:
////////////////////////////////////////////////////
/*         disp.c             */
///////////////////////////////////////////////////
#include "REG51STC.H"
#include <ABSACC.H>
#include "oven.h"
#include "citation.h"
/////////////////////////////////////////////////////

/****************************************************
*   功能:动态扫描
*****************************************************/
/*void disp(void)
{  
	uchar  j,dotnum;
	P2 |=0x07;   //0x38;    //关显示
   if(state!=9)
  	{
		if(!light) {if((state==1 || state==2) && (kmok && timerov && !fanner_fail))led_pow=1;}
		else  led_pow=0;
	}
	j=led[disp_bit];
	if(disp_bit==dotbit)dotnum=0x08;  //小数点
	else dotnum=0x00;
	if(disp_bit==4) SBUF=j;
	else	SBUF=leddata[j]-dotnum;	
	delay(1);
	P2 &=tabbit[disp_bit]; //打开相应位
   disp_bit++;
	if (disp_bit==5) disp_bit=0;

}*/
/****************************************************
*   功能:静态显示
*****************************************************/
void disp(void)
{  uchar i,j;
	if(state!=9)
  	{
	   if(!light) {if((state==1 || state==2) && (kmok && timerov && !fanner_fail))led_pow=1;}
		else  led_pow=0;
	}
	//led_pow=0;
	//led_set=1;
	XC=1;
   for(i=0;i<5;i++)
	{  
		if(i==0) bbyte=led[4];
		else 
		{
			bbyte=leddata[led[4-i]];
			if(i==4-dotbit)bbyte+=0x80;
		}
		for(j=0;j<8;j++)
		{  XB=a7;
		   bbyte<<=1;
			delay(1);
			XA=0;
			delay(1);
			XA=1;
		}
	}
	XA=0;XB=0;XC=0;
}
/*********************************
*  功能:显示温湿度数据
*********************************/
void  disp_u(uint u)
{  
	uchar  m,i;
	for(i=0;i<4;i++)
	{
		m=u%10;led[3-i]=m;u/=10;		
	}   
}
/*********************************
*  功能:显示时间数据
*********************************/
void disp_time(void)
{  uint x;
   
   switch(state)
   {
   	case 0:
			led[0]=0;led[1]=0;led[2]=0;led[3]=0;dotbit=5;
			led[4]=0xbf;
			heat_ok=0;
			RLY1=1;RLY2=1;   //RLY3=1;
			OUTOM1=1;
			OUTOM2=1;
			break;
   	case 1:
		   dotbit=1;
			led[0]=0x0a;
			x=work_time;  //烘干计时,精度1s
			led[1]=x/3600;x%=3600;
			led[2]=x/600;x%=600;
			led[3]=x/60;
			break;
		case 2:
			dotbit=1;
			led[0]=0x0b;
			x=count_down+59;  //消毒倒计时,精度1s
			led[1]=x/3600;x%=3600;
			led[2]=x/600;x%=600;
			led[3]=x/60;
			break;
		default:   
			break;
   }
}
/*********************************
*  功能:显示温湿度数据
*********************************/
void  disp_setb1(void)
{  
	uchar  m,i;
	uchar u;
	u=dynamo*5;
	if(u==0 || u>100) {u=100;dynamo=20;}
	for(i=0;i<4;i++)
	{
		m=u%10;led[3-i]=m;u/=10;		
	}
    led[0]=menu;
	dotbit=1;
}

⌨️ 快捷键说明

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