资源描述:
《【GPIO】LPC1700系列Cortex-M3_ZLG1.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、通用输入输出(GPIO)LPC1700系列Cortex-M3微控制器目录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO简介
2、数字量输入/输出——GPIOGPIO是通用型输入/输出(GeneralPurposeI/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合,例如:继电器、LED、蜂鸣器等的控制;传感器状态、高低电平等信息的输入等。目录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO特性描述
3、I/O结构大部分GPIO为推挽输出,具有完整I2C功能的是开漏结构;管脚可承受最
4、大5V的输入电压。正常拉出灌入电流为4mA,短时间极限值40mA;GPIO特性描述
5、通用输入输出所有GPIO寄存器位于AHB总线上,可以进行高性能的CPU快速访问,支持Cortex-M3位带操作;GPIO允许进行DMA数据操作。可配置为上拉/下拉电阻、开漏和中继模式;LPC1700系列Cortex-M3有5组GPIO,多达70个通用I/O管脚(100管脚封装);GPIO特性描述
6、中断LPC1700P0.xP2.xLPC1700系列Cortex-M3的P0和P2还具有中断功能,P0和P2每个引脚都可配置为上升沿、下降沿或边沿中断。上升
7、沿中断下降沿中断边沿中断GPIO中断还具有掉电唤醒功能目录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO输入输出
8、I/O相关寄存器LPC1700系列Cortex-M3具有5个端口,所以具有5组控制寄存器。一个GPIO引脚在某一时刻,只受4个位的控制,这4个位分布在该GPIO所属端口的4个控制寄存器中。GPIO端口方向寄存器FIOxDIRBit31Bit30……Bit1Bit0GPIO输出置位寄存器FIOxSETBit31Bit30……Bit1Bit0GPIO输出清零寄存器FIOxCLRBit31Bit30…
9、…Bit1Bit0GPIO管脚值寄存器FIOxPINBit31Bit30……Bit1Bit0控制的引脚Px.nPx.31Px.30……Px.1Px.0GPIO输入输出
10、I/O相关寄存器GPIO端口方向寄存器FIOxDIRBit31Bit30……Bit1Bit0GPIO输出置位寄存器FIOxSETBit31Bit30……Bit1Bit0GPIO输出清零寄存器FIOxCLRBit31Bit30……Bit1Bit0GPIO管脚值寄存器FIOxPINBit31Bit30……Bit1Bit0LPC1700系列Cortex-M3的高速GPIO口
11、还可通过一些字节和半字访问的寄存器来控制,如FIOxDIR0/1/2/3、FIOxSET0/1/2/3、FIOxCLRL/U等。控制的引脚Px.nPx.31Px.30……Px.1Px.0GPIO输入输出
12、I/O功能框图INOUT10GPIOPINSELxPINMODExvccFIOxDIR10FIOxSETFIOxCLRFIOxPINFIOxMASK输出置位寄存器模式选择寄存器功能选择寄存器端口屏蔽寄存器输出清零寄存器端口方向控制寄存器管脚值寄存器复位后默认所有GPIO为上拉输入模式GPIO输入输出
13、I/O屏蔽寄存器采用屏蔽寄存器F
14、IOxMASK来屏蔽某些位,可以让软件在一个写操作过程中设置GPIO相应的位而又不影响到其他的管脚。FIOxSET11……10011FIOxMASK10……11001引脚电平u1……uuu1uu=电平不变GPIO输入输出
15、I/O操作流程FIOxPIN10FIOxCLRFIOxSETINOUT10FIOxDIRPINMODExvccGPIOPINSELx设置引脚为GPIO功能1配置引脚模式2设置GPIO的方向3设置GPIO输出电平4GPIO输入GPIO输出1高电平1输出操作流程输入操作流程1读取GPIO引脚电平4GPIO输入输出
16、I/
17、O操作流程INOUT10FIO0DIRFIO0SET10FIO0CLRGPIOPINSEL01高电平P0.0FIO0PIN设置引脚连接模块,P0.0为GPIOPINSEL0&=0xFFFFFFFC;设置GPIO口方向,P0.0为输出FIO0DIR
18、=0x00000001;设置输出电平,P0.0为高电平FIO0SET=0x00000001;操作示例——P0.0输出高电平GPIO输入输出
19、I/O操作流程GPIOINOUT10FIO0DIRFIO0SET10FIO0CLRPINSEL0P0.0FIO0PIN高电平1FIO0PIN设置引脚连
20、接模块,P0.0为GPIOPINSEL0&=0xFFFFFFFC;设置GPIO口方向,P0.0为输入FIO0DIR&=0xFFFFFFFE;通过FIO0PIN获取P0.0当前电平状态PinStat=FIO0PIN&0x01;uint3