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

📄 t1_interrupt.c

📁 范例程序 SONiX
💻 C
字号:
#include <sn8p26l38.h>


unsigned int t1_buf;


void main (void)
{

	FT1ENB=0;
						
	T1M=0x20; 		//Fcpu/64											

	T1CL=0x64;		//10ms	interrupt Once 
					//Write T1CL data into T1CL buffer first.	
	T1CH=0xFF;		//Write T1CH data and T1CH, T1CL are imported to T1C			

														
	FT1ENB=1;		// Enable T1 timer
	FT1IEN=1;  		// Enable T1 interrupt
	FT1IRQ=0;		// Clean T1 interrupt request flag

	FGIE=1;			// all interrupt operation		
	
//===========================================================================
//
//	User 	code
//
//===========================================================================
		
}								

//To set 10ms interval time for T1 interrupt. High clock is external 4MHz. Fcpu=Fosc/4.
// Select T1RATE=010 (Fcpu/64).
// 
//	T1C initial value
//	 = 65536 - (T1 interrupt interval time * input clock) 
//	 = 65536 - (10ms * 4MHz / 4 / 64) 
//	 = 65536 - (10-2 * 4 * 106 / 4 / 64) 
//	 = 65380 
//	 = FF64H 	;T1CH=0xFF, T1CL=0x64


__interrupt isr (void)
{
	if ((FT1IEN==1)&&(FT1IRQ==1))
	{
	  FT1IRQ=0;
	  T1CL=0x64;		//10ms	interrupt Once 
						//Write T1CL data into T1CL buffer first.	
	  T1CH=0xFF;		//Write T1CH data and T1CH, T1CL are imported to T1C

	  t1_buf++;			// 10ms add one time
	}

}



⌨️ 快捷键说明

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