在proteus里仿真了下下LPC2124 熟悉了下流程 但虚的就是虚的 没实的实在 咱还是来实在的吧 ^_^
手上的44B0板子闲置了好几年了 灰尘都快把元器件掩盖了 我对这东西却一直是狗拿刺猬的状态 无从下口 最多也就是在uCLinux弄过BOA 可以弄个小网页控制下板子上的灯 但是对底层的东东还是一窍不通 书又太枯燥了 看过去看过来 就不明白
这段时间终于觉得有点突破了 居然可以点灯了 哇哈哈^_^
原理图 点击此处下载 ourdev_426703.pdf(文件大小:117K) (原文件名:ARM_SCH.pdf)
点击此处下载 ourdev_426704.rar(文件大小:18K) (原文件名:test44B0_IO.rar)
代码和LPC2124仿真的都差不多咯 主要是编译设置里注意一下下就可以啦
AREA SAMPLE,CODE,READONLY
ENTRY
START
;BEEP->GPE5 蜂鸣器接的GPE5口,设置为低电平,不然响的烦人
LDR R0,=0x55555555 ;每两位数据配置一位IO口功能,01为输出
LDR R1,=0x01d20028 ;rPCONE地址
STR R0,[R1]
MOV R0,#00
LDR R1,=0x01d2002c ;rPDATE地址
STR R0,[R1]
;LED0->GPC1 LED1->GPC2 LED2->GPC3 3个灯分别接在GPC1 GPC2 GPC3上
LDR R0,=0x55555555 ;每两位数据配置一位IO口功能,01为输出
LDR R1,=0x01d20010 ;rPCONC地址
STR R0,[R1] ;将数据送到R1的地址中,也就是rPCONC
LOOP
MOV R0,#0x0A ;装载数据 点亮LED1 LED3
LDR R1,=0x1d20014 ;rPDATC地址
STR R0,[R1] ;送数据到R1中指向的地址,也就是rPDATC
BL DELAY
MOV R0,#0x04 ;点亮LED2
LDR R1,=0x1d20014
STR R0,[R1]
BL DELAY
B LOOP ;跳回去LOOP,一个死循环
DELAY
MOV R0,#1000
0
MOV R1,#1000
1
SUBS R1,R1,#1
BNE %B1
SUBS R0,R0,#1
BNE %B0
MOV C,LR
END
编译设置主要是RO 和RW要注意下 ,别的和proteus仿真LPC2124一样就可以
如果是下载到开发板上,RO和入口地址要设置为0
如果是在线仿真,也就是把代码直接放到SDRAM里运行,RO和入口地址就需要设置到SDRAM区
RW在两种情况下都设置到SDRAM区,具体的可参考工程里的设置
|