Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 5 → Rev 6

/programy/ASM/řízení auta/chodba/main.asm
0,0 → 1,141
#include 16C84.INC
 
#define debug 0
 
#include delaymac.inc
 
Dozadu EQU 1
Dopredu EQU 2
 
;--- Macro na spozdeni 1ms az 255ms ---
Delay macro ms
Delay1ms ms
; movlw ms
; movwf _delay_ms
; call _delay1ms
endm
;--------------------------------------
Vpred_ON macro
bsf PORTA, Dopredu
endm
;--------------------------------------
Vpred_OFF macro
bcf PORTA, Dopredu
Delay 50
bsf PORTA, Dozadu ;zabrzdi
Delay 125
bcf PORTA, Dozadu
endm
;--------------------------------------
Vpred macro d
movlw d ; x dlazdicek
movwf CT3
call Vpred0
endm
 
;--------------------------------------
org 0
 
goto Start
;--------------------
org 4
;--------------------
Start:
page1
movlw 00000000B ; inicializace citace a prescaleru
movwf TMR0
movlw 00000000B ; konfigurace preruseni
movwf INTCON
 
page1
movlw 11110001B ; nastaveni portu na vstup nebo vystup
movwf PORTA ; 1=vstup 0=vystup
movlw 11110110B
movwf PORTB
 
bsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)
 
page0
 
clrw ; vynulovani portu
movwf PORTA
movwf PORTB
 
bsf PORTB, 3 ; Pridrz napajeni
 
bsf PORTA, 3 ; Rozsvit LED
Delay 250
bcf PORTA, 3 ; Zhasni LED
 
MainLoop:
Vpred 12
Delay 200
call Celemvzat
Delay 50
Vpred 8
Delay 50
call Vlevo
Vpred 8
Delay 50
Vpred 1
Delay 50
call Vpravo
Delay 50
Vpred 8
Delay 50
call Vlevo
Delay 50
Vpred 3
call Celemvzat
bcf PORTB, 3 ; Vypni napajeni
Smycka:
goto Smycka
;----------------
 
;--- Popojede o n dlazdic vpred ---
Vpred0:
Vpred_ON
Delay 175
bsf PORTB, 0
Delay 15
bcf PORTB, 0
Delay 175
Vpred_OFF
Delay 50
decfsz CT3, f
goto Vpred0
return
 
Vpravo:
bsf PORTB, 0
Delay 250
Delay 60
bcf PORTB, 0
return
 
;---------------------------------------
Celemvzat:
call Vpravo
bsf PORTB, 0
Delay 125
bcf PORTB, 0
return
;---------------------------------------
Vlevo:
call Vpravo
bsf PORTB, 0
Delay 250
Delay 70
bcf PORTB, 0
return
 
#include delayfce.inc
 
;----------------------------
; Definice promenych
;----------------------------
cblock
CT3 ;Citac poctu dlazdicek
endc
 
end