Presentation is loading. Please wait.

Presentation is loading. Please wait.

AVR Programming: Digital I/O September 10, 2010. What is Digital I/O? Digital – A 1 or 0 Input – Data (a voltage) that the microcontroller is reading.

Similar presentations


Presentation on theme: "AVR Programming: Digital I/O September 10, 2010. What is Digital I/O? Digital – A 1 or 0 Input – Data (a voltage) that the microcontroller is reading."— Presentation transcript:

1 AVR Programming: Digital I/O September 10, 2010

2 What is Digital I/O? Digital – A 1 or 0 Input – Data (a voltage) that the microcontroller is reading from an external source Output – Data (a voltage) that the microcontroller is setting to be used by an external source 2

3 Where does this happen? I/O Ports 6 8-bit I/O ports (A-F) 1 4-bit I/O port (G) Most have an alternate purpose 3

4 How do I access these pieces of metal in software? They are memory mapped Certain memory addresses are reserved for I/O Registers A few examples (Ports A-D): 4

5 55 Do I need to memorize those addresses? No! #include Each register and bit within it is defined for you

6 6 How does this look in code? //set the bottom three bits of Port A to output DDRA |= _BV(DDA0) | _BV(DDA1) | _BV(DDA2); //output high on pins 0 and 2 of port A PORTA |= _BV(PA0) | _BV(PA2); //output low on pin 1 of port A PORTA &= ~(_BV(PA1)); //set Port B to input DDRB = 0x00; //read Port B char x = PINB;

7 7 What can we do with this on the robots? Note: Pin 33 and 34 are PG0 and PG1

8 8 Stuff to try out Reading from the push buttons – make sure to enable internal pull up (PORTG |= 3;) Turning on the orbs Rapidly turning the orbs on and off – Maybe even in patterns (off off on off off on…) Rapidly switching orb colors – e.g. (blue green off blue green off…) Combinations of above You should not need the dragonfly library

9 9 Help/More Info Datasheet: http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf


Download ppt "AVR Programming: Digital I/O September 10, 2010. What is Digital I/O? Digital – A 1 or 0 Input – Data (a voltage) that the microcontroller is reading."

Similar presentations


Ads by Google