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

📄 timer0中断捕捉实验.c

📁 针对PP2132V1开发的详细的实验教程
💻 C
字号:
/**************************************************************
实验名称:定时器0中断捕获实验
实验目的:熟悉定时器0的使用
实验准备:带中断的程序应该运行在FLASH模式下
实验日期:2008,3,30
作者:    刘启明
***************************************************************/

#include "iolpc2132.h"          //每按一次按键LED闪烁一次。
#include "inarm.h"
#define  BEEP	1 << 7		// P0.7控制蜂鸣器,低电平蜂鸣

/***************************************************************
** 函数名称 :DelayNS()
** 函数功能 :长软件延时。
** 入口函数 :dly  	延时参数,值越大,延时越久
** 出口函数 :无
***************************************************************/
void DelayNS (unsigned int dly)
{
	unsigned int i;
	for ( ; dly>0; dly--)
		for (i=0; i<10000; i++);
}

/***************************************************************
** 函数名称 :Timer1_CapInt()
** 函数功能 :定时器1捕获中断服务程序
** 入口参数 :无
** 出口参数 :无
***************************************************************/
#pragma vector=0x18
 __irq __arm void Timer1_CapInt (void)
{
	T1IR = 1 << 6;					// 清除CAP1.2中断标志

   	IO0CLR = BEEP;					// 蜂鸣器响1声
        DelayNS(50);
        IO0SET = BEEP;
    
        VICVectAddr = 0x00;				// 向量中断处理结束
}


/***************************************************************
** 函数名称 :main()
** 函数功能 :测试定时器捕获中断
** 入口参数 :无
** 出口参数 :无
** 调试说明 :P0。7连接蜂鸣器BEEP,P0.17的B2端连接KEY。
***************************************************************/
void main (void)
{
	PINSEL1 = 1 << 2;				// P0.17连接捕获1.2,其余连接GPIO,P0.17接按键
	IO0DIR = BEEP;					// 蜂鸣器控制口输出
        IO0SET = BEEP;
	
	T1PR  = 99;					// 分频系数
	T1CCR = (1 << 7)|				// 设置CAP1.2下降沿捕获
		(1 << 8);			        // 允许产生中断
			
	T1TC  = 0;
	T1TCR = 0x01;					// 启动定时器
	

    /* 设置Timer1中断 */
        __disable_interrupt();                          // 关中断
	VICIntSelect = 0x00000000;			// 设置所有的通道为IRQ中断
	VICVectCntl0 = 0x20 | 5;			// Timer1分配到IRQ slot0,即最高优先级
	VICVectAddr0 = (unsigned int)Timer1_CapInt;	// 设置Timer1向量地址
	VICIntEnable = 1 << 5;				// 使能Timer1中断
	__enable_interrupt();
	while (1);	

}

⌨️ 快捷键说明

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