The board provides
32 terminals that are organized in to 4 groups, each having 8
terminals, namely A, B,C and D. The individual
terminals are marked as PA0 -- PA7 for port A, PB0 -- PB7 for port B
etc. They can be controlled/monitored as a group or as individual
pins. Each pin of the port can be configured as output or input, by
setting/clearing the corresponding bit in the Data Direction
Register. For complete details refer to the ATMega32
datasheet.
![]() |
To
use the terminals PA0 to PA7, you need to access the registers
DDRA, PORTA and PINA. Each pin can be made to act as an input or
output DDRA : Data direction register. Writing a 1 to any bit makes the corresponding pin an output. For example setReg(DDRA, 255) makes all the pins as output. PORTA: This is the data for the pins configured as outputs. Writing a 1 to a bit makes the corresponding pin HIGH. For pins configured as inputs writing a 1 connects the pin to the supply through an internal 10k resistor. PINA: This is for reading the status of the input pins. data = getReg(PINA) gets you the status of voltage levels present on PA0 to PA7 The other ports can be used in a similar manner. |