Advertisement
Looong

TN VXL 2-bonus

Mar 9th, 2016
3,187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.46 KB | None | 0 0
  1.         list    p=PIC18f8722
  2.         #include p18f8722.inc
  3.         CONFIG  OSC = HS, WDT = OFF, LVP = OFF
  4.         #define LED LATD
  5.         #define LED_IO TRISD
  6.         #define BUTTON PORTA,RA5
  7.         #define BUTTON_IO TRISA,RA5
  8. ; Begin
  9.         code    0
  10.         goto    initialize
  11.  
  12. ; Memory mapping
  13.         udata
  14. counter res     .3
  15. cycle   res     .1
  16. ; Start
  17.         PRG code
  18. initialize    
  19.         clrf    LED_IO
  20.         clrf    LED
  21.         movlw   H'0F'
  22.         movwf   ADCON1
  23.         bsf     BUTTON_IO
  24.         movlw   .5
  25.         movwf   cycle
  26.  
  27. main    btfsc   BUTTON          ; if    button not pushed
  28.         bra     led_change      ; then  change LED
  29.         decfsz  cycle           ; else  change cycle
  30.         bra     button_pushed
  31.         movlw   .5
  32.         movwf   cycle
  33. button_pushed
  34.         btfss   BUTTON
  35.         bra     button_pushed
  36. led_change
  37.         incf    LED
  38.         call    delay_500ms
  39.         bra     main
  40.  
  41. delay_400us
  42.         movlw   .249
  43.         movwf   counter
  44.         nop
  45. delay_400us_loop
  46.         nop
  47.         decfsz  counter
  48.         bra     delay_400us_loop
  49.         return
  50.  
  51. delay_500ms
  52.         movf    cycle, W
  53.         movwf   counter + 1
  54. delay_500ms_loop1
  55.         movlw   .250
  56.         movwf   counter + 2
  57. delay_500ms_loop2
  58.         call    delay_400us
  59.         decfsz  counter + 2
  60.         bra     delay_500ms_loop2
  61.         decfsz  counter + 1
  62.         bra     delay_500ms_loop1
  63.         return
  64.  
  65.         end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement