nastaveni bitu TRIS

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

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
kajus
Příspěvky: 91
Registrován: 27 úno 2009, 00:00

nastaveni bitu TRIS

#1 Příspěvek 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í.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#2 Příspěvek 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 ????
kajus
Příspěvky: 91
Registrován: 27 úno 2009, 00:00

#3 Příspěvek 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
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#4 Příspěvek od mikollar »

no pokial viem TRISA TRISB pri 16f84A ide bez problemov zapisovat a menit tak ako pise Atlan
kajus
Příspěvky: 91
Registrován: 27 úno 2009, 00:00

#5 Příspěvek 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.
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#6 Příspěvek 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
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#7 Příspěvek od Chenzee »

Jako mírně pokročilí bys už v přepínání bank registrů měl mít jasno. :wink:
Žádnej učenej z nebe nespadl ...
Uživatelský avatar
Banda
Příspěvky: 1170
Registrován: 22 bře 2005, 00:00
Bydliště: OV

#8 Příspěvek od Banda »

>kajus: v čem programuješ? máš i simulátor? není nic lepšího, než si to odzkoušet
kajus
Příspěvky: 91
Registrován: 27 úno 2009, 00:00

#9 Příspěvek 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 :-)
Odpovědět

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