文档介绍
实验四定时器实验班级:姓名:学号:一、实验目的:1、掌握定时器初始化的步骤;2、掌握定时器控制寄存器(TCR)的含义和使用;3、掌握定时器工作原理,学习定时器中断的设计方法,掌握1S间隔的定时器的处理。4、熟悉ARM的中断原理,并产生中断。二、实验设备:1.硬件PC机2.软件ADS1.2、PROTUES三、实验内容及原理:实验内容:本实验要求编写一个简单的定时器中断程序,设置一定的周期控制(1S)与某一个引脚(P0.0)相连的LED指示灯。当定时器中断产生时可以观察到LED周期性闪烁。实验原理:定时器控制(中断方式)。采用11.0592MHz晶振,使用PLL部件,cclk=Fosc*4=11.0592MHz*4=442368MHz,外围时钟使用复位默认的Fpclk=fcclk/4=44.2368MHz/4=11.0592MHz,定时器0进行100分频(即PR=99,MR0=110592),实现1S定时控制LED点亮或熄灭。另外,使用VIC的向量IRQ功能。首先设置定时器为向量IRQ中断,分配优先级并使能向量,然后设置相关向量地址寄存器VICVectAddr0及中断使能,在中断服务程序里完成LED的亮灭,在处理完毕后写向量地址寄存器为0,通知VIC中断处理结束。四、实验步骤1、在PROTUES里搭建好硬件电路平台,处理器采用LPC2106,如下图所示。D1U1D1U12、打开ADS1.2的CodeWarrior编译环境,新建一个工程(ARMExecutableImage)工程,工程名为Time0。在新建一个文件Time0.c,添加到工程里。3、在工程空白处右击,添加工程所需的文件(config.h,target.h,LPC2106.h,Startup.s,IRQ.s,target.c)。如下图所示。4、编写Time0.c,实现定时器1s定时,LED灯闪烁。5、配置DebugR