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

📄 time.c

📁 LPC2129芯片串口和can口使用利用该芯片那带串口和can控制器设计转换桥
💻 C
字号:
//************************Copyright**********************************
#include "..\..\src\config.h"
#include "MAIN.H"
//*******************************************************************
INT8U	BEEP_BIT;
INT8U	BeepCount;
INT8U	BeepNum;


void __irq  IRQ_Time0(void)
{
	static unsigned char led_old_state;
	if (led_old_state==0)
  	{
	    A_LED1_ON;
   		A_LED2_OFF;
    	led_old_state=1;
  	}
  	else
  	{
    	A_LED1_OFF;
    	A_LED2_ON;
    	led_old_state=0;
 	}
  	T0IR = 0xff;                              // Clear timer 0 interrupt line.
   	//-------beeper--------------------
   	if(BEEP_BIT)
   	{
   		if((BeepCount==0)&&BeepNum) IO0SET = BEEPCON;
   		BeepCount++;
   		if(BeepCount==3) 
		{
   			IO0CLR = BEEPCON;
   			if(BeepNum) BeepNum--;
   			else BEEP_BIT=0;
   			BeepCount=0;
   		}
   	
   	} 
   	
	//-----------------------------------   
   	VICVectAddr = 0x00;				        // 通知VIC中断处理结束
}

void  Time0Init(void)
{  /* 初始化定时器0,实现0.1秒定时。
      Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz
	  Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz
   */
   T0PR = 99;			   							// 设置定时器0分频为100分频,得110592Hz
   T0MCR = 0x03<<3;		 							// 匹配通道1匹配中断并复位T0TC
   //T0MCR = 0x19;	
   T0MR1 = 110592/10;	   							// 设置MR1比较值(0.1S定时值)
   //T0MR0 = 110592/2;								// 设置MR0比较值(0.5S定时值)
   T0EMR = 0x00;		   							// 设置定时器0的T0MR1匹配输出,输出方式为不执行任何操作
   T0TCR = 0x03;		   							// 启动并复位T0TC
   T0TCR = 0x01; 
   	VICVectCntl8 = 0x24;							// 定时器0中断通道分配最高优先级(向量控制器1)
   	VICVectAddr1 = (INT32U)IRQ_Time0; 				// 设置中断服务程序地址向量 
   	VICIntEnable =(1<<4);							//使能定时器0\1\\uart0        
	VICDefVectAddr	= (INT32U)CANIntPrg;
}

⌨️ 快捷键说明

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