电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

基于arm的单片机应用及实践幻灯片-第五章

  • 资源ID:88147002       资源大小:1.44MB        全文页数:51页
  • 资源格式: PPT        下载积分:25金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要25金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

基于arm的单片机应用及实践幻灯片-第五章

第五章 GPIO及外部中断的使用,5.1 综述,通用IO,复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式(CNFx1:0=01b,MODEx1:0=00b)。 复位后,JTAG引脚被置于输入上拉或下拉模式: PA15:JTDI置于上拉模式 PA14:JTCK置于下拉模式 PA13:JTMS置于上拉模式 PB4: JNTRST置于上拉模式,单独的位设置或位清除 当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。 这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写1来实现的。没被选择的位将不被更改。,5.1 综述,外部中断/唤醒线,所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。,5.1 综述,软件重新映射I/O复用功能,为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应的寄存器来完成(参考AFIO寄存器描述)。这时,复用功能就不再映射到它们的原始引脚上了。,GPIO锁定机制,锁定机制允许冻结IO配置。当在一个端口位上执行了所定(LOCK)程序,在下一次复位之前,将不能再更改端口位的配置。,5.1 综述,复用功能(AF),使用默认复用功能前必须对端口位配置寄存器编程。 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入管脚必须由外部驱动 对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。,5.1 综述,输入配置,当I/O端口配置为输入时: 输出缓冲器被禁止 施密特触发输入被激活 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 对输入数据寄存器的读访问可得到I/O状态,输出配置,当I/O端口被配置为输出时: 输出缓冲器被激活 施密特触发输入被激活 弱上拉和下拉电阻被禁止 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态 在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。,5.1 综述,复用功能配置,5.1 综述,当I/O端口被配置为复用功能时: 在开漏或推挽式配置中,输出缓冲器被打开 内置外设的信号驱动输出缓冲器(复用功能输出) 密特触发输入被激活 弱上拉和下拉电阻被禁止 在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器 开漏模式时,读输入数据寄存器时可得到I/O口状态 在推挽模式时,读输出数据寄存器时可得到最后一次写的值,模拟输入配置,当I/O端口被配置为模拟输入配置时: 输出缓冲器被禁止; 禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置为0; 弱上拉和下拉电阻被禁止; 读取输入数据寄存器时数值为0。,5.1 综述,5.2 库函数,具体函数用法详情见STM32固件库使用手册,5.3 IO端口的外设,把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15,当LSE振荡器关闭时,LSE振荡器引脚OSC32_IN/OSC32_OUT可以分别用做GPIO的PC14/PC15,LSE功能始终优先于通用I/O口的功能。,把OSC32_IN/OSC32_OUT作为GPIO 端口PC14/PC15,外部振荡器引脚OSC_IN/OSC_OUT可以用做GPIO的PD0/PD1,通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)实现。这个重映射只适用于36、48和64脚的封装(100脚和144脚的封装上有单独的PD0和PD1的引脚,不必重映射)。,5.3 IO端口的外设,5.3 IO端口的外设,CAN复用功能重映射,CAN信号可以被映射到端口A、端口B或端口D上,如下表所示。对于端口D,在36、48和64脚的封装上没有重映射功能。,5.3 IO端口的外设,JTAG/SWD复用功能重映射,调试接口信号被映射到GPIO端口上,如下表所示。,表 调试接口信号,5.3 IO端口的外设,表 调试端口映像,5.3 IO端口的外设,ADC复用功能重映射,ADC1外部触发注入转换复用功能重映射(1),ADC1外部触发规则转换复用功能重映射(1),ADC2外部触发注入转换复用功能重映射(1),5.3 IO端口的外设,ADC2外部触发规则转换复用功能重映射(1),定时器复用功能重映射,5.3 IO端口的外设,定时器4的通道1到通道4可以从端口B重映射到端口D。其他定时器的重映射列在下表。参见复用重映射和调试I/O配置寄存器(AFIO_MAPR),定时器5复用功能重映像(1),定时器4复用功能重映像,5.3 IO端口的外设,定时器3复用功能重映像,定时器2复用功能重映像,定时器1复用功能重映像,5.3 IO端口的外设,5.3 IO端口的外设,USART复用功能重映射,USART3重映像,USART2重映像,5.3 IO端口的外设,USART1重映像,5.3 IO端口的外设,I2C 1 复用功能重映射,I2C 1重映像,SPI 1复用功能重映射,SPI1重映像,5.4 位运算,左移运算符(),左移位相当于该数乘以,左移位相当于该数乘以22,152=60,即乘了。但此结论只适用于该数左移时被溢出舍弃的高位中不包含的情况。 假设以一个字节(位)存一个整数,若为无符号整型变量,则时,左移一位时溢出的是,而左移位时,溢出的高位中包含。,右移运算符(),右移运算符是a2表示将a的各二进制位右移2位,移到右端的低位被舍弃,对无符号数,高位补0。 例如:a=017时: a的值用二进制形式表示为00001111, 舍弃低2位11: a2=00000011 右移一位相当于除以2 右移n位相当于除以2n。,5.4 位运算,5.4 位运算,“按位与”运算符(),按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为,则该位的结果值为;否则为。即: ,,例:并不等于,应该是按位与运算:,注意:如果参加&运算的是负数(如-3&-5),则要以补码形式表示为二进制数,然后再按位进行“与”运算。,3&5的值得,5.4 位运算,“按位或”运算符(|),两个相应的二进制位中只要有一个为,该位的结果值为。 即 |,|,|,|,例: 060|017,将八进制数60与八进制数17进行按位或运算。,00110000 | 00001111 00111111,“取反”运算符(),是一个单目(元)运算符,用来对一个二进制数按位取反,即将变,将变。例如,是对八进制数(即二进制数)按位求反。,0000000000010101 () 1111111111101010 (八进制数177752),5.4 位运算,“异或”运算符(),5.4 位运算,异或运算符也称XOR运算符。 它的规则是: 若参加运算的两个二进制位同号则结果为(假)异号则结果为(真),即:00=0,01=1,10=1, 11=0,00111001 00101010 00010011,即:071052=023 (八进制数),5.5 GPIO控制实例,控制LED闪烁,跑马灯,按键输入,5.6 外部中断和中断控制器,嵌套向量中断控制器,特性 60个可屏蔽中断通道(不包含16个Cortex-M3的中断线); 16个可编程的优先等级(使用了4位中断优先级); 低延迟的异常和中断处理; 电源管理控制; 系统控制寄存器的实现; 嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和有效处理地处理晚到的中断。,中断和异常向量,5.6 外部中断和中断控制器,STM32F10xxx产品的向量表,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,外部中断/事件控制器(EXTI),外部中断/事件控制器由19个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以被独立的屏蔽。挂起寄存器保持着状态线的中断要求。,主要特性,EXTI控制器的主要特性如下: 每个中断/事件都有独立的触发和屏蔽 每个中断线都有专用的状态位 支持多达19个中断/事件请求 检测脉冲宽度低于APB2时种宽度的外部信号。参见数据手册中电气特性部分的相关参数。,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,硬件中断选择 通过下面的过程来配置19个线路做为中断源: 配置19个中断线的屏蔽位(EXTI_IMR) 配置所选中断线的触发选择位(EXTI_RTSR和EXTI_FTSR); 配置那些控制映像到外部中断控制器(EXTI)的NVIC中断通道的使能和屏蔽位,使得19个中断线中的请求可以被正确地响应。,硬件事件选择,通过下面的过程,可以配置19个线路为事件源 配置19个事件线的屏蔽位(EXTI_EMR) 配置事件线的触发选择位(EXTI_RTSR和EXTI_FTSR),5.6 外部中断和中断控制器,软件中断/事件的选择,19个线路可以被配置成软件中断/事件线。下面是产生软件中断的过程: 配置19个中断/事件线屏蔽位(EXTI_IMR, EXTI_EMR) 设置软件中断寄存器的请求位(EXTI_SWIER),5.6 外部中断和中断控制器,NVIC库函数,5.6 外部中断和中断控制器,5.6 外部中断和中断控制器,EXTI库函数,5.6 外部中断和中断控制器,外部中断实例按键输入,实验目的,1. 熟练掌握单片机GPIO输入输出的使用。 2.掌握外部中断的编程步骤。 3.使用外部中断完成按键程序的编写。,5.6 外部中断和中断控制器,硬件设计,硬件连接图如下,实验板上stm32f103x处理器GPIOC的GPIO_Pin_2连接KEY,,通过配置GPIO实现如下功能:按下按键SW1使LED4熄灭,再次按下时点亮。,5.6 外部中断和中断控制器,软件设计,步骤一:添加库函数,以及操作函数。 添加库函数有: startup/start_stm32f10x_hd.c;CMSIS/core_cm3.c;system_stm32f10x.c;FWlib/stm32f10x_gpio.c;stm32f10x_rcc.c;stm32f10x_exti.cFWlib/misc.c。 操作函数有:USER/main.c ;stm32f10x_it.c ;led.c ;exti.c;EXTI2_IRQHandler()。,步骤二:打开system_stm32f10x.c文件,配置系统时钟为72MHZ。,步骤三:打开打开led.c文件,使用函数为LED_GPIO_Config()配置PA10;该函数的实现步骤如下:,5.6 外部中断和中断控制器,void LED_GPIO_Config(void) GPIO_InitTypeDef GPIO_InitStructure;配置PB14 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; GPIO_InitStructure.

注意事项

本文(基于arm的单片机应用及实践幻灯片-第五章)为本站会员(F****n)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.