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

📄 timer.c

📁 dsp2407的一个中断服务程序简单例程
💻 C
字号:
#include "F2407REGS_c.h"

void Timer1_Initializing()
{
	EVAIMRA=EVAIMRA|0x0080;		// 仅允许定时器1的周期中断
/*  0000,0000,1000,0000 =0x0080
	0000 0~~~ ~~~~ ~~~~ [reserved]
	~~~~ ~0~~ ~~~~ ~~~~ [T1OFINT ENABLE] 
	~~~~ ~~0~ ~~~~ ~~~~ [T1UFINT ENABLE] 
	~~~~ ~~~0 ~~~~ ~~~~ [T1CINT ENABLE] 
	~~~~ ~~~~ 1~~~ ~~~~ [T1PINT ENABLE]1:允许定时器1的周期中断  
	~~~~ ~~~~ ~000 ~~~~ [reserved]	
	~~~~ ~~~~ ~~~~ 0~~~ [CMP3INT ENABLE] 
	~~~~ ~~~~ ~~~~ ~0~~ [CMP2INT ENABLE] 	
	~~~~ ~~~~ ~~~~ ~~0~ [CMP1INT ENABLE] 	
	~~~~ ~~~~ ~~~~ ~~~0 [PDPINTA ENABLE] 
*/	

	EVAIFRA=EVAIFRA&0x0080;		// 清除定时器1周期中断标志
/*  0000,0000,1000,0000 =0x0080
	0000 0~~~ ~~~~ ~~~~ [reserved]
	~~~~ ~0~~ ~~~~ ~~~~ [T1OFINT FLAG] 
	~~~~ ~~0~ ~~~~ ~~~~ [T1UFINT FLAG] 
	~~~~ ~~~0 ~~~~ ~~~~ [T1CINT FLAG] 
	~~~~ ~~~~ 1~~~ ~~~~ [T1PINT FLAG]1:清除定时器1周期中断标志
	~~~~ ~~~~ ~000 ~~~~ [reserved]
	~~~~ ~~~~ ~~~~ 0~~~ [CMP3INT FLAG] 
	~~~~ ~~~~ ~~~~ ~0~~ [CMP2INT FLAG] 	
	~~~~ ~~~~ ~~~~ ~~0~ [CMP1INT FLAG] 	
	~~~~ ~~~~ ~~~~ ~~~0 [PDPINTA FLAG] 
*/	
	T1CON=0x100C;				// Timer1为连续增计数模式,预分频值为1,使用内部时钟
/*  0001,0000,0000,1100 =0x100C
	00~~ ~~~~ ~~~~ ~~~~ [Free,Soft] 00:一旦仿真挂起后,定时器1立即停止
	~~0~ ~~~~ ~~~~ ~~~~ [reserved] 
	~~~1 0~~~ ~~~~ ~~~~ [TMODE1,TMODE0] 10: 连续增计数模式
	~~~~ ~000 ~~~~ ~~~~ [TPS2-TPS0] 000:预定标系数, x/1
	~~~~ ~~~~ 0~~~ ~~~~ [T2SWT1] 0:定时器2使用自身的周期寄存器  
	~~~~ ~~~~ ~0~~ ~~~~ [TENABLE] 0: 定时器1不工作
	~~~~ ~~~~ ~~00 ~~~~ [ TCLKS1, TCLKS0] 00: 使用内部CPU时钟 
	~~~~ ~~~~ ~~~~ 11~~ [TCLD1, TCLD0] 11: 保留 	
	~~~~ ~~~~ ~~~~ ~~0~ [TECMPR] 0: 禁止定时器比较操作 	
	~~~~ ~~~~ ~~~~ ~~~0 [SELT1PR]0: 该位在定时器1中保留
*/	
	T1PER=0x0F424;				// Timer1的周期寄存器值设为200ms	
								// 也可用10进制数赋值,"T1PER=62500;"
	T1CNT=0x00;					// Timer1的计数器清零
}

⌨️ 快捷键说明

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