哈工大嵌入式系统设计4_第1页
哈工大嵌入式系统设计4_第2页
哈工大嵌入式系统设计4_第3页
哈工大嵌入式系统设计4_第4页
哈工大嵌入式系统设计4_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1

LPC1100的引脚配置4.2 LPC1100的GPIO编程4.3 GPIO的应用4.4程序实例第四章LPC1100外设:GPIOLPC1100的引脚配置受体积和成本的限制,物理管脚(pin)的数量有限芯片功能模块的种类和数量所要求的引脚数远大于物理管脚个数多个功能复用物理管脚LPC1100的引脚配置一个脚上的功能有可能多达4个引脚连接模块控制每个管脚功能分配属性I/O配置寄存器控制着引脚的电气特性。可配置选项如下:

管脚功能;

内部电阻上拉/下拉或总线保持功能;

滞后特性;

模拟/数字输入模式;

I2C总线的I2C模式。

LPC1100的引脚配置管脚GPIOTXD0TIMER输出保留标准I/O管脚内部结构

LPC1100的引脚配置IOCON_PIOn_m寄存器控制着管脚功能(GPIO或外设功能)、输入模式和所有GPIOn_m管脚的滞后特性。另外,它可以为不同的I2C总线模式配置I2C总线管脚。如果管脚用作ADC输入管脚,也可以通过IOCON_PIOn_m寄存器配置管脚为模拟输入模式。IOCON_PIOn_m寄存器位域描述

LPC1100的引脚配置管脚功能配置(FUNC)IOCON_PIOn_m寄存器的FUNC位可以设为GPIO(FUNC=0)或者一种外设功能。

LPC1100的引脚配置管脚模式(MODE)允许将每个管脚配置为片内上拉、下拉或中继模式。

片内电阻配置有上拉使能、下拉使能或无上拉/下拉3种状态,缺省值是上拉使能。如果管脚处于逻辑高电平,则中继模式使能上拉电阻;如果管脚处于逻辑低电平,则中继模式使能下拉电阻。这样,如果管脚配置为输入并且不被外部驱动,那么它可以保持上一种已知状态。中继模式可以用于管脚暂时不被驱动时防止管脚悬空

LPC1100的引脚配置管脚模式(MODE)LPC1100的引脚配置滞后作用(HYS)

数字功能的输入缓冲器可以通过IOCON_PIOn_m寄存器的HYS位配置为滞后缓冲器或普通缓冲器。A/D模式(ADMODE)

在A/D模式中,为了使模数转换器可以获取精确的输入电压,数字接收器将断开连接。I2C模式(I2CMODE)

如果寄存器IOCON_PIO0_4和IOCON_PIO0_5的FUNC位选择为I2C功能,则I2C总线管脚可以配置为不同的I2C模式

LPC1100的引脚配置LPC1100的引脚配置LPC1100的引脚配置LPC1100的引脚配置LPC1110系列Cortex-M0微控制器的GPIO具有以下特性:

数字端口可以由软件配置为输入/输出;

所有GPIO引脚默认为输入;

端口引脚的读/写操作是可屏蔽的;

每个单独引脚可被用作外部中断输入引脚;

每个GPIO中断可配置为低电平、高电平、下降沿、上升沿或双边沿触发;

可对单独端口的中断级别进行编程。

LPC1100的GPIO编程所有GPIO寄存器都为32位,可以以字节、半字和字的形式访问。GPIO端口0寄存器的基址为0x50000000;GPIO端口1的基址为0x50010000;GPIO端口2的基址为0x50020000;GPIO端口3的基址为0x50030000。

LPC1100的GPIO编程LPC1100的GPIO编程GPIO数据寄存器

数据寄存器用于读取输入管脚的状态数据,或配置输出管脚的输出状态。GPIOnDATA寄存器位描述

LPC1100的GPIO编程GPIO数据方向寄存器

数据方向寄存器用于控制管脚为输出或输入状态。GPIOnDIR寄存器位描述

LPC1100的GPIO编程GPIO中断相关的寄存器GPIO中断触发寄存器GPIO中断双边沿触发寄存器GIPO中断事件寄存器GPIO中断屏蔽寄存器GPIO原始中断状态寄存器GPIO屏蔽中断状态寄存器GPIO中断清除寄存器

LPC1100的GPIO编程逻辑操作GPIO输入输出是指通过对GPIODATA寄存器的位进行“与”“或”操作实现读取GPIO的状态或输出高低电平,GPIO输入输出应用示例LPC1100的GPIO编程LPC1100的GPIO编程LPC1100的GPIO编程控制一个或多个指示灯GPIO的应用读取一个或多个按键的输入GPIO的应用矩阵扫描式键盘GPIO的应用数字量输出在工业现场往往需要使用数字量信号来驱动外部的执行机构、显示灯等负载。数字量输出

的含义是指这种类型的输出信号只有简单的两种状态:高电平和低电平,也可以理解为开(ON)或者关(OFF)两种状态。

GPIO的应用数字量输出对于工业现场所需要的数字量信号,也具有多种电压等级,这就需要通过不同的输出驱动电路来实现。同时采用不同的输出器件可以使数字量输出信号具有不同的输出形式,如晶体管输出,机械继电器输出、固态继电器输出、双向可控硅输出等。根据输出信号与输出电路是否需要共地,可以采用非隔离或者隔离输出的方式。在设计数字量输出电路时,必须根据输出信号的类型选用合适的电路,例如输出信号的电压等级,输出信号的负载能力,输出触点类型。GPIO的应用非隔离型数字量输出电路

GPIO的应用隔离型数字量输出电路

GPIO的应用继电器输出电路

GPIO的应用程序实例控制四个LED循环显示“流水灯”程序实例程序实例voidKeyPoll(void*pdata){……while(1){while((IO0PIN&KEY1)!=0){OSTimeDly(1);}IO0PIN=IO0PIN^KEY1;while((IO0PIN&KEY1)==0){

OSTimeDly(1);}}}延时1个时间单位延时1个时间单位等待按健按下等待按健释放翻转LED状态初始化代码按键的抖动while(1)

{

if(KEY0

==1)

{

delay_ms(10);

if(KEY0

==1)

。。。

}

delay_ms(10);

}一个实用的按键监测程序u8KEY_Scan(void){staticu8key_up=1;

if(key_up&&(KEY0==0||KEY1==0||KEY2==0||KEY3==0)){delay_ms(10);key_up=0;if(KEY0==0) returnKEY_0;elseif(KEY1==0)returnKEY_1;elseif(KEY2==0)returnKEY_2;elseif(KEY3==0)returnKEY_3;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论