《嵌入式系统原理与应用》实验报告05-定时器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统原理与应用》实验报告
实验序号:5 实验项目名称:定时器实验
11计算机学号XXX 姓名XX 专业、班
实验地点实验楼1#416 指导教师XX 实验时间2013-5-10
一、实验目的
1. 掌握LPC2200 专用工程模板的使用;
2. 熟悉LPC2000 系列ARM7 微控制器的VIC的使用;
3. 熟悉LPC2000 系列ARM7 微控制器的定时器的控制。
二、实验设备(环境)及要求
硬件:PC机;
软件:PC机操作系统windows XP,ADS1.2集成开发环境,Proteus软件。
三、实验内容与步骤
实验内容:
设置P0.2 脚为GPIO 功能,外接一个LED灯。配置并初始化ARM的定时器0,并使能定时器中断,中断服务程序在2秒钟将LED灯控制输出信号取反,然后清除中断标志并退出中断。
四、实验结果与数据处理
1.实验效果截图
2.源程序
#include "config.h"
void __irq Timer0_ISR(void) {
if((IO0SET&0x00000004)==0) IO0SET=0x00000004;
else
IO0CLR=0x00000004;
T0IR=0x01;
VICVectAddr=0;
}
int main (void)
{
PINSEL0&=0xFFFFFFCF;
IO0DIR |=0x00000004;
T0TC=0;
T0PR=0;
T0MCR=0x03;
T0MR0=Fpclk/2.5;
T0TCR=0x01;
VICIntSelect=VICIntSelect&(~(1<<4)); VICVectCntl0=0x20|4;
VICVectAddr0=(uint32)Timer0_ISR; VICIntEnable=(1<<4);
}
3.流程图
开始
设置Timer0_ISR
函数
定时器0定时中
五、分析与讨论
又忘了打开中断开关。还有就是取反操作中IO0SET不能为IO0PIN不然会一直亮,这个比较不能理解,又是虚拟环境问题。
六、教师评语
签名:
日期:成绩
结束