Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.67 KB | None | 0 0
  1.         MODULE main
  2.         PUBLIC main
  3.         SECTION `.text`:CODE:NOROOT(2)
  4.         THUMB
  5. main:
  6.         //inicializaicja ledic
  7.         ldr r0, =0x40023830     // AHB1 clocks
  8.         ldr r1, =0x9     // GPIOD clock
  9.         str r1,[r0]
  10.                
  11.         ldr r0, =0x40020C00     // GPIOD
  12.         ldr r1, =0x55555555     // out (all)        
  13.         str r1, [r0, #0x00]      // MODER        
  14.         ldr r1, =0x0            // push-pull
  15.         str r1, [r0, #0x04]      // OTYPER        
  16.         ldr r1, =0x0            // low speed
  17.         str r1, [r0, #0x08]      // SPEEDR        
  18.         ldr r1, =0x0            // no pull
  19.         str r1, [r0, #0x0C]      // PUPDR
  20.         //konec inicializacije ledic
  21.  
  22.         //inicializacija gumba
  23.         ldr r0, =0x40020000     // mode
  24.         ldr r1, =0xA8000000     // in
  25.         str r1,[r0]
  26.        
  27.         ldr r0, =0x4002000C     //
  28.         ldr r1, =0x64000000     //
  29.         str r1,[r0]
  30.         //konec inicializacije gumba
  31.      
  32.     /*
  33.     // Priziganje in ugasanje ledic v krogu
  34.         ldr r0,=0x40020C00
  35.         ldr r1,=0x8000  // 8000 prizge eno lucko, F000 prizge vse lucke
  36.         ldr r2,=0x4000  // 8000 prizge eno lucko, F000 prizge vse lucke
  37.         ldr r3,=0x2000  // 8000 prizge eno lucko, F000 prizge vse lucke
  38.         ldr r4,=0x1000  // 8000 prizge eno lucko, F000 prizge vse lucke
  39.        
  40.         strh r1,[r0,#0x18] //prizgemo led
  41.         bl delay
  42.         strh r2,[r0,#0x18] //prizgemo led
  43.         bl delay
  44.         strh r3,[r0,#0x18] //prizgemo led
  45.         bl delay
  46.         strh r4,[r0,#0x18] //prizgemo led
  47.         bl delay
  48.  
  49.         strh r4,[r0,#0x1A] //ugasnemo led
  50.         bl delay
  51.         strh r3,[r0,#0x1A] //ugasnemo led
  52.         bl delay
  53.         strh r2,[r0,#0x1A] //ugasnemo led
  54.         bl delay
  55.         strh r1,[r0,#0x1A] //ugasnemo led
  56.         bl delay
  57.     */
  58.  
  59.  loop2:
  60.     // vstopna tocka
  61.         push {lr}
  62.         push {r11}
  63.         mov r11, sp
  64.         ldr r0,=0x40020C00
  65.     ldr r1,=0x40020010      // stanje gumba preberes na bitu 0
  66.         push {r6-r7}
  67.        
  68. //loop2:      
  69.     ldr r2, [r1]    // vrednost, ki je na lokaciji, ki je zapisana v r1, shranis v r2
  70.     ands r2, r2, #1
  71.     it ne
  72.     blne gumb       // ce je zadnji bit postavljen na 1, skoci na labelo gumb  
  73.        
  74.         // izstopna tocka
  75.         pop {r6-r7}
  76.         mov sp, r11
  77.         pop r11
  78.         pop lr
  79.         b loop2
  80.  
  81. //loop:   b loop
  82.        
  83. delay:  ldr r5,=0x989680
  84. delay_l:
  85.         subs r5,r5,#1
  86.         bne delay_l
  87.         bx lr        
  88.  
  89. gumb:    
  90.     bl delay
  91.     ldr r6,=0xF000
  92.     strh r6,[r0,#0x18]      // prizgem vse lucke
  93.     bl delay  
  94.     strh r6,[r0,#0x1A]      // ugasnem vse lucke
  95.     bl delay
  96.     bx lr
  97.            
  98.     END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement