《ARM硬件结构应用》PPT课件.ppt
《《ARM硬件结构应用》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《ARM硬件结构应用》PPT课件.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院和STM32 简介固件库3.系统控制模块4.引脚连接模块操作6.向量中断控制器7.外中断输入LPC和STM32系列ARM硬件结构与应用8.定时器原理及应用接口及应用接口及应用转换器及应用12.看门狗原理与应用14.实时时钟嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院4 引脚连接模块概述 LPC2000系列微控制器的大部分管脚都具有多种功能,即管脚复用,但是同一引脚在同一时刻只能使用其中一个功能,通过配置相关寄存器控制多路开关来连接引脚与片内外设。引脚P0.0GPIOTXD0PWM1输出保留PINSELx引脚连接
2、寄存器PINSELx1:000011011默认为GPIO功能选择TXD0功能,配置对应位为01选择PWM1功能,配置对应位为10选择保留功能,配置对应位为11嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院4 引脚连接模块 LPC2000系列微控制器具有三个32位宽度PINSEL寄存器,其中PINSEL0和PINSEL1控制端口0,PINSEL2根据芯片的不同控制的端口数量也不同。寄存器描述寄存器LPC2100LPC2200PINSEL0P00:15PINSEL1P016:31PINSEL2P116:31P10:1、P116:31、P20:31、P30:31嵌入式系统及应用嵌入
3、式系统及应用福州大学物信学院福州大学物信学院4 引脚连接模块应用示例PINSEL0=0 x05 16;要求将、设置为TxD1、RxD1 通过查阅PINSE0寄存器设置表,得到和的控制位为PINSEL019:16,当该域设置为0101(0 x05)时选择 RxD1和 TxD1。为了不影响别的管脚连接设置,通常选择下面的设置方法。PINSEL0=(PINSEL0&0 xFFF0FFFF)|(0 x05 16);嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院5 GPIO引脚描述 LPC2114/2124微控制器具有两个端口P0和P1,可以作为GPIO使用的引脚数为46个。LPC22
4、10/2212/2214微控制器还包含另外两个端口P2和P3,这个两个端口与外部存储器总线复用,当它们全部作为GPIO使用时,GPIO引脚数多达112个。GPIO与控制寄存器的关系PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10引脚嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10通用名称描述访问类型复位值IOPINGPIO引脚值寄存器,不管方向模式如何,引脚的当前状态都可以从该寄存器中读出只读NAIO
5、SETGPIO输出置位寄存器。该寄存器控制引脚输出高电平读/置位0 x00000000IOCLRGPIO输出置位寄存器。该寄存器控制引脚输出低电平只清零0 x00000000IODIRGPIO方向控制寄存器。该寄存器单独控制每个IO口的方向读/写0 x00000000GPIO相关寄存器描述嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相关寄存器描述IOxPINIOxPIN描述复位值31:0GPIO引脚值。IOxPIN0对应于Px.0 IOxPIN31对应于Px.31引脚未定义 该寄存器反映了当
6、前引脚的状态。IOxPIN中的x对应于某一个端口,如P1口对应于IO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。注意:无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相关寄存器描述IOxDIRIOxDIR描述复位值31:0方向控制位。IOxDIR0对应于Px.0 IOxDIR31对应于Px.31引脚0 当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向
7、。向某位写入1使对应引脚作为输出功能,写入0时作为输入功能。作为输入功能时,引脚处于高阻态。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相关寄存器描述IOxSETIOxSET描述复位值31:0输出置位。IOxSET0对应于Px.0 IOxPIN31对应于Px.31引脚0 当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出高电平。向某位写入1使对应引脚输出高电平。写入0无效。从该寄存器读回的数据为GPIO输出寄存器的值。该值不反映外部环境对引脚的影响。嵌入式系统及应用嵌入式系统及应用福州
8、大学物信学院福州大学物信学院PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相关寄存器描述IOxCLRIOxCLR描述复位值31:0输出清零。IOxCLR0对应于Px.0 IOxCLR31对应于Px.31引脚0 当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。向某位写入1使对应引脚输出低电平。写入0无效。注意:读取该寄存器无效,不能读回输出寄存器的值。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院5 GPIO使用GPIO注意要点引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定;大部分GPIO输
9、出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA);复位后默认所有GPIO为输入模式。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 .PINSEL0&=0 xFFFFFFFC;IO0DIR|=0 x00000001;IO0SET =0 x00000001;.C代码:PINSEL0IO0DIRIO0CLRIO0PINIO0SETinout10GPIO应用示例设置输出高电平(1)设置引脚连接模块,P0.0为GPIO(2)设置P0.0口方向,设置为输出(3)设置P0.0口状态,输出高电平1嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大
10、学物信学院 .uint32 PinStat;PINSEL0&=0 xFFFFFFFC;IO0DIR&=0 xFFFFFFFE;PinStat =IO0PIN;.C代码:PINSEL0IO0DIRIO0CLRIO0PINIO0SETinout10GPIO应用示例读取引脚状态(1)设置引脚连接模块,P0.0为GPIO(2)设置P0.0口方向,设置为输入(3)从IO0PIN读取引脚状态IO0PIN嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院#define DataBus 0 xFF PINSEL0&=0 xFFFF0000;IO0DIR|=DataBus;IO0CLR =Data
11、Bus;IO0SET =Data;.使用IOxSET和IOxCLR实现:GPIO应用示例输出多位数据至IO口(1)设置引脚连接模块,P0.07为GPIO(2)设置P0.0口方向,设置为输出(3)清零8位IO口的输出状态 在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。本例将8位无符号整形变量Data的值输出到。(4)Data变量中为1的位将输出高电平0 x?0 x00Data数据输出线:嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院#define Da
12、taBus 0 xFF PINSEL0&=0 xFFFF0000;IO0DIR|=DataBus;IO0PIN =(IO0SET&0 xFFFFFF00)|Data;.GPIO应用示例输出多位数据至IO口(1)设置引脚连接模块,P0.0为GPIO(2)设置P0.0口方向,设置为输出(3)写IO0PIN,输出数据 在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。本例将8位无符号整数变量Data的值输出到。使用IOxPIN实现:0 x?Data数据输出线:0 x?0 x00
13、Data与前者对比:嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院STM32 GPIO操作主要功能:通用I/O(GPIO)用,输入输出;单独的位设置或位清除;外部中断/唤醒线:端口必须配置成输入模式时,所有端口都有外部中断能力;复用功能(AF),并且软件能重新映射I/O复用功能;GPIO锁定机制:主要针对复位设定的,当某端口位lock后,复位后将不改变的此端口的位配置。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院STM32 GPIO操作强大的GPIO功能,可设置:GPIOMode_TypeDef GPIO mode 定义及偏移地址 GPIO mode:GP
14、IO_Mode_AIN 0 x00 模拟输入 GPIO_Mode_IN_FLOATING 0 x04 悬空输入 GPIO_Mode_IPD 0 x28 下拉输入 GPIO_Mode_IPU 0 x48 上拉输入 GPIO_Mode_Out_OD 0 x14 开漏输出 GPIO_Mode_Out_PP 0 x10 推挽输出 GPIO_Mode_AF_OD 0 x1c 开漏复用 GPIO_Mode_AF_PP 0 x18 推挽复用 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院STM32 GPIO操作输出速度通过GPIOSpeed_TypeDef结构体可选择:2MHz,10MHz
15、,50MHz。typedef enum GPIO_Speed_10MHz,GPIO_Speed_2MHz,GPIO_Speed_50MHzGPIOSpeed_TypeDef;嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院固件库里面的固件库里面的GPIO库文件已经为我们准备好了很多的操库文件已经为我们准备好了很多的操作函数,可以直接使用。作函数,可以直接使用。1.GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct):根据GPIO_InitTypeDef里面的值,初始化某排里面的某些引脚的模式跟速度 2.GP
16、IO_StructInit(GPIO_InitTypeDef*GPIO_InitStruct):给GPIO_InitTypeDef里面的项目赋默认值 3.GPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin):某排引脚某个引脚输出1 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院固件库里面的固件库里面的GPIO库文件已经为我们准备好了很多的操库文件已经为我们准备好了很多的操作函数,可以直接使用。作函数,可以直接使用。4.GPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin):某排引
17、脚某个引脚输出0 5.GPIO_Write(GPIO_TypeDef*GPIOx,uint16_t PortVal):设置某排引脚输出值 6.GPIO_ReadInputData(GPIO_TypeDef*GPIOx):读整排引脚的值 7.GPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin):读某排引脚里面的输出寄存器的某个引脚值 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院操作实例做个跑马灯程序,口分别4个LED灯,当I/O为高电平时LED灯点亮。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物
18、信学院#include“stm32f10 x.h”#include“stm32f10 x_conf.h”GPIO_InitTypeDef PAInit;void LED_Init(void)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);/开GPIOC时钟PAInit.GPIO_Pin=GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;PAInit.GPIO_Mode=GPIO_Mode_Out_PP;PAInit.GPIO_Speed=GPIO_Speed_2MHz;GPIO_Init(GP
19、IOA,&PAInit);嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院main()LED_Init();while(1)GPIO_SetBits(GPIOA,GPIO_Pin_11);/GPIOA.11=1 Delay(0 x8ffff);GPIO_ResetBits(GPIOA,GPIO_Pin_11);/GPIOA.11=0 Delay(0 x8ffff);GPIO_SetBits(GPIOA,GPIO_Pin_12);Delay(0 x8ffff);GPIO_ResetBits(GPIOA,GPIO_Pin_12);Delay(0 x8ffff);GPIO_SetBi
20、ts(GPIOA,GPIO_Pin_13);Delay(0 x8ffff);GPIO_ResetBits(GPIOA,GPIO_Pin_13);Delay(0 x8ffff);GPIO_SetBits(GPIOA,GPIO_Pin_14);Delay(0 x8ffff);GPIO_ResetBits(GPIOA,GPIO_Pin_14);Delay(0 x8ffff);嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院6 向量中断控制器概述 ARM7TDMI内核具有两个中断输入,分别为IRQ中断和FIQ中断。向量中断控制器(VIC)负责管理芯片的中断源,最多可以管理32个中断输入
21、请求。CPU 内核ARM7TDMI-S嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院6.向量中断控制器程序状态寄存器CPSR与VIC的关系 ARM内核通过CPSR来监视和控制内部的操作,CPSR中的“I”位和“F”位分别用来控制IRQ模式和FIQ模式的使能。CPUARM7TDMI-SVICIRQFIQCPSR 7(I)CPSR 6(F)嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院6.向量中断控制器程序状态寄存器CPSR与VIC的关系 当I=1时,禁止IRQ中断CPUARM7TDMI-SVICIRQFIQCPSR 7(I)CPSR 6(F)当I=0时,使能I
22、RQ中断CPUARM7TDMI-SVICIRQFIQCPSR 7(I)CPSR 6(F)嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院6.向量中断控制器程序状态寄存器CPSR与VIC的关系 当F=1时,禁止FIQ中断CPUARM7TDMI-SVICIRQFIQCPSR 7(I)CPSR 6(F)当F=0时,使能FIQ中断CPUARM7TDMI-SVICIRQFIQCPSR 7(I)CPSR 6(F)嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院6.向量中断控制器中断分类中断输入请求可以在VIC中被设置为以下三类:FIQ中断:具有最高优先级;向量IRQ中断:具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM硬件结构应用 ARM 硬件 结构 应用 PPT 课件
限制150内