新聞中心

ARM入門(mén)筆記(3)

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
點(diǎn)亮我的LED

――I/O輸出實(shí)驗(yàn)

一.背景

當(dāng)完成上述實(shí)驗(yàn)后,我就可以像使用51單片機(jī)那樣,在C文件的main()函數(shù)中通過(guò)設(shè)置相應(yīng)的寄存器來(lái)達(dá)到對(duì)相應(yīng)外設(shè)(如I/O的輸入、輸出等)的控制目的。

二.實(shí)驗(yàn)?zāi)康?br />
通過(guò)控制PIO的相關(guān)寄存器,使特定的I/O口輸出高電平和低電平,來(lái)點(diǎn)亮LED。

三.實(shí)驗(yàn)程序和參數(shù)設(shè)置

1>連接器選項(xiàng)設(shè)置

RO Base = 0x00200000;
RW Base = 0x00202000;
Image entry point=0x00200000;

2> 啟動(dòng)代碼

啟動(dòng)代碼與第一個(gè)實(shí)驗(yàn)中修改后的相同,即將“__main()”改成main()。

3>C語(yǔ)言的代碼

#i nclude "AT91SAM7S64.h"http://特殊功能寄存器頭文件。類(lèi)似與51單片機(jī)中reg51.h
#i nclude "Board.h" //定義目標(biāo)板的頭文件
int main(void)
{ *AT91C_PIOA_PER = LED_MASK;//使能4個(gè)LED對(duì)應(yīng)管腳的I/O口功能
*AT91C_PIOA_OER = LED_MASK;//使能4個(gè)LED管腳的輸出功能
while (1)
{ //可用單步運(yùn)行來(lái)查看輸出結(jié)果
*AT91C_PIOA_SODR = LED1;//將LED1對(duì)應(yīng)的管腳輸出高電平
*AT91C_PIOA_CODR = LED1;//將LED1對(duì)應(yīng)的管腳輸出低電平
}
}

四.總結(jié)

本實(shí)驗(yàn)非常的順利,沒(méi)有出現(xiàn)問(wèn)題。證明ARM芯片的內(nèi)部外圍與8位單片機(jī)內(nèi)部外圍的控制或使用方法在原理上基本是相同的,都是通過(guò)設(shè)置相關(guān)的特殊功能寄存器來(lái)實(shí)現(xiàn)控制。也就是說(shuō)只要會(huì)單片機(jī)也就會(huì)ARM!


關(guān)鍵詞: ARM入門(mén)筆記IO輸

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉