点亮我的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!