ARM學習篇一 點亮LED

要點亮LED,先決條件是什麼,固然得有相應的硬件設施。板子的整個電路圖比較大,我就直接取相關部分。html



給發光二級管加上3.3v電壓後,經過1k電阻,直接與S3C2440鏈接。至於爲何要加電阻,你們應該都知道,發光二極管的正向電阻很小,管子很容易因電流過大而燒壞。至於具體多少,能夠看你買的管子的說明。url

具體的燒寫驅動安裝,ARM集成開發環境安裝我就不說了。通常都有手冊,手冊裏面說得很清楚。htm

下面是代碼實現:blog

 

 AREA LED,CODE,READONLY
 ENTRY
 CODE32
GPFCON EQU 0x56000050
GPFDAT EQU 0x56000054
GPFUP  EQU 0x56000058
INIT
 LDR R0,=0X70
 LDR R1,=GPFUP
 STR R0,[R1]
 
 LDR R0,=0X1500
 LDR R1,=GPFCON
 STR R0,[R1]
 
 LDR R0,=0X70
 LDR R1,=GPFDAT
 STR R0,[R1]
 
MAIN
 LDR R0,=0X60
 STR R0,[R1]
 BL TIMER
 
 LDR R0,=0X50
 STR R0,[R1]
 BL TIMER
 
 LDR R0,=0X30
 STR R0,[R1]
 BL TIMER
 開發

 B MAIN
TIMER
 LDR R0,=0X5FFFF
TIMER_IMPLEMENT
 
 SUB R0,R0,#1
 CMP R0,#0
 MOVEQ PC,LR
 BNE TIMER_IMPLEMENT
 END
  get

本程序首先定義了三個GPIO操做相關的寄存器名稱。效率

此時注意看手冊,不一樣的芯片相關定義存在差別。硬件

A.外部已加電源,故關閉GPIO端口的上拉電阻功能,設置GPFUP相關位。程序

B.設置端口的輸入輸出屬性,本端口輸入低電平。方法

C.最後根據輸出需求,設置GPIO端口的數據寄存器的值。

上述代碼定時效率低,嚴重浪費CPU,但咱們剛開始,只要瞭解熟悉相關分析方法便可,下篇介紹中斷。

相關文章
相關標籤/搜索