nejede mi program na 16F84

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Nebster
Příspěvky: 129
Registrován: 10 bře 2007, 01:00
Kontaktovat uživatele:

nejede mi program na 16F84

#1 Příspěvek od Nebster »

Zdravím, mám problém s programováním PIC, jsem začátečník (úplný) a nevím co dělám špatně. Snažím se naprogramovat PIC 16F84A tímto programem:
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.

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#2 Příspěvek od Hill »

I když tu nejsi tak úplně nový, místo smazání (za porušení pravidel) jsem ti přejmenoval téma.
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.

Uživatelský avatar
Kisa
Příspěvky: 24
Registrován: 17 bře 2005, 01:00

#3 Příspěvek od Kisa »

No moc důkladně jsem se na to nedíval, ale všiml jsem si, že tam nemáš zpožďovací cykly. Takže ty ledky asi blikají, ale tak rychle, že ti to připadá jako by svítily.

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.

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#4 Příspěvek od kony2807 »

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 ... :)
ledatak : TRIS 05
JEŠTĚ K TOMU DEFINOVÁNÍ C0 A C1
TAKŽE
C0 EQU 10h
C1 EQU 11h

NAPSAT NA ZAČÁTEK PROGRAMU

Uživatelský avatar
Kisa
Příspěvky: 24
Registrován: 17 bře 2005, 01:00

#5 Příspěvek od Kisa »

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.

Uživatelský avatar
nop
Příspěvky: 158
Registrován: 18 kvě 2007, 02:00

RE:

#6 Příspěvek od nop »

nechybí tam na začátku něco jako ?
list p=12f84A
include "p16f84A.inc"

Uživatelský avatar
nop
Příspěvky: 158
Registrován: 18 kvě 2007, 02:00

RE:

#7 Příspěvek od nop »

omlouvám se za překlep má tam samozřejmě být
list p=16f84A
include "p16f84A.inc"

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#8 Příspěvek od kony2807 »

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 :!: )

Uživatelský avatar
Kisa
Příspěvky: 24
Registrován: 17 bře 2005, 01:00

#9 Příspěvek od Kisa »

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. :wink:

Nebster
Příspěvky: 129
Registrován: 10 bře 2007, 01:00
Kontaktovat uživatele:

#10 Příspěvek od Nebster »

A chci se ještě zeptat, jestli se dá ěnjak v MPLABu program otestovat jestli to funguje myslím jako nasimulovat nebo taknějak?? ale ne přímo na švábu myslím jenom v tom MPLABu.

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#11 Příspěvek od kony2807 »

jestli používáš MPLAB 7.22 tak je obsažen simulátor , popis jak s ním pracovat je v knize Moderní učebnice programování mikrokontrolérů PIC 2. díl ...(to není reklama :) )

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“