nejede mi program na 16F84
Moderátor: Moderátoři
nejede mi program na 16F84
ORG 0x2007
DW _CP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC
ORG 0
GOTO NASTAVENI
NASTAVENI: CLRF PORTB
MOVLW 0x20H
MOVWF STATUS
MOVLW 0x60H
MOVWF OPTION_REG
MOVLW 0x00H
MOVWF TRISB
BCF STATUS,RP0
ZACATEK: BCF PORTB,RB3
BCF PORTB,RB2
BSF PORTB,RB3
BSF PORTB,RB2
GOTO ZACATEK
END
měly by blikat dvě ledky na RB2 a 3, ale nějak neblikaj.
POtřebuju poradit kde je chyba.
předem dík.
Takhle máš větší šanci, že se ti na ten prográmek koukne víc lidí.
Vřele doporučuji
http://www.ebastlirna.cz/modules.php?na ... opic&t=684 , zejména bod 7.
Zkust použít tuhle smyčku. Podprogram si zavoláš příkazem CALL CEKEJ v místě kde potřebuješ.
CEKEJ MOVLW 128
MOVWF C2
CEK2 MOVLW 0
MOVWF C1
CEK1 DECFSZ C1,1
GOTO CEK1
DECFSZ C2,1
GOTO CEK2
RETURN
A ještě nezapomeň k tomuto podprogramu na začátku nadefinovat proměnné C1 a C2.
kony2807 píše:někde se mi na začátku programu vytratil přesun do banky 1 , zkus připsat tohle :
BSF STATUS,RP0
nevím jestli se ti povede nastavit TRISB v bance 0 ...
Myslím, že přesun do banky 1 tam má řešen tímto způsobem:
MOVLW 0x20H ;B'00100000'
MOVWF STATUS ;RP0 je 5. bit ve status
Tak tohle by měl mít OK.
kony2807 píše:To Kisa : tak toho sem si nevšim , jen sem si ten program tak narychlo proletěl a první co mě napadlo hned na začátku byl přesun do banky 1.
Přesné rozložení bitů na registru status neznám z paměti ... (ale snaha pomoct byla)
j taky to neznám z paměti, jen jsem měl zrovna poruce příručku.