MAX6675操作源码--K型热电偶模数转换器

#define		P_TENB		PF4_OUT
#define		P_TSLK		PA3_OUT
#define		P_TDAT		PB2_IN

//*************************************
// 函数名称:Data6675ReadWord
// 函数功能:读取6675两个字节数据
// 入口参数:无
// 出口参数:返回读取的字数据
//***************************************/
uint8 ReadPin6675(void) //读管脚并滤波
{
		uint8 Tcon = 0 ;
		uint8 i ;
		 
		for(i=0;i<15;i++)  //读15次
		{
			 if(P_TDAT == 1)	
			 {
					Tcon ++ ;
			 }	
			 Nopt(1);					 
		}
		
		if(Tcon >= 10) //读状态为1的次数大于10次
		{
				return 1 ;
		}
		else 
		{
				return 0 ;
		}			
}
//===================================
uint16 Data6675ReadWord(void)
{
		uint8 i=0 ;
		uint16 Temp=0 ;
		
		P_TENB = 0 ;	//读数据使能			
		Nopt(20);		
		for(i=0;i<16;i++)
		{			
				P_TSLK = 0 ;							
				Nopt(8);
				Temp <<= 1 ;
				//if(P_TDAT == 1)	
				if(ReadPin6675())
					Temp |= 0X0001 ; 
					
				P_TSLK = 1 ;					
				Nopt(8);	
		}		
		P_TENB = 1 ;	//读数据结束,进入转换	
		
		return Temp ;
}


posted on 2013-07-28 21:47  you Richer  阅读(563)  评论(0编辑  收藏  举报