#ARM開發# 點亮LED和操作蜂鳴器
例項:Mini2451_Led_s (檔名)
裝置:ARM實驗板 PC機
編譯環境:KEIL4 MiniTools
實驗前準備:
實驗板接通電源(不需要開啟),連線電腦。開啟MiniTools,按住實驗板最邊上的按鈕同時開機,如顯示沒有連線成功,檢視驅動是否安裝完全,已經安裝驅動的就可以直接顯示connected。此時可以從Minitools中把 . bin 檔案燒錄到實驗板上。
在KEIL4中新建工程Mini2451_Led_s
編譯通過無誤後,在工程檔案output中查詢 .bin 檔案。
由實驗板的電路原理可知: 四個LED燈的介面分別是GPB5,GPB6
查詢實驗板的手冊:
找到對應的GPACON地址,GPADAT地址,GPA25,GPA26口的設定方式 第25,26位置0為輸出狀態
找到對應的GPBCON地址,GPBDAT地址,GPB5,GPB26口的設定方式,第10,11口置01為輸出狀態,第12,13口置01為輸出狀態
下面是原始碼加註釋:
AREA Init, CODE ,READONLY
ENTRY
start
ldr r0,=0x53000000
ldr r1,=0
str r1,[r0] ;關閉看門狗
ldr r0, = 0x56000000 ; GPACON地址賦值
ldr r1, = 0
str r1, [r0]; r1的值依次賦給r0
ldr r0, = 0x56000010 ;GPBCON地址賦值
ldr r1, = 0x1401 ; 0001010000000001 對應的狀態位設定
str r1, [r0]; r1的值依次賦給r0
ldr r0, = 0x5600001c ; 特殊狀態位設定
ldr r1, = 0x0
str r1, [r0];
led_blink
;led on
ldr r0, = 0x56000004 ;GPADAT對應位賦值
ldr r1, = 0
str r1, [r0]; GPADAT
ldr r0, = 0x56000014 ;GPBDAT對應位賦值
ldr r1, = 0x01
str r1, [r0]; GPBDAT
END
程式設計需要舉一反三,上面的就是使用ARM組合語言編寫的實驗程式,實現的思路分倆點:1.根據實驗板手冊設定對應介面I/O狀態
2.根據電路原理圖和實驗板手冊確定對應介面的高低電平的選擇實現對應的現象