版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验5外部中断实验说明文档外部中断硬件说明 GPIO硬件说明 STM32开发板引出了电路长的所有IO口,电路如下图 1 引出的IO口 STM32的IO口可以通过软件配置为以下的8种模式 (1)GPIO _Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8) GPIO_Mode_AF_PP复用开漏输出1 / 8 STM3
2、2的每个IO端口都有7个寄存器来控制,他们分别是:2个32位的端口,配置寄存器CRL和CRH;一个16位的复用寄存器BRR;2个32位的数据寄存器IDR和ODR;1个32位的锁存寄存器LCKR;详细资料可以参见.LED硬件说明 STM32 开发板上的两个LED:LED0 和LED1.如下图: 图2 LED 与STM32 连接原理图 STM32中硬件电路将PB5管脚与LED0灯连接,而另一LED灯LED1则是连接在PE5.由电路可知,两个LED都是通过灌电流的方式来加电压,所以应将相应的GPIO口配置为输出方式,通过合理的控制其连接的GPIO口的输出电压(置高置低)就能控制灯的闪烁(关于GPIO
3、配置操作请详见GPIO固件库说明文档). BEEP硬件说明 STM32 开发板上的一个BEEP.如下图: 图1 BEEP与STM32 连接原理图 STM32中硬件电路将PB8管脚与BEEP连接,电路中用到NPN三极管(s8050)来驱动蜂鸣器,三极管主要的功能是放大电流,让电路有足够的电流来驱动蜂鸣器.当PB.8输出高电平时,蜂鸣器开始发声,当PB.8输出低电平时,蜂鸣器停止发声.KEY硬件说明 STM32 开发板上的4个按钮(WK_UP,KEY0,KEY1,KEY2)如下图: 图1 KEY与STM32 连接原理图 STM32中硬件电路将PE4与KEY0连接在按钮按下时电路接地为低电平, PE
4、3与KEY1连接在按钮按下时电路接地为低电平, PE2与KEY2连接在按钮按下时电路接地为低电平, PA0与WK_UP连接在按钮按下时电路接地为高电平,由电路可知,本实验通过WK_UP在芯片内部拉低输入模式下 检测高电平时控制键蜂鸣器的开关按键KEY0检测为低时候控制LEDO和LED1同时开关,按键KEY1控制LED1的开关,按键KEY2控制LED0的开关,有关配置GPIO口 (关于GPIO配置操作请详见GPIO固件库说明文档).EXTI说明STM32开发板有19个外部中断,在外部的IO口上有16个外部中断,分别如下图 1 GPIO口与外部中断映射图STM32的IO端对应16个外部中断,GPI
5、Ox.0- GPIOx.15其中(x=A,B,C,D,E,F)分别对应中断线,每个中断线最多对应七个IO口,而中断线每次只能连接到一个IO口上去,可在软件中去配置 STM32上的每个IO口可以自由编程,需要以32位的字访问 外部中断软件说明 实验中用到了GPIO固件库函数和LED固件库的函数的总和,在引用MCU中的头文件后用到的GPIO函数以及LED函数如下GPIO中的库函数1) 使能总线时钟 void GpioRccEnable(GPIO_TypeDef* GPIOx); 2)配置管脚为输入输出模式 void GpioConfig(GPIO_TypeDef* GPIOx,uint16_t G
6、PIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed ); 3)设置某一端口为输入输出模式 void GpioSet(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed ); 4)设置输入模式并初始化 void GpioSetInMode(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin ); 5)设置输出模式并初始化 void GpioSetOutMode(GPIO_TypeDef* GPIOx,
7、uint16_t GPIO_Pin,char init_value); 6)管脚的输出的值 void GpioSetOutValue(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin, char init_value); 7)读取某一管脚的状态 unsigned char GpioInReadPinStatus(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);LED中的库函数如下:1) 初始化函数 void LedInit(char led, char led_init_status);2) 指定LED灯亮void LedOn(char
8、led);3) 灭掉指定的LED灯void LedOff(char led);BEEP中的库函数如下:/功能: 初始化LEEP,并配置初始状态void BeepInit(char beep_init_status);/功能: 选定BEEP为开状态void BeepOn(void);/功能: 选定BEEP为关状态void BeepOff(void);按键中的库函数如下:/IO初始化void KeyInit(void);/按键扫描函数 u8 KeyScan(void);EXTI库函数如下:/ 功能:使能外部时钟中断函数void ExtiRccEnable(uint32_t RCC_APB2Periph);/ 功能:配置外部中断参数void ExtiConfig(uint32_t line,EXTIMode_TypeDef mode,EXTITrigger_TypeDef trigger,FunctionalState linecmd);/ 功能:外部中断初始化void ExtiInit(void);外部中断应用简述实验中通过外部中断服务函数来检测按键是否按下来控制蜂鸣器和LED灯的亮灭,实验程序如下#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某电池生产厂质量控制细则
- 玻璃产品检验员高级技师考试试卷及答案
- 第48讲 电学实验基础
- 新生儿脓毒症规范化诊疗(依据2022版新生儿脓毒症指南)
- 第十一章 电磁感应(原卷版)
- 第六章 圆周运动 易错点深度总结
- T∕CATAGS 61-2022 短途运输客票技术规范
- 第二单元理解权利义务(复习课件) 2025-2026学年统编版道德与法治八年级下册
- 广东省河源市龙川县隆师中学2026年高三第二学期第一次区模拟化学试题含解析
- 数字健康生态下的新模式
- 2026下半年湖南益阳市资阳区事业单位招聘工作人员16人易考易错模拟试题(共500题)试卷后附参考答案
- 2026浙江杭州市西湖区人民政府西溪街道办事处招聘编外合同制工作人员2人笔试模拟试题及答案解析
- 环氧彩砂自流平地坪施工及验收规范
- 2026年科目1驾驶技术模拟题库及完整答案详解
- 六化建设培训
- TSG08-2026《特种设备使用管理规则》全面解读课件
- 2023年绵阳市林业系统事业单位招聘笔试模拟试题及答案解析
- 部编小学音乐六年级《卡普里岛》课件-一等奖新名师优质公开课获奖比赛人教
- 计算流体力学CFD课件
- 作文与预测-范文gre讲义
- 昆虫生态及预测预报
评论
0/150
提交评论