文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Philips LPC2114 ARM7TDMI学习

Philips LPC2114 ARM7TDMI学习

时间:2009-04-02  来源:creatory


1.使用管脚选择寄存器将P0管脚配置成GPIO
管脚选择寄存器0(PINSEL0,0xe002c000)用于配置P0
(P0.0~P0.31)管脚的功能,IO0DIR,IO1DIR寄存器中的方向 控制位只有在管脚配置成GPIO功能时才有效.对于其他功能 方向自动控制.
由LPC2114用户手册可知欲将P0配置成GPIO,则要由
PINSEL0寄存器控制
PINSEL0=00000000000000000000000000000000(32位
)或PINSEL0=0x00000000(采用十六进制) 2.GPIO寄存器映射
IOPIN:只读,GPIO管脚值寄存器,不管方向和模式如何设定
管脚的当前状态都可从该寄存器中读出.
IO0PIN(0xe0028000)
IO1PIN(0xe0028010)
IOSET:读/置位,GPIO输出置位寄存器,该寄存器和IOCLR一 起控制输出管脚的状态.写入1使对应管脚输出高电平,写入0 无效.
IO0SET(0xe0028004)
IO1SET(0xe0028014)
IODIR:读/写,GPIO方向控制寄存器,单独控制每个I/O口的 方向0=输入,1=输出
IO0DIR(0xe0028008)
IO1DIR(0xe0028018)
IOCLR:只清零,GPIO输出清零寄存器,写入1命名对应管脚输 出低电平并清零IOSET寄存器中的对应位写入0无效.
IO0CLR(0xe002800c)
IO1CLR(0xe002801c)
例:使用P0的GPIO功能做闪烁灯
 AREA FLASHLED,CODE,READONLY
 ENTRY
START
 ;首先将P0配置成GPIO(PINSEL0)
 LDR R0,=0XE002C000
 LDR R1,=0X00000000
 STR R1,[R0]
 ;将P0的方向配置为输出(IO0DIR)
 LDR R0,=0XE0028004
 LDR R1,=0XFFFFFFFF
 STR R1,[R0]
 
LOOP
 ;先输出高电平(输出置位寄存器IO0SET)
 LDR R0,=0XE0028004 
 LDR R1,=0XFFFFFFFF
 STR R0,[R1]
 ;延时
 BL DELAY
 
 ;再输入低电平(输出清零寄存器IO0CLR)
 LDR R0,=0XE002800C
 LDR R1,=0XFFFFFFFF
 STR R0,[R1]
 
 ;延时
 BL DELAY
 
 ;跳回去继续循环
 B LOOP
;延时子程序
DELAY
 MOV R0,#100
0
 MOV R1,#1000
1
 SUBS R1,R1,#1
 BNE %B1
 SUBS R0,R0,#1
 BNE %B0
 
 MOV PC,LR ;返回
 END ;汇编结束
 
相关阅读 更多 +
排行榜 更多 +
爱变幻智能清理

爱变幻智能清理

游戏工具 下载
MIYI泊松足球

MIYI泊松足球

浏览阅读 下载
樱桃骑士

樱桃骑士

动作格斗 下载