Advertisement
UrQuan

Zadatak 1 - Primjena

Apr 8th, 2015
2,893
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pic 16 2.55 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'00001'
  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.  
  55.       movlw CRVENO 
  56.       movwf PORTA
  57.       movlw PC 
  58.       movwf PORTB  
  59.       call CekajPritisak
  60.  
  61.       movlw CRVENO
  62.       movwf PORTA  
  63.       movlw PZ 
  64.       movwf PORTB
  65.       call CekajPritisak
  66.  
  67.       movlw CRVENO
  68.       movwf PORTA
  69.       movlw PC 
  70.       movwf PORTB
  71.       call CekajPritisak
  72.  
  73.       movlw CRZUT  
  74.       movwf PORTA  
  75.       call CekajPritisak
  76.  
  77.       movlw ZELENO
  78.       movwf PORTA  
  79.       call CekajPritisak
  80.  
  81.       movlw ZUTO   
  82.       movwf PORTA  
  83.       call CekajPritisak
  84.  
  85. goto Semafor
  86.  
  87. CekajPritisak
  88. DUGME1
  89.     BTFSC PORTB,0
  90.     goto DUGME1
  91.     PAUZA                       ; Dvostruka petlja koja će napraviti
  92.         decfsz 08h,1            ; 255 na kvadrat praznih krugova.
  93.         goto PAUZA              ; Adrese 08h i 09h su prazne, što ovdje
  94.         decfsz 09h,1            ; znači da defaultiraju na 255, tako ih
  95.         goto PAUZA ;            ; dekrementiramo do nule, kada idemo dalje.
  96. return
  97.       END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement