■두더지 게임■
#LED가 켜진 위치의 키보드 버튼을 누르면 LED가 꺼지고 랜덤으로 다른 LED가 켜진다.
UTRSTAT1과URXH1을 이용하여 LOOP도는 중에 키보드 입력을 받아 값을 처리한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | P1: mov r4,r0 ldr r0,=GPGCON ldr r1,=0x5500 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xf0 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xe0 str r1,[r0] b My_Delay P2: mov r4,r0 ldr r0,=GPGCON ldr r1,=0x5500 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xf0 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xd0 str r1,[r0] b My_Delay P3: mov r4,r0 ldr r0,=GPGCON ldr r1,=0x5500 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xf0 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xb0 str r1,[r0] b My_Delay P4: mov r4,r0 ldr r0,=GPGCON ldr r1,=0x5500 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0xf0 str r1,[r0] ldr r0,=GPGDAT ldr r1,=0x70 str r1,[r0] b My_Delay My_Delay: ldr r2,=0 ldr r3,=2000000 My_Delay2: add r2,r2,#1 cmp r2,r3 moveq r0,#0 moveq pc,lr ldr r0,=0x50004010 //UTRSTAT1 ldr r1,[r0] and r1,r1,#0x1 cmp r1,#0x1 ldreq r1,=0x50004024 //URXH1 ldr r0,[r1] cmp r0,r4 bne My_Delay2 mov pc,lr | cs |
'ARM Processor' 카테고리의 다른 글
[ARM 프로세서_Day5]ROR Immediate 상수 (0) | 2018.11.17 |
---|---|
[ARM 프로세서_Day5]Memcpy_Single,Multiple (0) | 2018.11.17 |
[ARM 프로세서_Day3]Linux+ARM(환경설정) (0) | 2018.11.06 |
[ARM 프로세서_Day1,2]ARM 예제 (0) | 2018.11.06 |
[ARM 프로세서_Day1]ARM Operaing Mode (0) | 2018.11.01 |