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

📄 intermit.c

📁 绝对原创
💻 C
字号:

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :
*	返回值   :
*	说明     :
**************************************************************************************************************/
	   
    #include "define.h"       
	
	uchar Int0_Time = 0 ;									// 累加定时器0中断 
	uchar TH0_Dat,TL0_Dat ;	 	 
	uchar RunLed_Time ;										// 运行灯时间

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :        
*	返回值   :
*	说明     :	载入中断0初值
**************************************************************************************************************/
	
	void InitialValue0(void)
	{
		TH0 = TH0_Dat ;             /* 载入H初值 */
	 	TL0 = TL0_Dat ;             /* 载入L初值 */
	}

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :        
*	返回值   :
*	说明     :	载入中断0初值
**************************************************************************************************************/
	
	void InitialValue1(void)
	{
		TH0_Dat = (TIME_S / 256) ;             	/* 载入H初值 */
	 	TL0_Dat = (TIME_S % 256) ;             	/* 载入L初值 */
		TH0 = TH0_Dat ;             			/* 载入H初值 */
	 	TL0 = TL0_Dat ;             			/* 载入L初值 */
	}

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :
*	返回值   :
*	说明     :	定时0中断
**************************************************************************************************************/

	void timer0_int(void) interrupt 1
	{																						
		TH0 += TH0_Dat ;            							 	/* 载入H初值 */
	 	TL0 += TL0_Dat ;             								/* 载入L初值 */

		Int0_Time++ ;												// 累加中断  
		if (Int0_Time >= 4) 
		{
			TR0 = OFF ;												// 关闭定时器0中断
			InitialValue0() ;										// 载入初始值
		}

		RunLed_Time++ ;
		if (RunLed_Time >= (SEC_TIME / 2))
		{
			RunLed_Time = 0 ;
			Run_Led =! Run_Led ;									// 取反
		}
		
		HeatUPCheckTempTime() ;										// 加温,检测计时器		
	}


/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :
*	返回值   :
*	说明     :	串口中断
**************************************************************************************************************/

    void comInte(void) interrupt 4           // 为什么指定寄存unsinged器,不能修改FLASH
    { 
		if(TI == 1)							 // 判断是否是发送中断
       	{				
		 	TI = 0 ;          				 // 清发送中断  
			SendDat() ;        	       
       	}
		else								 // 接收中断
		{								
			ReceiptDat() ;					 // 接收到数据处理
 			RI = 0 ;					
		}
    }

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :
*	返回值   :
*	说明     :	初始化变量
**************************************************************************************************************/
	
	void InitializeDat(void)
	{
		uchar d,c ;
	
		for (c = 0;c < 5;c++)
		{
			for (d = 0;d < 12;d++)
			{
				All_Temp0[c][d] = 0 ;	// 全清零
				All_Temp1[c][d] = 0 ;
			}		 
		}
		
		for (c = 0;c < 10;c++)
		{
			Check_TempTime[c] = 0 ;							 
	  		Old_NewTemp[c] = 0 ;								 
	  		HeatUp_Time[c] = 0 ;
			Site_TempDat[c] = 0 ;
		}

		Delay0(1) ;
		InitialValue1() ;
		TH1 = 0xfd ;                        /* 波特率为9600(11.0592M) */
		
		TMOD = 0x21 ;                       /* 定时器0工作方式1,定时器1工作在方式2(自动载入,串口中断用) */
		SCON = 0x50 ;                       /* 串行口工作在方式1,并允许接收 */
		PCON = 0x00 ;		
		IP = 0x10 ;							// 串口中断优先
		
		Temp_Relay0 = ON ;                  /* 选通第一路热电偶 */
		Temp_Relay5 = ON ;

		_nop_() ;
		SCK = ON ;
		_nop_() ;
		CS0 = ON ;                          /* 进行温度转换 */
		CS1 = ON ;
		_nop_() ;
		
		EA = ON ; 
		ES = ON ;                           /* 开放串口中断 */
		ET0 = ON ;                          /* 开放定时器0中断 */
		TR1 = ON ;
		TR0 = ON ;			
	}

/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :        
*	返回值   :
*	说明     :	延时子程序 
**************************************************************************************************************/
 
	void Delay0(uchar a)
	{
		uchar x ;
	
		for (;a > 0;a--)
		{
			x = 200 ;
			do{x = (x-1);}
			while (x>1);
		}
	}	 
   
/*************************************************************************************************************
*	函数名称 :
*	功能描述 :
*	实际参数 :
*	返回值   :
*	说明     :
**************************************************************************************************************/

⌨️ 快捷键说明

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