📄 timer.c
字号:
/////////////////////////////////////////////////
// Example For ICETEK-VC5416-EDU //
// CTR Version : V4 //
// Filename: Timer.c //
// Project : Timer.pjt //
// Version : 2.00 //
// Write by: Daniel Hawk //
// Company : Realtimedsp Co.Ltd //
// //
// All Rights opened & no Onus 2005.06 //
/////////////////////////////////////////////////
#define TIM *(int *)0x24
#define PRD *(int *)0x25
#define TCR *(int *)0x26
#define IMR *(int *)0x0
#define IFR *(int *)0x1
#define PMST *(int *)0x1d
ioport unsigned int port3002,port3003;
#define DIP port3003
#define LED port3002
void interrupt time(void);
unsigned int nCount,uWork;
main()
{
nCount=uWork=0;
asm(" ssbx INTM"); // 关中断,进行关键设置时不许打扰
// 设置通用定时器
uWork=PMST; // 设置PMST寄存器
PMST =uWork&0xff; // 中断向量表起始地址=80H
IMR = 0x8; // 使能TINT
TCR = 0x41F; // 预分频系数为15
TIM = 0; // 时钟计数器清0
PRD = 0x0f423; // 周期寄存器为0f423H
TCR = 0x42f; // 复位、启动
IFR = 0x100; // 清中断标志位
asm(" rsbx INTM"); // 开中断
LED=0xff;
while ( 1 )
{
}
}
void interrupt time(void)
{
nCount++;
if ( nCount>=4 )
{
LED^=0x55; // 设置指示灯状态
nCount=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -