ARM入门笔记(3)

发布时间:2019-09-12 07:54:16编辑:auto阅读(1442)

    第三章 点亮我的LED
    ――I/O输出实验
    一.背景
    当完成上述实验后,我就可以像使用51单片机那样,在C文件的main()函数中通过设置相应的寄存器来达到对相应外设(如I/O的输入、输出等)的控制目的。
    二.实验目的
    通过控制PIO的相关寄存器,使特定的I/O口输出高电平和低电平,来点亮LED。
    三.实验程序和参数设置
                1> 连接器选项设置

    RO Base = 0x00200000;
    RW Base = 0x00202000;
    Image entry point=0x00200000;
                2> 启动代码

    启动代码与第一个实验中修改后的相同,即将“__main()”改成main()。
                3> C语言的代码

    #i nclude "AT91SAM7S64.h"  //特殊功能寄存器头文件。类似与51单片机中reg51.h
    #i nclude "Board.h"   //定义目标板的头文件
    int main(void)
    { *AT91C_PIOA_PER = LED_MASK;//使能4个LED对应管脚的I/O口功能
      *AT91C_PIOA_OER = LED_MASK;//使能4个LED管脚的输出功能
    while (1)
      { //可用单步运行来查看输出结果
       *AT91C_PIOA_SODR = LED1;//将LED1对应的管脚输出高电平
       *AT91C_PIOA_CODR = LED1;//将LED1对应的管脚输出低电平
      }
    }
    四.总结
    本实验非常的顺利,没有出现问题。证明ARM芯片的内部外围与8位单片机内部外围的控制或使用方法在原理上基本是相同的,都是通过设置相关的特殊功能寄存器来实现控制。也就是说只要会单片机也就会ARM!

关键字