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

📄 led.h

📁 基于单片机的短信报警机
💻 H
字号:
//灯控制
#define RBIT 4
#define GBIT 5
#define RED_LED SET_BIT(PORTD,RBIT)
#define GREEN_LED SET_BIT(PORTD,GBIT)
#define CLOSE_LED {CLR_BIT(PORTD,RBIT);CLR_BIT(PORTD,GBIT);}

static unsigned char raybz;                     //灯指示
static unsigned char LEDCOUNT;					//灯任务器
/*********************************************
*原型:void ray_led(void)
*功能:灯指示,
*参数:无
*返回:
**********************************************/
void ray_led(void)
{
 raybz = TRUE;
 CLOSE_LED;
 LEDCOUNT=6;
 }
/*********************************************
*原型:unsigned char LED(void)
*功能:灯指示,根据各种状态指示灯工作,500ms闪烁一次
*参数:无
*返回:LEDCOUNT
**********************************************/
unsigned char LED(void)
{
 static unsigned char led1;
 switch(LEDCOUNT)
 			{
			case 0: //在打电话红灯闪烁
				    if(Busybz) 
							   return 1;//在忙状态红灯闪烁
				
					//连接时橙灯闪烁
					else if(WorkCount <= RTEL) 
						 		return 4;

					else 
						 	    return 3;//绿灯亮
	        case 1: 
				 	CLOSE_LED;//红灯闪烁
				 	RED_LED;
				    return 6;
			case 2: 
				 	CLOSE_LED;//红灯亮
				 	RED_LED	;	
					return 0;
			case 3: 
				 	CLOSE_LED;//绿灯闪烁
				 	GREEN_LED;
					return 6;
			case 4:
			        RED_LED;//橙灯亮
				    GREEN_LED;
					return 6;
		    case 5: 
				 	CLOSE_LED;//绿灯亮
				    GREEN_LED;
					return 0;
			case 6: 
				 	led1 = 5;//500ms闪烁一次
	        case 7:
					if(led1--)
							 return 7;
				    if(!raybz)
							  {
							   raybz = TRUE;
				               CLOSE_LED;
				               return 6;
							   }
					else	  {
							   raybz = FALSE;
							   return 0;
							   }  
				}
	}

⌨️ 快捷键说明

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