Blame | Last modification | View Log | Download
#include 16C84.INC#define debug 0#include delaymac.incDozadu EQU 1Dopredu EQU 2;--- Macro na spozdeni 1ms az 255ms ---Delay macro msDelay1ms ms; movlw ms; movwf _delay_ms; call _delay1msendm;--------------------------------------Vpred_ON macrobsf PORTA, Dopreduendm;--------------------------------------Vpred_OFF macrobcf PORTA, DopreduDelay 50bsf PORTA, Dozadu ;zabrzdiDelay 125bcf PORTA, Dozaduendm;--------------------------------------Vpred macro dmovlw d ; x dlazdicekmovwf CT3call Vpred0endm;--------------------------------------org 0goto Start;--------------------org 4;--------------------Start:page1movlw 00000000B ; inicializace citace a prescalerumovwf TMR0movlw 00000000B ; konfigurace prerusenimovwf INTCONpage1movlw 11110001B ; nastaveni portu na vstup nebo vystupmovwf PORTA ; 1=vstup 0=vystupmovlw 11110110Bmovwf PORTBbsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)page0clrw ; vynulovani portumovwf PORTAmovwf PORTBbsf PORTB, 3 ; Pridrz napajenibsf PORTA, 3 ; Rozsvit LEDDelay 250bcf PORTA, 3 ; Zhasni LEDMainLoop:Vpred 12Delay 200call CelemvzatDelay 50Vpred 8Delay 50call VlevoVpred 8Delay 50Vpred 1Delay 50call VpravoDelay 50Vpred 8Delay 50call VlevoDelay 50Vpred 3call Celemvzatbcf PORTB, 3 ; Vypni napajeniSmycka:goto Smycka;----------------;--- Popojede o n dlazdic vpred ---Vpred0:Vpred_ONDelay 175bsf PORTB, 0Delay 15bcf PORTB, 0Delay 175Vpred_OFFDelay 50decfsz CT3, fgoto Vpred0returnVpravo:bsf PORTB, 0Delay 250Delay 60bcf PORTB, 0return;---------------------------------------Celemvzat:call Vpravobsf PORTB, 0Delay 125bcf PORTB, 0return;---------------------------------------Vlevo:call Vpravobsf PORTB, 0Delay 250Delay 70bcf PORTB, 0return#include delayfce.inc;----------------------------; Definice promenych;----------------------------cblockCT3 ;Citac poctu dlazdicekendcend