- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南昌航空大学实验报告
二〇二一年10月12日
课程名称: 感知层编程实验 实验名称: GPIO及外部中断
学号: 姓名: 张闰美 同组人:_____________
指导老师评定: 签名:______________________
实验目的
加深和巩固学生对于中断、GPIO等概念的理解
学生通过本实验了解和掌握GPIO及中断编程的整个过程
提高学生的上机和编程过程中处理具体问题的能力
实验要求
实验要求自己独立的完成;
编写和调试过程中出现的问题要做好记录,并事后总结到报告中
实验程序调试完成后, 用给定的平台进行测试,由老师检查测试结果,并给予相应的成绩。
实验电路图及寄存器
(1)实验相关电路图
图1. D1以及D2相应引脚
图2. S1相应引脚
由于发光二级管单向导电特性,即只有在正向电压(二极管的正极接正,负极接负)下才能导通发光。 P1.0 引脚输出低电平 D1 亮,P1.0 引脚输出亮电平 D1 熄灭。P1.1同理。当按下按键会产生中断,P0IFG 寄存器为中断状态标志。
(2)实验相关寄存器
图3. P0口与P1口所在地址与位数
图4. P0口与P1口功能选择寄存器
图5.P0口与P1口方向寄存器
图6. P0口与P1口输入模式寄存器
实验内容
编程实现按键控制LED1和LED2交替闪烁,掌握通用 I/O端口中断处理方法。
按照表格寄存器的内容,对 P1.0 和P1.1口进行配置,当 P1.0 输出低电平时 D1 被点亮。当 P1.1输出低电平时 D2 被点亮。
(1)S1 按下时 P0.1 产生外部中断从而控制 LED11与LED2的亮灭所以配置如下:
//默认为通用io不用设置P1SEL =~0x03;
P1DIR |= 0x03; //P1.0、P1.1 定义为输出
LED1=1;
LED2=1;//使所有 LED 灯默认为熄灭状态
(2)按键 S1 配置如下:?
P0IEN |= 0x02; // P0.1 设置为中断方式 1-中断使能
PICTL |= 0x01; //下降沿触发 ,0是上升沿触发
IEN1 |= 0x20; //允许 P0 口中断,第五位中断使能1,中断禁止0
P0IFG = 0x00; //初始化中断标志位
EA = 1; //打开总中断
在次实验中按键使用的是中断方式,利用下降沿进行触发。
(3)中断函数:
实验的关键在于中断函数的书写,虽然之前在51单片机中也使用过中断,但是当时使用的是汇编语言。
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
if(P0IFG 0) //按键中断
{
DelayMS(10); //延时去抖
if(P0IFG 0) //按键中断
{
KeyValue = 1; //产生中断保存中断状态
}
}
P0IFG = 0; //清中断标志
P0IF = 0; //清端口 0 中断标志
}
常用中断源:
图7. 常用中断向量
中断向量格式:
在每一个中断服务函数之前,都要加上一句起始语句:
#pragma vector=中断向量
中断向量表示接下来要写的中断服务函数是为那个中断源服务的,该语句有两种写法: ??
#pragma vector = 0x7B 或者? #pragma vector = P1INT_VECTOR ?? ?? ?? ??
前者是中断向量的入口地址,后者是头文件“ioCC2530.h”中的宏定义。
_ _interrupt 关键字表示该函数是一个中断服务函数,函数名可以自定义,函数体不能带有参数,也不能有返回值。
(4)延时函数:
void DelayMS(uint msec) //以毫秒为单位延时,系统时钟不配置时默认为 16M
{
uint i,j;
for (i=0; imsec; i++)
for (j=0; j535; j++);
}
使用跑空指令的方式进行延时,这种方式占用cpu资源,在之后的实验中可以使用定时器进行改进。
实验流程
图8 . 实验流程图
实验现象
按键S1, LED1和LED2交替闪烁
左边图是刚捎入实验代码时的现象,右图是按下S1后的现象。可以看到,LED1与LED2在交替闪烁。
遇到问题
该实验较简单,没有遇到什么问题
实验总结
这次实验在第零次实验的基础上,增加一了一个LED及一个按键,在配置GPIO口的时候一切都挺顺利, 在实现中断控制的时候多花了一点时间,还是来自于对编写
您可能关注的文档
- 感知层编程实验-osal多综合.docx
- 感知层编程实验-实验二_休眠.docx
- 感知层编程实验-实验九_P2P.docx
- 感知层编程实验-实验十一-ZigBee网络组建.docx
- 感知层编程实验-实验六-dma.docx
- 感知层编程实验-实验七_osal.docx
- 感知层编程实验-实验三_UART.docx
- 感知层编程实验-实验十二-HA应用编程(4课时).docx
- 感知层编程实验-实验十-抓包.docx
- 感知层编程实验-实验五_ADC光敏.docx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 绿色金融改革创新试点政策对企业经营绩效的影响研究.pdf VIP
- 赣州市南康区赞贤小学开展“扣好人生第一粒扣子——我爱我的祖国主题演讲比赛活动方案.doc
- 个人医保承诺书模板.docx VIP
- 绿色金融改革创新试点政策对企业绿色创新的影响-来源:创新与创业教育(第2022002期)-中南大学.pdf VIP
- 信息技术环境下的数学教学设计结题报告.doc VIP
- 国金证券:新型消费研究系列-便利店-小业态大生意-打造便利生活.pdf
- HIKARI富山奇立铺布机使用说明书.doc
- 部编版语文四年级上册第七单元大单元教学设计核心素养目标.pdf VIP
- 三级助理舞台灯光师题库考点(三).docx VIP
- (格式已排好)国家开放大学电大《计算机应用基础(专)》终结性考试大作业答案任务一.doc
文档评论(0)