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

📄 input.c

📁 利用winavr开发的一款三段式充电器的源码
💻 C
字号:
/*****************************************************************
** Project:		充电器
** file : 			input.c
** date : 			20081205
** author:
** version:		v1.0		   
** description:		用于输入检测,
** ---------------------------------------------------------------
** date : 			 
** author:
** version:		 	   
** description:		 
******************************************************************/
#include "main.h"
/*****************************************************************
** function	:UK状态获取
** 返回		:0:低电平 1;高电平
*****************************************************************/
u08 GetUK( void)
{
	u08 ret;
	u08 cnt;
	u08 level_0_times;

	cnt =0 ;

	ret = 1;

	level_0_times =0;

	while( cnt++ <6 )
	{/////////////////////begin while
		//带去抖动功能的UK端口值读取
		if( UK ==0 )
		{
			_delay_ms(3);//去抖动
	
			if(	UK ==0 )
			{
				level_0_times ++;
			}
		}
		//如果多次连续检测,低电平次数大于4	则故障
		if( level_0_times > 4 )
		{
			ret = 0;	
		}
	 }/////////////////////end while

	 return ret;		
}
/*****************************************************************
** function	:UK状态获取
** 返回		:0:低电平 1;高电平
*****************************************************************/
u08 GetU1( void)
{
	u08 ret;
	u08 cnt;
	u08 level_0_times;

	cnt =0 ;

	ret = 1;

	level_0_times =0;

	while( cnt++ <6 )
	{/////////////////////begin while
		//带去抖动功能的UK端口值读取
		if( U1 ==0 )
		{
			_delay_ms(3);//去抖动
	
			if(	U1 ==0 )
			{
				level_0_times ++;
			}
		}
		//如果多次连续检测,低电平次数大于4	则故障
		if( level_0_times > 4 )
		{
			ret = 0;	
		}
	 }/////////////////////end while

	 return ret;		
}
/*****************************************************************
** function	:UK状态获取
** 返回		:0:低电平 1;高电平
*****************************************************************/
u08 GetU2( void)
{
	u08 ret;
	u08 cnt;
	u08 level_0_times;

	cnt =0 ;

	ret = 1;

	level_0_times =0;

	while( cnt++ <6 )
	{/////////////////////begin while
		//带去抖动功能的UK端口值读取
		if( U2 ==0 )
		{
			_delay_ms(3);//去抖动
	
			if(	U2 ==0 )
			{
				level_0_times ++;
			}
		}
		//如果多次连续检测,低电平次数大于4	则故障
		if( level_0_times > 4 )
		{
			ret = 0;	
		}
	 }/////////////////////end while

	 return ret;		
}

⌨️ 快捷键说明

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