- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式实验二报告
实时嵌入式系统 实验报告 实验名称: 外部中断 信息与通信学院 电子信息工程 李保卫 0800220216 实验时间:第四周 星期一 第三大节 【实验目的】 学习LPC系列处理器向量中断控制器VIC的功能原理; 掌握外部中断引脚功能设置及外部中断的工作模式设置; 了解中断服务函数的编写方法。 【实验要求】 了解LPC系列处理器中断控制器的功能原理。 【实验原理】 一、LPC系列处理器中断控制器的原理 参见《ARM原理与嵌入式应用——基于LPC2400处理器和IAR开发环境》中有关中断系统的章节,重点要掌握向量中断控制器、外部中断引入以及系统控制寄存器中对外部中断的设置等。 二、实验板上的外部中断 1.原理图 2.说明 实验板上使用EINT0脚引入外部中断,在实验板上用一个按键实现。EINT0引脚先被上拉电阻上拉为高电平,当按键按下时,电平下降为低电平,因此中断方式应设置为下降沿触发。电路里的电容起到按键去抖动的功能。 三、驱动程序说明 1. irq.c说明 irq.c实现中断系统的初始化和中断服务子程序安装功能,它提供2个函数: 1) Init_VIC( ):对向量中断控制器VIC的初始化,一般由目标板启动初始化函数TargetResetInit( )调用; 2) install_irq ( ):将用户编写的中断服务函数安装,三个参数分别为中断号、中断服务函数地址、优先级。 2. extint.c说明 extint.c提供外部中断EINT0的驱动,它提供2个函数: 1) EINTInit( ):EINT0的初始化,实现EINT0使能、设置为下降沿触发、安装EINT0中断服务函数; 2) EINT0_Handler( ):EINT0中断服务函数,流程为:清除发生的EINT0中断、开中断、按键中断计数器eint0_counter加一、关中断、中断向量地址复位。其中按键中断计数器eint0_counter可以声明为外部全局变量,每发生一次按键中断自加一,用户即可在自己的应用程序中利用这个变量来实现不同的功能。 四、实验内容及程序代码 1、Init_VIC( )函数: void init_VIC(void) { DWORD i = 0; DWORD *vect_addr, *vect_cntl; VICIntEnClr = 0xffffffff; // 使能全部清零 VICVectAddr = 0; // 默认向量地址为0 VICIntSelect=0; /*设置中断选择寄存器VICIntSelect,将32个中断请求全部分配为IRQ*/ for ( i = 0; i VIC_SIZE; i++ ) // 32个中断服务向量复位 { vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4); vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4); *vect_addr = 0x0; //中断服务函数都指向开头 *vect_cntl = 0xF; //优先级最低 } return; } 2、install_irq ( )函数: DWORD install_irq( DWORD IntNumber, void *HandlerAddr, DWORD Priority ) { DWORD *vect_addr; DWORD *vect_cntl; VICIntEnClr=1IntNumber; /*根据参数IntNumber(中断号)将中断使能清除寄存器VICIntEnClr相应位清零,禁止该中断*/ if ( IntNumber = VIC_SIZE ) { return ( FALSE ); } else { /* find first un-assigned VIC address for the handler */ vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + IntNumber*4); vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + IntNumber*4); *vect_addr = (DWORD)HandlerAddr; /* se
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)