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

📄 timeb_scan.c

📁 SPCE061A单片机的接近开关控制
💻 C
字号:
#include "SPCE061A.h"



extern unsigned int tb_count,old_flag,new_flag,flag;

///////////////////////////////////////////////////////////
// 		
//			IOA 口初始化 
//
///////////////////////////////////////////////////////////
void P_IOA_Init()
{
	*P_IOA_Dir &=0x7fff;
	*P_IOA_Attrib &=0x7fff;
	*P_IOA_Data &=0x7fff;
}


//////////////////////////////////////////////////////////////////////////
//
//						中断初始化程序
//
////////////////////////////////////////////////////////////////////////////

void P_INT_Set(unsigned int P_INT_data)
{
	__asm("int off");
	*P_INT_Ctrl=P_INT_data;
	__asm("int irq");	
}


/////////////////////////////////////////////////////////////////////////
//
//					时间中断设置函数
//  	入口参数 TMA TMB TimerA_Data
//
////////////////////////////////////////////////////////////////////////

void Set_TimeA_Base(unsigned int tima1,unsigned int timea2,unsigned int tina_data)
{
	*P_TimerA_Ctrl=tima1|timea2;
	*P_TimerA_Data=tina_data;
}

///////////////////////////////////////////////////////////////////////////
//
//				显示复位
//
///////////////////////////////////////////////////////////////////////

void Dis_play_restart0(void)
{
	unsigned int aa[4]={0,0,0,0};
	display_7289(aa);
}

///////////////////////////////////////////////////////////////////////////
//
//			显示所得到的4位数
//
///////////////////////////////////////////////////////////////////////////

void show_count_data(unsigned int num)
{
	unsigned int tho=0,hun=0,ten=0,ge=0;
	unsigned int aa[4];
	tho=num/1000;
	hun=num%1000/100;
	ten=num%100/10;
	ge=num%10;
	aa[0]=tho;
	aa[1]=hun;
	aa[2]=ten;
	aa[3]=ge;
	display_7289(aa);	
}



///////////////////////////////////////////////////////////
// 	
//			判断上升沿脉冲
//
///////////////////////////////////////////////////////////

unsigned int Up_Pulse()
{
	unsigned  int data=0;
	data=*P_IOA_Data;		//IOA15
	if(data&0x8000)
	{
		old_flag=0x8000;
		if(new_flag==0x8000)
			flag=0;
		else if(new_flag==0x0000)
			flag=1;		
		new_flag=old_flag;	
	}
	else
	{
		old_flag=0;
		new_flag=0;
		flag=0;
	}
	return flag;	
}


///////////////////////////////////////////////////////////
// 	
//			判断下降脉冲
//
///////////////////////////////////////////////////////////

unsigned int Down_Pulse()
{
	unsigned  int data=0;
	data=*P_IOA_Data&0x8000;		//IOA15
	if(!data)
	{
		old_flag=0x8000;
		if(new_flag==0x8000)
			flag=0;
		else if(new_flag==0x0000)
			flag=1;		
		new_flag=old_flag;	
	}
	
	else
	{
		old_flag=0;
		new_flag=0;
		flag=0;
	}
	return flag;	
}

///////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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