Hallo, ik wil bij de pic 16f628 een volledige poort(8bits) ter beschikking hebben als uitgang. Nou is mijn vraag: hoe doe ik dit? Ik heb de datasheet gelezen en het internet afgezocht en ik weet alleen hoe ik de comparators(van poort a) moet uitschakelen en als i/o poort kan zetten. Maar verder raakte ik nogal verdwaald in alle benamingen e.d. Het lijkt namelijk dat zowat elke pin meerdere functies kan hebben. Ik wilde ook graag een externe klok gebruiken dus valt poort a zowieso al af. Dus mijn vraag wordt: hoe kan ik de pic instellen zodat ik de volledige poort b ter beschikking heb als uitgang?

grts tom

Pagina 36 van de datasheet. Daar staat dat je poort B net zoals poort A kan configureren. I.p.v. TRISA gebruik je dan het TRISB register.

Dat is wel zo, maar als een pin ingesteld staat als andere functie(Usart, external interrup bijv) dan wordt de desbetreffene bit in trisb genegeerd, want dan is het nog geen i/o-pin

Zoveel verstand heb ik d'r dan ook weer (nog) niet van, maar kon je niet in het speciale status-register instellen of die USART en/of interrupt gebruikt kon worden? Zoiets wordt er beweert op http://www.mstracey.btinternet.co.uk/pictutorial/progtut12.htm .

je moet je config word ff aanpassen
daarin configureer je de mrcl als output en de osc1/2 als output dan heb je ra0/7 als 8 bits poort
[edit]
list 16f628
__config _MCLRE_OFF & _ER_OSC_NOCLKOUT & _INTRC_OSC_NOCLKOUT
[edit\]

[Bericht gewijzigd door k.p.meinesz op ]

Je kan gewoon TRISB gebruiken.
Standaard staan de uart en de external interupt uit.
De ingebouwde Pull-up weerstanden staan standaard ook uit, maar deze worden toch niet gebruikt als je poort B als uitgang definieerd.

Waar je wel op moet letten is dat je de LVP (Low Voltage Programming) mode niet kan gebruiken, aangezien deze pin B4 nodig heeft.

Je moet ook oppassen met in-circuit programming. Het kan kan zijn dat wanneer je Pin B6 en B7 aangesloten hebt, je niet kan programmeren wanneer de pic nog in de schakeling zit.

Heel erg bedankt allemaal, nu moet het me wel lukken!

Op 17 april 2004 01:47:06 schreef Confusion:
Je kan gewoon TRISB gebruiken.
Standaard staan de uart en de external interupt uit.

Correct. Over het algemeen geld:
- de configuration fuses hebben de hoogste prioriteit (oa LVP, OSC en MCLR pinnen)
- daarna staan de A/D standaard *aan*
- de overige speciale fucnties staan standaard *uit*