Poort A
De pinnen van poort A zijn in principe bedoeld voor de timer functies (input-captures en output-compares) en de puls-teller. Wanneer de input-capture of de output-compare die aan een bepaalde pin gekoppeld is niet gebruikt wordt, kan de pin altijd voor gewone digitale I/O gebruikt worden. De input-capture, de output-compare en de puls-teller functies zullen in een latere les behandeld worden.
De bezetting van de pinnen op poort A is als volgt:
|
I/O
|
Output
|
Output
|
Output
|
I/O
|
Input
|
Input
|
Input
|
|
PA7
|
PA6
|
PA5
|
PA4
|
PA3
|
PA2
|
PA1
|
PA0
|
|
OC1
|
OC2
|
OC3
|
OC4
|
OC5
|
IC1
|
IC2
|
IC3
|
|
PAI
|
OC1
|
OC1
|
OC1
|
IC4
|
|
OC1
|
|
bit7
|
bit6
|
bit5
|
bit4
|
bit3
|
bit2
|
bit1
|
bit0
|
Bit7 van poort A kan dus zowel voor gewone digitale I/O gebruikt worden (PA7), maar ook als uitgang voor output-compare 1 (OC1), en ook als ingang voor de puls-teller (PAI). Evenzo zijn er verschillende toepassingen voor de andere pinnen van poort A. Voor elke pin kan de functie apart geprogrammeerd worden door de I/O registers op de juiste wijze te programmeren.
Bij gebruik als gewone digitale I/O kan bij bit7 en bit3 nog apart geprogrammeerd worden of de pin een ingang of een uitgang moet zijn. De andere pinnen hebben een vastgelegde richting (in of uit.)
Wanneer de micro-controller opstart, zijn de speciale functies van de pinnen van poort A uitgeschakeld, en kan de poort dus eenvoudig voor gewone digitale I/O gebruikt worden. Ook wanneer één of meer van de pinnen aan een speciale functie wordt gekoppeld, kan de rest van de pinnen voor gewone I/O gebruikt worden.
De speciale functies van poort A (de timer functies en de puls teller) worden elders beschreven.
Gewone digitale I/O via poort A
Bij gebruik van één of meer van de pinnen van poort A voor gewone digitale I/O, kan de data die op de uitgangen moet komen te staan naar het PORTA register geschreven worden. De ingangen kunnen gelezen worden via eveneens het PORTA register. De richting van bit7 wordt bepaald door het DDRA7 bit in het PACTL register. Een '1' betekent dat de pin een uitgang is, een '0' betekent dat de pin een ingang is. De richting van bit3 wordt bepaald door het DDRA3 bit in het PACTL register. Een '1' betekent dat de pin een uitgang is, een '0' betekent dat de pin een ingang is. Uiteraard hoeft de richting maar één maal geprogrammeerd te worden, tenzij U halverwege het programma de richting van de pin wilt omdraaien. Wanneer de
micro-controller start, staan beide pinnen als ingang geprogrammeerd.
|