




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 定时器实验 班级: 姓名: 学号: 一 、实验目的: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,如下图所示。2、打开ADS1.2的CodeWarrior编译环境,新建一个工程(ARM Executable Image)工程,工程名为Time0。在新建一个文件Time0.c,添加到工程里。3、在工程空白处右击,添加工程所需的文件(config.h, target.h, LPC2106.h, Startup.s, IRQ.s, target.c)。如下图所示。4、编写Time0.c,实现定时器1s定时,LED灯闪烁。5、配置DebugRel Seteings , 打开Target Settings ,设置如下图所示。6、设置ARM Linker,在Output 下选择Scatterec,添加可映射文件mem.scf.在Equivalent Command Line 下修改入口地址:-entry 0x00000000.设置效果如下图所示。7、配置ARM fromELF 输出格式Output format为Intel32 bit Hex. Output file name为Time0.hex.如下图所示。8、配置完成后,点击OK.9、在PROTUES里下载Time0.hex(路径为:E:time0time0_DataDebugRelTime0.hex)10、运行观察LED灯闪烁的效果。五、实验参考程序Time0Init()定时器初始化流程图设置T0的分频值和MR0的值启动定时器并复位选择定时器中断为IRQ分配定时器向量IRQ最高优先级设置中断复位程序的地址匹配通道0中断并使能T0使能IRQ_Time0中断服务子程序判断LED灯亮灭若灭置亮若亮置灭清除中断标志通知VIC中断处理结束Main()主程序流程设置PINSEL0为输入输出功能开始结束设置 IODIR方向调用Time0Init函数等待中断六、实验结果 定时器控制(中断方式)实验结果:每隔1秒LED取反一次。七、实验结论学习定时器中断的设计方法,掌握长时间间隔的定时器的处理。在一定程度上掌握了VIC的基本操作,当设置IRQ/FIQ中断,若是IRQ中断则可以设置为向量中断并分配中断优先级,否则为向量IRQ。然后可以设置中断允许,以及向量中断对应地址或非向量中断默认地址。当有中断后,若是IRQ中断,则可以读取向量地址寄存器,然后跳转到相应代码。当要退出中断时,对向量地址寄存器写0,通知VIC中断结束。当发生中断时,处理器将会切断处理器模式,同时相关的寄存器也将会映射。/* 文件名:TimerOut.C* 功能:使用定时器0实现1秒定时,控制LED闪烁。(中断方式)* 说明:将跳线器JP9短接,JP4断开。*/#include config.h#define LEDFLASH 0x00000001/* P0.0引脚控制LED,高电平点亮 */* 名称:IRQ_Time0()* 功能:定时器0中断服务程序,取反LEDFLASH控制口。* 入口参数:无* 出口参数:无*/void _irq IRQ_Time0(void) while(T0IR&0x01)=0); /匹配中断,等待定时时间到 if(IOSET&LEDFLASH)=0) IOSET=LEDFLASH; /控制LED点亮 else IOCLR=LEDFLASH; /控制LED熄灭 T0IR=0x01; /清除中断标志 VICVectAddr = 0x00; / 通知VIC中断处理结束/* 名称:Time0Init()* 功能:初始化定时器0,定时时间为1S,并使能中断。 * 入口参数:无* 出口参数:无*/void Time0Init(void) /* Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz */T0PR = 99;/ 设置定时器0分频为100分频,得110592HzT0MCR = 0x03; / 匹配通道0匹配中断并复位T0TCT0MR0 = 110592/4; / 比较值(1S定时值)T0TCR = 0x03; / 启动并复位T0TCT0TCR = 0x01; /* 设置定时器0中断IRQ */VICIntSelect = 0x00;/ 所有中断通道设置为IRQ中断VICVectCntl0 = 0x24;/ 定时器0中断通道分配最高优先级(向量控制器0)VICVectAddr0 = (uint32)IRQ_Time0; / 设置中断服务程序地址向量 VICIntEnable = 0x00000010;/ 使能定时器0中断/* 名称:main()* 功能:初始化I/O及定时器,然后等待中断。 * 说明:在STARTUP.S文件中使能IRQ中断(清零CPSR中的I位)。*/int main(void) PINSEL0 = 0x00000000;/ 设置管脚连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江哈尔滨春季“丁香人才周”市场监督管理局事业单位引才招聘20人考前自测高频考点模拟试题及答案详解(典优)
- 2025河南中豫建设投资集团股份有限公司招聘1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025贵州铜仁市科技创新成果转化中心引进专业技术人才模拟试卷及参考答案详解一套
- 2025北京丰台区新村街道办事处招聘城市协管员6人模拟试卷及答案详解(历年真题)
- 2025年甘肃庆阳庆城县事业单位引进高层次和急需紧缺人才(第三批)模拟试卷及一套答案详解
- 2025昆明市五华区某政府单位行政辅助岗位人员招聘(2人)考前自测高频考点模拟试题及答案详解参考
- 2025广东茂名市供销集团有限公司招聘10人模拟试卷及答案详解(各地真题)
- 2025江苏常州纺织服装职业技术学院招聘辅导员6人模拟试卷及答案详解(必刷)
- 2025年高级纤维检验员《理论知识》考试真题(含解析)
- 2025河北保定市雄安新区雄县事业单位招聘89人模拟试卷附答案详解
- 《商业文化》课件-第3章 古代商贤及其商业文化
- 七十岁老人三力测试题
- 小儿结核病教案
- 【高二 拓展阅读-科技】Wind Energy
- 我的家乡滕州市宣传简介
- 法院起诉收款账户确认书范本
- 15ZJ001 建筑构造用料做法
- 初中历史小论文现状分析与写作探讨
- 燕山石化聚丙烯工艺综述最好实习报告内容
- 自考05175税收筹划(15-19)真题试卷
- 微机原理与接口技术(清华大学课件,全套)
评论
0/150
提交评论