华北电力大学科技学院ARM课内试验一解析_第1页
华北电力大学科技学院ARM课内试验一解析_第2页
华北电力大学科技学院ARM课内试验一解析_第3页
华北电力大学科技学院ARM课内试验一解析_第4页
华北电力大学科技学院ARM课内试验一解析_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华蛀电力*孑科技学院课程设计报告(2015 2016年度第二学期)名 称:ARM试验GPIO题 目:院 系:科技学院班级:13k2学 号:31学生姓名:指导教师:张老师设计周数:成 绩:日期:2016年5月10日实验一:GPIO(1) 蜂鸣器实验现象本次实验是使用LPC178/177X系列Cortex-M3中GPIO的引脚功 能模块,使用P3. 30来控制蜂鸣器,使得蜂鸣器按一定的频率鸣 叫。控制电路如下图所示:-:实验代码分析#include ”/LPC177x_8x/LPC177x_8x. hH#include ”/LPC177x_8x/type. hM#define BEEPON(LPC

2、.GP103-CLR = 1ul 30) #define BEEPOFF(LPC_GPI03-SET = 1ul 30)/工程模块/蜂鸣器工作/蜂鸣器不工作void myDelay (uint32_t uITime)延时子函数uint32_t i = 0;while (ulTime) for (i = 0; i DIR |= KOO;LPC_GPI03-SET |= KOO;设置P3. 30为输岀 /设置P3. 30为高电平void beepOperate (uint32_t uiFrequency) /蜂鸣器初始化子函数while (1) BEEPON;myDelay (4000);BEEP

3、OFF;myDeI ay (4000);int main (void) /主函数Systemlni t ();GPIOIni t();beepOperate (400);/蜂鸣器鸣叫/蜂鸣器不鸣叫/系统初始化,不能删除/通用I/O 口初始化蜂鸣器工作(2) 读取按键状态-:实验现象本次实验是使用LPC178/177X系列Cortex-M3中GPIO的引脚功能模块,通过判断按键连接的P0. 12引脚是否为低电平来控制蜂 鸣器,使得按键Key1按下,蜂鸣器按一定的频率鸣叫。控制电 路如下图所示:GND-:实验代码分析#include ”/LPC177x_8x/LPC177x_8x. hu#incl

4、ude ” /LPC177x_8x/type. hM/工程模块#define BEEPON(LPC_GPIO3-CLR = 1ul 30)/蜂鸣器鸣叫#define BEEPOFF(LPC.GPI03-SET = 1ul 30)/蜂鸣器不鸣叫void myDelay (uint32_t uITime)uint32_t i = 0;while (uITime) for (i = 0; i DIR &二 12);/设置P0. 12为输入LPC_GPI03-DIR |=1 30;/设置P3. 30为输岀LPC_GPI03-SET |=1 30;/设置P3. 30为高电平void keylScan (

5、void) /按键扫描子函数whi le (1) if (! (LPC_GP100-PIN & 1 12) 判断按键是否按下myDe I ay (40);if (! (LPC_GPIOO-PIN & 1 12) break;1按键确实按下,退岀死循环1void beepOperate (uint32_t uiFrequency) /蜂鸣器子函数while (1) BEEPON; /蜂鸣器响 myDeI ay (400);BEEPOFF: /蜂鸣器不响 myDe I ay (400);int main (void)Systemlni t ();GPIOIni t();/系统初始化,不可删除/管脚

6、初始化key 1 Scan (); beepOperate (400);/按键扫描/蜂鸣器以一定频率工作三:通过修改某些语句从而使得蜂鸣器的鸣叫 发生变化若把蜂鸣器子函数中的某些语句改动一下,就会使得蜂鸣器的鸣 叫发生改变,例如:void beepOperate (uint32_t uiFrequency)while (1) if (! (LPC_GPIOO-PIN & 1 12) myDe I ay (40) ;/延时消抖功能if (!(LPC_GPIOO-PIN & 1 12) /判断按键是否按下BEEPON;myDe I ay (400);elseBEEPOFF;myDelay (400

7、);经过这个改动后,实验现象就变成:按键Key1按住蜂鸣器就鸣 叫,松开按键后,蜂鸣器停止鸣叫(但由于有400ms的延时,所 以并不是一松开就停止鸣叫)。(3) I/O引脚的中断功能-:实验现象本次实验是使用LPC178/177X系列Cortex-M3中GPIO中断测试 程序,在系统上电后,MCU进入省电模式,按下KEY2 (不管是上 升沿中断还是下降沿中断都可以触发)唤醒后,CPU进入到中断 服务子函数中,这时候LED2和LED3两个同时闪烁,闪烁了 400ms 后,CPU开始进入LED工作,这时候两个LED灯轮流闪烁。-:实验代码分析#include ”/LPC177x_8x/LPC177

8、x_8x. hu #include /LPC177x_8x/type. hM #def i ne SLEEP0x01#def i ne DEEPSLEEP0x02#def i ne POWERDOWN0x04/睡眠模式标志/深度睡眠模式标志/掉电模式标志#def i ne LEDON(LPC_GPI03-CLR = 1ul 25 |1ul 31) /LED2 和 LED3 亮#def i ne LEDOFF(LPC_GPI03-SET = 1ul 25 |1ul 31) /LED2 和 LED3 灭#def i ne LED20NLPC_GPI03-CLR = 1ul 25)/LED 亮#de

9、f i ne LED30N(LPC_GP103-CLR = 1ul 31)/LED3 亮#def i ne LED20FF(LPC_GP103-SET = 1ul 25)/ LED2 灭#def i ne LED30FF(LPC_GP103-SET = 1ul 31)/LED3 灭void myDelay (uint32_t uITime)uint32_t i = 0;while (uITime) for (i = 0; i IntStatus;if (status & 0x1) status_R_P0 = LPC_GPIOINT-IOOIntStatR; status_F_PO = LPC_

10、GPI0INT-I00IntStatF: i f (status_R_PO) LPC_GPIOINT-IOOIntClr = status_R_PO;/P0 口中断/ P0 口上升沿中断for(i = 0; i IOOIntClr = status_F_PO;/ 潸除 PO 口中断状态for(i = 0; i IO2lntStatR;status_F_P2 = LPC_GPIOINT-IO2lntStatF:if (status_R_P2) / P2 口上升沿中断LPC_GPIOINT-IO2lntClr = status_R_P2;for(i = 0; i IO2lntClr = statu

11、s_F_P2;for(i = 0; i DIR = 1ul 25 | 1ul 31; LPC_GPI03-SET = 1ul 25 | 1ul 31;/使能P0.10检测下降沿中断LPC GPIOINT-IOOIntEnF = 1 10;void IowPowerModeSet (uint32_t uiModeFlag)switch (uiModeFlag) case 0x01:_WFI ();break;case 0x02:SCB-SCR |= 0x04; _WFI ();break;case 0x04:SCB-SCR |= 0x04; LPC_SC-PCON |= 0x1; FI (); break;defauIt:break;int main (void)System Ini t ();GPIOIni t();NVIC_EnablelRQ(GPIO_IRQn):IowPowerModeSet(SLEEP);/进入睡眠模式进入深度睡眠模式/进入掉电模式/系统初始化,不可删除/LED接口初始化/使能GPI0中断/进入睡眠模式I edOperate (400) ;/LED灯以一定的频率工作三:通过修改某些语句从而使得LED的闪烁发 生变化若把中断子函数中的某些语句改动一下,就会使得LED的闪烁发生改变,例如:改变void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论