第次课lpc系列ARM简介及GPIO驱动开发.ppt

上传人:本田雅阁 文档编号:2541594 上传时间:2019-04-06 格式:PPT 页数:30 大小:1,010.51KB
返回 下载 相关 举报
第次课lpc系列ARM简介及GPIO驱动开发.ppt_第1页
第1页 / 共30页
第次课lpc系列ARM简介及GPIO驱动开发.ppt_第2页
第2页 / 共30页
第次课lpc系列ARM简介及GPIO驱动开发.ppt_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第次课lpc系列ARM简介及GPIO驱动开发.ppt》由会员分享,可在线阅读,更多相关《第次课lpc系列ARM简介及GPIO驱动开发.ppt(30页珍藏版)》请在三一文库上搜索。

1、LPC2000系列ARM硬件结构,Lpc21xx硬件结构及GPIO,4.1 LPC2000系列简介,LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。,简介,LPC2000系列ARM产品,LPC2100系列 LPC2200系列 LPC2300系列 LPC2400系列 LPC2800系列 LPC3000系列(new) LPC1700系列(new) LPC1100系列(new) LPC4074FBD80(cortex-m4),LPC200

2、0系列ARM器件信息,LPC2000系列ARM器件信息,4.1 LPC2100/2200系列简介,器件信息,关于LPC2000其它器件的介绍请登录,芯片内部结构,LPC2000系列微控制器包含4大部分:,4.2 引脚描述,LPC2000系列芯片外形,LPC2210/2220/2212/2214,LPC2114/2124,LQFP-48 LQFP-64 LQFP-144,LPC2xxx系列常见封装,LPC2000系列芯片大小,64PIN,48PIN,144PIN,LPC2000系列芯片大小,引脚配置,引脚功能选择使用示例,LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一引脚

3、在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。,通过PINSEL0控制引脚功能,4.7 引脚连接模块,概述,LPC2000系列微控制器的大部分管脚都具有多种功能,即管脚复用,但是同一引脚在同一时刻只能使用其中一个功能,通过配置相关寄存器控制多路开关来连接引脚与片内外设。,01,10,11,P0.0默认为GPIO功能,P0.0选择TXD0功能,配置对应位为01,P0.0选择PWM1功能,配置对应位为10,P0.0选择保留功能,配置对应位为11,4.7 引脚连接模块,LPC2000系列微控制器具有三个32位宽度PINSEL寄存器,其中PI

4、NSEL0和PINSEL1控制端口0,PINSEL2根据芯片的不同控制的端口数量也不同 。,寄存器描述,PINSEL2寄存器与外部总线,PINSEL25:4与数据总线和控制线的关系列表,PINSEL227:25与地址线的关系列表,4.7 引脚连接模块,4.7 引脚连接模块,应用示例,PINSEL0 = 0x05 16;,要求将P0.8、P0.9设置为TxD1、RxD1 通过查阅PINSE0寄存器设置表,得到P0.9和P0.8的控制位为PINSEL019:16,当该域设置为0101 (0x05)时选择 RxD1和 TxD1。,为了不影响别的管脚连接设置,通常选择下面的设置方法。,PINSEL0

5、= (PINSEL0 ,GPIO的使用,LPC2000系列ARM硬件结构,GPIO:General Perpose Input & Output 通用目的的输入和输出,LPC的GPIO是标准双向端口,4.8 GPIO,引脚描述,LPC2114/2124微控制器具有两个端口P0和P1,可以作为GPIO使用的引脚数为46个。 LPC2210/2212/2214微控制器还包含另外两个端口P2和P3,这个两个端口与外部存储器总线复用,当它们全部作为GPIO使用时,GPIO引脚数多达112个。,GPIO与控制寄存器的关系,引脚,GPIO相关寄存器描述,PINSELx,IOxDIR,IOxCLR,IOxP

6、IN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxPIN,该寄存器反映了当前引脚的状态。IOxPIN中的x对应于某一个端口,如P1口对应于IO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。 写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。 注意:无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxDIR,当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向。向某位写入1使对应引脚作为输出功能,写入0时作为输入功

7、能。 作为输入功能时,引脚处于高阻态。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxSET,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出高电平。向某位写入1使对应引脚输出高电平。写入0无效。 从该寄存器读回的数据为GPIO输出寄存器的值。该值不反映外部环境对引脚的影响。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxCLR,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。向某位写入1使对应引脚输出低电平。写入0无效

8、。 注意:读取该寄存器无效,不能读回输出寄存器的值。,4.8 GPIO,使用GPIO注意要点,引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定; 大部分GPIO输出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA); 复位后默认所有GPIO为输入模式。,#define PINSEL0 (*(volatile unsigned long *) 0xE002C000) . PINSEL0 .,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例设置P0.0输出高电

9、平,P0.0,. uint32 PinStat; PINSEL0 .,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例读取P0.0引脚状态,P0.0,IO0PIN,#define DataBus 0xFF PINSEL0 .,使用IOxSET和IOxCLR实现:,GPIO应用示例输出多位数据至IO口,在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。 本例将8位无符号整形变量Data的值输出到P0.0

10、P0.7。,数据输出线:,#define DataBus 0xFF PINSEL0 .,GPIO应用示例输出多位数据至IO口,在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。 本例将8位无符号整数变量Data的值输出到P0.0P0.7。,使用IOxPIN实现:,数据输出线:,2.2 ARM7TDMI,简介,ARM7TDMI是基于ARM体系结构V4版本的低端ARM核。 其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:,注意:“ARM核”并非芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1