欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    通用输入输出接口.ppt

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

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通用输入输出接口.ppt

    第五章 通用输入输出(GPIO)目 录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO 简介|数字量输入/输出GPIOGPIO 是通用型输入/输出(GeneralPurposeI/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合,例如:继电器、LED、蜂鸣器等的控制;传感器状态、高低电平等信息的输入等。目 录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO 特性描述|I/O 结构大部分GPIO 为推挽输出,具有完整I2C 功能的是开漏结构;管脚可承受最大5V 的输入电压。正常拉出灌入电流为4mA,短时间极限值40mA;GPIO 特性描述|通用输入输出所有GPIO 寄存器位于AHB 总线上,可以进行高性能的CPU 快速访问,支持Cortex-M3 位带操作;GPIO 允许进行DMA 数据操作。可配置为上拉/下拉电阻、开漏和中继模式;LPC1700 系列Cortex-M3 有5 组GPIO,多达70 个通用I/O管脚(100 管脚封装);GPIO 特性描述|中断 LPC1700P0.xP2.xLPC1700 系列Cortex-M3 的P0 和P2 还具有中断功能,P0 和P2 每个引脚都可配置为上升沿、下降沿或双边沿中断。上升沿中断下降沿中断边沿中断GPIO中断还具有掉电唤醒功能目 录GPIO简介1GPIO特性描述2GPIO输入输出3GPIO中断4GPIO 输入输出|I/O 相关寄存器LPC1700 系列Cortex-M3 具有5 个端口,所以具有5 组控制寄存器。一个GPIO 引脚在某一时刻,只受4 个位的控制,这4 个位分布在该GPIO 所属端口的4 个控制寄存器中。GPIO端口方向寄存器 FIO xDIR FIO xDIR Bit31 Bit30 Bit1 Bit0GPIO输出置位寄存器 FIO xSET FIO xSET Bit31 Bit30 Bit1 Bit0GPIO输出清零寄存器 FIO xCLR FIO xCLR Bit31 Bit30 Bit1 Bit0GPIO管脚值寄存器 FIO xPIN FIO xPIN Bit31 Bit30 Bit1 Bit0控制的引脚 P x.n P x.n Px.31 Px.30 Px.1 Px.0GPIO 输入输出|I/O 相关寄存器GPIO端口方向寄存器 FIO xDIR FIO xDIR Bit31 Bit30 Bit1 Bit0GPIO输出置位寄存器 FIO xSET FIO xSET Bit31 Bit30 Bit1 Bit0GPIO输出清零寄存器 FIO xCLR FIO xCLR Bit31 Bit30 Bit1 Bit0GPIO管脚值寄存器 FIO xPIN FIO xPIN Bit31 Bit30 Bit1 Bit0LPC1700 系列Cortex-M3 的高速GPIO 口还可通过一些字节和半字访问的寄存器来控制,如FIOxDIR0/1/2/3、FIOxSET0/1/2/3、FIOxCLRL/U 等。控制的引脚 P x.n P x.n Px.31 Px.30 Px.1 Px.0PINSELxFIOxDIR FIOxCLRFIOxPINFIOxSETinout10PINSELxIOxDIR IOxCLRIOxPINIOxSETinout10通用名称 描述 访问类型 复位值FIOxPINGPIO引脚值寄存器,不管方向模式如何,引脚的当前状态都可以从该寄存器中读出只读 NAFIOxSETGPIO输出置位寄存器。该寄存器控制引脚输出高电平读/置位 0 x00000000FIOxCLRGPIO输出清零寄存器。该寄存器控制引脚输出低电平只清零 0 x00000000FIOxDIRGPIO方向控制寄存器。该寄存器单独控制每个IO口的方向读/写 0 x00000000 GPIO相关寄存器描述PINSELxFIOxDIR FIOxCLRFIOxPINFIOxSETinout10 GPIO 相关寄存器描述 FIO xPINFIOxPIN 描述 复位值31:0 GPIO 引脚值。FIOxPIN0 对应于Px.0FIOxPIN31 对应于Px.31 引脚 未定义 该寄存器反映了当前引脚的状态。FIOxPIN中的x对应于某一个端口,如P1口对应于FIO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。注意:无论引脚被设置为输入还是输出模式或者配置为其他可选的数字功能,都不影响引脚状态的读出。PINSELxFIOxDIR FIOxCLRFIOxPINFIOxSETinout10 GPIO 相关寄存器描述 FIO xDIRFIOxDIR 描述 复位值31:0 方向控制位。FIOxDIR0 对应于Px.0FIOxDIR31 对应于Px.31 引脚 0 当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向。向某位写入1使对应引脚作为输出功能,写入0时作为输入功能。作为输入功能时,引脚处于高阻态。PINSELxFIOxDIR FIOxCLRFIOxPINFIOxSETinout10 GPIO 相关寄存器描述 FIO xSETFIOxSET描述 复位值31:0 输出置位。FIOxSET0 对应于Px.0FIOxSET31 对应于Px.31 引脚 0 当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出高电平。向某位写入1使对应引脚输出高电平。写入0无效。从该寄存器读回的数据为GPIO输出寄存器的值。该值不反映外部环境对引脚的影响。PINSELxFIOxDIR FIOxCLRFIOxPINFIOxSETinout10 GPIO 相关寄存器描述 FIO xCLRFIOxCLR 描述 复位值31:0 输出清零。FIOxCLR0 对应于Px.0FIOxCLR31 对应于Px.31 引脚 0 当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。向某位写入1使对应引脚输出低电平。写入0无效。注意:读取该寄存器无效,不能读回输出寄存器的值。GPIO 输入输出|I/O 功能框图INOUT 10GPIOPINSELxPINMODExvccFIOxDIR10FIOxSETFIOxCLRFIOxPINFIOxMASK输出置位寄存器模式选择寄存器功能选择寄存器端口屏蔽寄存器输出清零寄存器端口方向控制寄存器管脚值寄存器复位后默认所有GPIO为上拉输入模式GPIO 输入输出|I/O 屏蔽寄存器 采用屏蔽寄存器FIOxMASK 来屏蔽某些位,可以让软件在一个写操作过程中设置GPIO 相应的位而又不影响到其他的管脚。FIO xSET FIO xSET 1 1 1 0 0 1 1FIO xMASK FIO xMASK 1 0 1 1 0 0 1引脚电平u 1 u u u 1 uu=电平不变GPIO 输入输出|I/O 操作流程FIOxPIN10FIOxCLRFIOxSETINOUT 10FIOxDIRPINMODExvccGPIOPINSELx 设置引脚为GPIO功能1配置引脚模式2设置GPIO的方向3设置GPIO输出电平 4GPIO输入GPIO输出1高电平 1输出操作流程 输入操作流程1读取GPIO引脚电平4 使用GPIO 注意要点引脚设置为输出方式时,输出状态由FIOxSET和FIOxCLR中最后操作的寄存器决定;大部分GPIO输出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA);复位后默认所有GPIO为输入模式。.LPC_PINCON-PINSEL0&=0 xFFFFFFFC;LPC_GPIO0-FIODIR|=0 x00000001;LPC_GPIO0-FIOSET=0 x00000001;.C代码:PINSEL0FIO0DIR FIO0CLRFIO0PINFIO0SETinout10 GPIO应用示例设置P0.0输出高电平P0.0(1)设置引脚连接模块,P0.0为GPIO(2)设置P0.0口方向,设置为输出(3)设置P0.0口状态,输出高电平1.uint32_t PinStat;LPC_PINCON-PINSEL0&=0 xFFFFFFFC;LPC_GPIO0-FIODIR&=0 xFFFFFFFE;PinStat=LPC_GPIO0-FIOPIN;.C代码:PINSEL0FIO0DIR FIO0CLRIO0PINFIO0SETinout10 GPIO应用示例读取P0.0引脚状态P0.0(1)设置引脚连接模块,P0.0为GPIO(2)设置P0.0口方向,设置为输入(3)从FIO0PIN读取引脚状态FIO0PIN#define DataBus 0 xFF PINSEL0&=0 xFFFF0000;FIO0DIR|=DataBus;FIO0CLR=DataBus;FIO0SET=Data;.使用FIOxSET和FIOxCLR实现:GPIO应用示例输出多位数据至IO口(1)设置引脚连接模块,P0.0P0.7为GPIO(2)设置P0.0口方向,设置为输出(3)清零8位IO口的输出状态 在需要将多位数据同时输出到某几个IO口线时,通常使用FIOxSET和FIOxCLR来实现,在某些情况下也可以使用FIOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。本例将8位无符号整形变量Data的值输出到P0.0P0.7。(4)Data变量中为1的位将输出高电平0 x?0 x00 Data数据输出线:#define DataBus 0 xFF PINSEL0&=0 xFFFF0000;FIO0DIR|=DataBus;FIO0PIN=(FIO0PIN&0 xFFFFFF00)|Data;.GPIO应用示例输出多位数据至IO口(1)设置引脚连接模块,P0.0 P0.7为GPIO(2)设置P0.0口方向,设置为输出(3)写FIO0PIN,输出数据 在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。本例将8位无符号整数变量Data的值输出到P0.0P0.7。使用FIOxPIN实现:0 x?Data数据输出线:0 x?0 x00 Data与前者对比:

    注意事项

    本文(通用输入输出接口.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开