Stránka 1 z 1

nastaveni bitu TRIS

Napsal: 29 dub 2010, 16:34
od kajus
Potřebuju v programu pro PIC16F84A často měnit pin ze vstupního na výstupní a naopak. Není nějaká možnost jak to nastavit přímo? Použít přímo BCF 86H,0 nejde, protože registr TRIS je pouze pro čtení.

Napsal: 29 dub 2010, 16:39
od Atlan
w1di BSF STATUS,RP0 ;BANKA1
BSF TRISB,0 ;PIN RB0 JAKO vstup
BCF STATUS,RP0 ;BANKA0
return

w1do BSF STATUS,RP0 ;BANKA1
BCF TRISB,0 ;PIN RB0 JAKO VYSTUP
BCF STATUS,RP0 ;BANKA0
return


cize sa naskyta otazka prepnes sa pred prikazom do banky 1 ????

Napsal: 29 dub 2010, 16:49
od kajus
BCF TRISB,0 todle nejde, protože TRIS je pouze pro čtení, zapsat do ně jde jen instrukcí TRIS, které zapíše obsah W do příslušného registru

Napsal: 29 dub 2010, 19:10
od mikollar
no pokial viem TRISA TRISB pri 16f84A ide bez problemov zapisovat a menit tak ako pise Atlan

Napsal: 29 dub 2010, 19:45
od kajus
aha
BSF STATUS,RP0
Ten STATUS je registr stavového slova na adrese 03H? RP0 je pátej bit?
Ten podle knížky pana Jiřího Hrbáčka (z jeho knížek čerpám) je nastavování stránky paměti dat.
Jsem jen mírně pokročilý (takže na mě musíte pomalu), zatím jsem ze stavových reg. použil jen bit 0 a 2.

Napsal: 29 dub 2010, 20:49
od mikollar
tak tak ako pises, v katalogu ak sa pozries je tam pekna tabulka v ktorej je pekne popisane ktory register je v ktorej banke a na prepinanie sluzia RP0, RP1

Napsal: 30 dub 2010, 05:20
od Chenzee
Jako mírně pokročilí bys už v přepínání bank registrů měl mít jasno. :wink:

Napsal: 30 dub 2010, 13:09
od Banda
>kajus: v čem programuješ? máš i simulátor? není nic lepšího, než si to odzkoušet

Napsal: 30 dub 2010, 15:47
od kajus
programuju v MPLAB assembleru, simulátor používám v MPLABU a picboard 16f (http://homel.vsb.cz/~bol051/)

EDIT: Tak už to funguje. Mockrát dík, jo a to že jsem nepochopil ten program od Atlan je že jsem se s registrem STATUS setkal jen pod jménem SWR, a nikdy jsem ho moc nepoužíval.
mikollar: Pěkně zpracovanou tabulku mám z knížky pana Hrbáčka :-)