? 發問時間: 教育與參考考試 · 1 0 年前

嵌入式系統概論題

嵌入式系統概論題庫

[1]本題是以由Assembly呼叫C之程式,並用PORTB的Bit 1作為LED的控制,試完成1至10的填空。

AREA Init,CODE,READONLY

__(1)__

EXPORT__ENTRY

__ENTRY

ResetEntry

ldrsp,=0x33ff8000

IMPORT __(2)___

BLMain

__(3)___ delay

delay

sub r0,r0,#1

cmp r0,#0x0

bne __(4)__

____(5)___

END

------------------------------------------------------------

#define rGPBCON(*(volatile unsigned *)0x56000010)

#define rGPBDAT(*(volatile unsigned *)0x56000014)

#define rGPBUP(*(volatile unsigned *)0x56000018)

__(6)__ int delay(int time);

__(7)__ Main()

{

rGPBCON=__(8)___

rGPBUP=0xffff;

while(1)

{

rGPBDAT=__(9)___;

delay(0x1fffff);

rGPBDAT=__(10)__;

delay(0x1fffff);

}}

[2]本題也是Assembly呼叫C之程式,並用PORTB的Bit 3與Bit 2作為LED的控制,試完成1至10的填空。

AREA Init,__(1)___,__(2)___

ENTRY

EXPORT__ENTRY

__ENTRY

ResetEntry

IMPORT Main

BL__(3)___

END

--------------------------------------------------

#defineLED32_ON()(rGPBDAT &= ~__(4)__)/* Bit3=Bit2=全亮*/

#defineLED32_OFFON()(rGPBDAT &= ~__(5)__)/* Bit3=暗、Bit2=亮*/

#defineLED32_ONOFF()(rGPBDAT |= ___(6)__)/* Bit3=亮、Bit2=暗*/

#defineLED32_OFF()(rGPBDAT |= ___(7)__)/* Bit3=Bit2=全暗*/

void delay(int i);

void delay(int i)

{

long j;

for (j=0;j<i;j++) ;

}

void Main()

{rGPBCON=__(8)__;

rGPBUP= __(9)__;

while(__(10)___)

{

LED32_ON();

delay(0x7fffff);

LED32_OFFON();

delay(0x7fffff);

LED32_ONOFF();

delay(0x7fffff);

LED32_OFF();

delay(0x7fffff);

}}

******************************************************

1 個解答

評分
  • 修心
    Lv 4
    1 0 年前
    最佳解答

    相關程式可以參考網上一些ARM code範例

還有問題?馬上發問,尋求解答。