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

📄 main.c

📁 本程序使用定时器1
💻 C
字号:
/*
;************************************************************************************************************
;*				        				北京精仪达盛科技有限公司
;*                                     	     研    发    部
;*
;*                                 	     http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名称 : main.c	
;* 文件功能 : 该文件为主程序。
;* 补充说明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : ARM开发小组
;* 修改日期 : 2004/04/25
;* 版本声明 : V1.0.1
;*-------------------------------------------- 历史版本信息 -------------------------------------------------
;* 文件作者 : ARM开发小组
;* 创建日期 : 2004/04/20
;* 版本声明 : v1.0.0
;*-----------------------------------------------------------------------------------------------------------
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************
;*/
#include "..\inc\config.h"
unsigned char data;
extern void __irq timer1Handler(void);



void INT_Timer_Initialize(void)
{
	rTCFG0=0x00000064; 	//prescaler0 100
	rTCFG1=0x00000000; 	//divide value 1/2
	rTCNTB1=0x00009d00 ;	//TCNTB
	rTCMPB1=0x00004650;
	rTCON=0x00aaaa0a;  	//auto load, invert off, manual update, stop timer
		
}


/* open the interrupt timer1  */
void ENABLE_INTERRUPT(void)
{  if (( rINTPND & BIT_TIMER1) )
   {
      rI_ISPC = BIT_TIMER1;
   }
	rINTMSK=~(BIT_GLOBAL|BIT_TIMER1);
	pISR_TIMER1=(unsigned)timer1Handler;
	rTCON=0x00000900;                       //打开timer1
}


void __irq timer1Handler(void)
{
    rTCON=0x00000000;                        //停止timer1
    rTCNTB1=0x00009d00 ;
    if(rTCMPB1<0x00007000&rTCMPB1>0x00000500)
        rTCMPB1-=0x00000400;
    else
        rTCMPB1=0x00006000;
    rTCON=0x00aaaa0a; 
    Uart_Printf(0,"timer1 is running.:");
    Uart_Printf(0,"%x-%x\n  ",rTCMPB1,data);
    rTCON=0x00000900;    
    rI_ISPC =BIT_TIMER1;
}

void IO_init(void)
{
 rPCONE=0X0000AA6B ;	//ToUT1功能口
 rPUPE =0X000000F0  ;	
 
 }



void Main(void)
{	
	Target_Init(); 
	IO_init();                             //目标板初始化,在target.c中定义
	INT_Timer_Initialize();
	ENABLE_INTERRUPT();
    data = 0xaa;
    while(1)
    {
                                                         //串口0输出
    }	
}

⌨️ 快捷键说明

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