ARM入門筆記(3)
――I/O輸出實驗
一.背景
當完成上述實驗后,我就可以像使用51單片機那樣,在C文件的main()函數(shù)中通過設置相應的寄存器來達到對相應外設(如I/O的輸入、輸出等)的控制目的。
二.實驗目的
通過控制PIO的相關寄存器,使特定的I/O口輸出高電平和低電平,來點亮LED。
三.實驗程序和參數(shù)設置
1>連接器選項設置
RO Base = 0x00200000;
RW Base = 0x00202000;
Image entry point=0x00200000;
2> 啟動代碼
啟動代碼與第一個實驗中修改后的相同,即將“__main()”改成main()。
3>C語言的代碼
#i nclude "AT91SAM7S64.h"http://特殊功能寄存器頭文件。類似與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對應的管腳輸出低電平
}
}
四.總結
本實驗非常的順利,沒有出現(xiàn)問題。證明ARM芯片的內部外圍與8位單片機內部外圍的控制或使用方法在原理上基本是相同的,都是通過設置相關的特殊功能寄存器來實現(xiàn)控制。也就是說只要會單片機也就會ARM!
評論