Advertisement
UrQuan

PRuI - Zad I

Apr 15th, 2015
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.47 KB | None | 0 0
  1. ;====================================================================
  2. ; Kolegij: Primjena računala u industriji
  3. ; Napisao: Tin Marković
  4. ; Datum:   9.4.2015.
  5. ;
  6. ; Main.asm file generated by New Project wizard
  7. ; Processor: PIC16F84A
  8. ; Compiler:  MPASM (Proteus)
  9. ;====================================================================
  10. #include p16f84a.inc                ; Definicija konstanti kontrolera
  11.  
  12. ;====================================================================
  13. ; VARIABLES
  14. ; Definiranje nekih varijabli, radi olakšanja posla ispod.
  15. ; Puno mi je preglednije upisati imena. Koristim bit notaciju,
  16. ; jer je jednostavnije nego definirati putem hex-a, preglednije
  17. ; se vide pinovi. PC i PZ su za pješake. Ostalo su svjetla.
  18. ;====================================================================
  19.  
  20.     CRVENO equ b'01001'
  21.     ZUTO equ b'00010'
  22.     ZELENO equ b'00100'
  23.     CRZUT equ b'00011'
  24.     PC equ b'00001000'
  25.     PZ equ b'00000100'
  26.  
  27. ;====================================================================
  28. ; INICIJALIZACIJA
  29. ; Kao prema priloženom primjeru.
  30. ;====================================================================
  31.  
  32. RST   code  0x0
  33.       goto  Start
  34.  
  35. PGM   code
  36. Start
  37.       ; Cistimo registre, prije izvrsavanja bilo cega
  38.       bcf   STATUS,RP0  ; Odaberi stranicu 0
  39.       clrf  PORTA       ; Ocisti registar A
  40.       clrf  PORTB       ; Ocisti registar B
  41.       bsf   STATUS,RP0  ; Odaberi stranicu 1
  42.  
  43.  
  44.       clrf  TRISA       ; Svi pinovi na portu A su izlaz
  45.       movlw 0x01
  46.       movwf TRISB       ; RB0 pin je ULAZ /TASTER/
  47.  
  48.       bcf   STATUS,RP0  ; Stranica 0
  49.  
  50. ;====================================================================
  51. ; POČETAK IZVOĐENJA
  52. ;====================================================================
  53. Semafor
  54.     movlw   CRVENO 
  55.     movwf   PORTA
  56.     movlw   PC 
  57.     movwf   PORTB  
  58.     call CekajPritisak
  59.  
  60.     movlw   CRVENO
  61.     movwf   PORTA  
  62.     movlw   PZ 
  63.     movwf   PORTB
  64.     call CekajPritisak
  65.  
  66.     movlw   CRVENO
  67.     movwf   PORTA
  68.     movlw   PC 
  69.     movwf   PORTB
  70.     call CekajPritisak
  71.  
  72.     movlw   CRZUT  
  73.     movwf   PORTA  
  74.     call CekajPritisak
  75.  
  76.     movlw   ZELENO
  77.     movwf   PORTA  
  78.     call CekajPritisak
  79.  
  80.     movlw   ZUTO   
  81.     movwf   PORTA  
  82.     call CekajPritisak
  83. goto Semafor
  84.  
  85. CekajPritisak
  86. DUGME1
  87.     BTFSC PORTB,0
  88.     goto DUGME1
  89.     PAUZA                       ; Dvostruka petlja koja će napraviti
  90.         decfsz 08h,1            ; 255 na kvadrat praznih krugova.
  91.         goto PAUZA              ; Adrese 08h i 09h su prazne, što ovdje
  92.         decfsz 09h,1            ; znači da defaultiraju na 255, tako ih
  93.         goto PAUZA ;            ; dekrementiramo do nule, kada idemo dalje.
  94. return
  95.       END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement