查看: 1981|回复: 0
打印 上一主题 下一主题

44b0实战入门:从点灯到点TFT屏,从裸奔到上UCOS系统【恢复】

[复制链接]
跳转到指定楼层
沙发
发表于 2016-5-30 18:06:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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&nbspC,LR



    END



编译设置主要是RO 和RW要注意下 ,别的和proteus仿真LPC2124一样就可以

如果是下载到开发板上,RO和入口地址要设置为0

如果是在线仿真,也就是把代码直接放到SDRAM里运行,RO和入口地址就需要设置到SDRAM区

RW在两种情况下都设置到SDRAM区,具体的可参考工程里的设置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表