ARM7学习---LPC2103 Time0定时器练习
/**************ARM7(LPC2103)练习程序**************************/
/*************************************************************/
/*****File Function : Time0测试程序 *****/
/*****Program Author : ZhengWen(ClimberWin) *****/
/*****MCU : LPC2103F 外部11.0592M晶振 *****/
/*****Compile Date : 2010/02/13 *****/
/*****Edition Info : V1.0 *****/
/*************************************************************/
//编译环境 KEIL for ARM
//LED1-LED7 接在P0.8-P0.15
//功能:使用内部定时器0,让LED闪烁。
#include
#define uchar unsigned char
#define uint unsigned int
void Timer0_Init(void);
void __irq IRQ_Timer0 (void);
/*************定时器0中断程序****************/
void __irq IRQ_Timer0 (void)
{
static uchar ledtemp=0x00;
ledtemp=~ledtemp;
if(ledtemp==0x00) IO0SET=(1<8);
if(ledtemp==0xff) IO0CLR=(1<8);
T0IR = 0x01;// 清除中断标志
VICVectAddr = 0x00;// 通知VIC中断处理结束
}
/***********定时器0初始化程序**************/
void Timer0_Init(void)
{
T0PR = 99; // 设置定时器0分频为100分频,得110592Hz
T0MCR = 0x03; // 匹配通道0匹配中断并复位T0TC
T0MR0 = 110592;// 比较值(1S定时一次)
T0TCR = 0x01; //定时器计数器和预分频计数器使能
VICIntSelect = 0x00;// 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x20|4 ;// 向量IRQ slot 使能 | 中断号
VICVectAddr0 = (unsigned long)IRQ_Timer0;// 设置中断服务程序地址
VICIntEnable = (1 < 0x04);// 使能定时器0中断
}
int main(void)
{
IO0DIR=0x0000ff00; //配置P0.8-P0.15为输出
IO0SET=0x0000ff00; //配置P0.8-P0.15初始值为高
Timer0_Init(); //初始化定时器0
while(1); //等待进入中断程序
}
ARM7LPC2103Time0定时 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)