Solarni traker s hodinamy

Caute

Hrajem sa so simulatorom ale niejak mi to nejde.Rele 1 a 2 zapnem ale rele 3 a 4 sa mi nedari.Moze mi niekdo poradit kde mam chybu v programe?Na lcd pobezia hodiny cez DCF signal.Dcf signal by mal vstupovat cez RA7.Ak dlsiu dobu dajme tomu 1 hod nebude svietit na diodu slniecko tak by hodiny prevzali natocenie panelu na cca pribliznu suradnicu podla casu.To zmislam do buducna.Dakujem

cz.fotoalbum.eu/images1/200906/100018/635390/00000013.JPG

[code]LIST P=16F628, F=INHX8M
#include “P16F628.inc”
ORG 0x0000

;
;rem in RA0 UP M1
;rem in RA1 DOWN M1
;rem in RA2 UP M2
;rem in RA3 DOWN M2

;rem out RB0 M1-
;rem out RB1 M1+
;rem out RB3 M2+
;rem out RB4 M2-

;Osa X
BSF STATUS , RP0 ; Nastavy vsetky porty od RB0 po RB7 na vystupy
MOVLW 0x00 ;
MOVWF TRISB
MOVLW 0xFF
MOVWF TRISA
BCF STATUS , RP0 ;Vypne vsetky vystupy

START

BTFSS PORTA , 0x00 ; Otestuje port RA0 ci je zapnuty
GOTO Label_0002X ; Ak nieje zapnuty tak pokracuje dalej
BTFSS PORTA , 0x01 ; Otestuje port RA1 ci je zapnuty
GOTO Label_0003X ; Ak nieje zapnuty tak pokracuje dalej

Label_0006X

CALL Label_0004X
GOTO Label_0005Y

Label_0002X

BTFSS PORTA , 0x01 ; Otestuje port RA1 ci je zapnuty
GOTO Label_0006X ; Ak nieje zapnuty tak pokracuje dalej
BSF PORTB , 0x00 ; Zapne port RB0
GOTO Label_0005Y

Label_0003X

BTFSS PORTA , 0x00 ; Otestuje port RA0 ci je zapnuty
GOTO Label_0006X ; Ak nieje zapnuty tak pokracuje dalej
BSF PORTB , 0x01 ; Zapne port RB1

;Osa Y

Label_0005Y

BTFSS PORTA , 0x02 ; Otestuje port RA2 ci je zapnuty
GOTO Label_0002Y ; Ak nieje zapnuty tak pokracuje dalej
BTFSS PORTA , 0x05 ; Otestuje port RA3 ci je zapnuty
GOTO Label_0003Y ; Ak nieje zapnuty tak pokracuje dalej

Label_0006Y

CALL Label_0004Y
GOTO START

Label_0002Y

BTFSS PORTA , 0x03 ; Otestuje port RA3 ci je zapnuty
GOTO Label_0006Y ; Ak nieje zapnuty tak pokracuje dalej
BSF PORTA , 0x04 ; Zapne port RA4
GOTO START ; Navrat na Start

Label_0003Y

BTFSS PORTA , 0x02 ; Otestuje port RA2 ci je zapnuty
GOTO Label_0006Y ; Ak nieje zapnuty tak pokracuje dalej
BSF PORTA , 0x05 ; Zapne port RA5
GOTO START

Label_0004X

BCF PORTB , 0x00 ; Vypne port RB0
BCF PORTB , 0x01 ; Vypne port RB1
RETURN

Label_0004Y

BCF PORTA , 0x04 ; Vypne port RA4
BCF PORTA , 0x05 ; Vypne port RA5
RETURN

end[/code]

:arrow_right: administrator: příspěvek byl upraven

:arrow_right: administrator: přiloženy externí soubory

Tak som sa uz registroval.Vedel by mi niekdo poradit?Dakujem

BTFSS PORTA , 0x00 ; Otestuje port RA0 ci je zapnuty 
GOTO Label_0002X   ; Ak nieje zapnuty tak pokracuje dalej 
BTFSS PORTA , 0x01 ; Otestuje port RA1 ci je zapnuty 
GOTO Label_0003X   ; Ak nieje zapnuty tak pokracuje dalej 

Tady bych to zapsal ve tvaru:
BTFSS PORTA,0 : pro pin RA0
BTFSS PORTA,1 : pro pin RA1
atd.
Skus to a uvidíš, dál jsem to nestudoval

Jestli jsem to odsledoval dobře, tak RA5\MCLR - RE3, tento pin může být jen a vstup anebo reset.
Ad RA4 - RE4, vypni komparátory v PIC.

stale nevidim odpor na RA4 1 k na +5V lebo ten vyvod ne OC. A nastav si ho ako vystup, o MCLR uz padla rec ako RA5