You will probably want to use code we have written for the practicals to create your own programs. Here is a list of each lab file along with the things it actually illustrates:

Exercise

Objective

Exercise 1.1

Setting a single bit on PORTA

Exercise 1.2

Setting three bits and then turning them off

Exercise 1.3

Using a while loop to turn a led on and off

Exercise 1.4

Flashing a led using for loops to produce proper delays

Exercise 1.5

Flashing two LEDs in an imitation of a railway crossing light

Exercise 1.6

Pulsing a led with a different "mark-space" ratio

Exercise 1.7

Flashing a led using a delay function

Exercise 1.8

A flashing led which speeds up and slows down

Exercise 2.1

Using an input port to implement a simple light switch

Exercise 2.2

Using two buttons for input, one for on and another for off

Exercise 2.3

Using a single button to toggle the state of an output

Exercise 2.4

Debounced version of the light switch toggle

Exercise 2.5

Push on-push off torch with light time out

Exercise 2.6

Reversed light switch

Exercise 2.7

Two button torch which turns off if both buttons are held down

Exercise 2.8

Push on-push off torch with light time out except when the button is held down

Exercise 2.9

Electronic coin toss

Exercise 3.1

Display a pattern

Exercise 3.2

Display a pattern with delay

Exercise 3.3

Display a pattern with different on/off times

Exercise 3.4

Delayed input test

Exercise 3.5

A single working round of the 'Simon Says' game

Exercise 3.6

Unpolished working Simon Says game

Exercise 3.7

Polished Simon Says game

Exercise 4.1

7 segment LED four digit display driver using program refresh

Exercise 4.2

7 segment LED four digit display driver using program refresh which works properly

Exercise 4.3

7 segment LED four digit display driver using refresh function

Exercise 4.4

7 segment LED four digit display driver using interrupt refresh

Exercise 4.5

7 segment LED counter with numeric display

Exercise 4.6

1 Hz ticking clock

Exercise 4.7

Stopwatch with stop, start and reset buttons.

Exercise 4.8

Stopwatch with single stop/start button using interrupt driven debounce

Exercise 4.9

Stopwatch with decimal point and lap timer button

Exercise 5.1

LCD driver program

Exercise 5.2

LCD program which uses lcdutils to drive the display

Exercise 5.3

LCD program which tests every position on the display

Exercise 6.1

Random number generation testing program

Exercise 6.2

Display flicker program

Exercise 6.3

Mystic LCD Message selector with bugs!

Exercise 6.4

Fixed Mystic LCD Message Selector

Exercise 6.5

Final Mystic LCD program

Exercise 7.1

EEPROM test program

Exercise 7.2

Integer reading program

Exercise 7.3

Lock timer which uses interrupts to time the lock open pulse

Exercise 7.4

Finished lock program

Exercise 7.5

Sleep function tester

Exercise 7.6

Finished lock with sleep

Exercise 8.1

Reaction timer button state monitor

Exercise 8.2

Reaction timer button state monitor with clock

Exercise 8.3

Completed Reaction Timer

Exercise 8.4

Reaction Timer with improved button handling

Exercise 9.1

Morse reader state machine demonstration

Exercise 9.2

Morse reader with character decoding

Exercise 9.3

Complete Morse reader

Exercise 9.4

Complete Morse reader with handing for long characters

Exercise 10.1

ADC test program

Exercise 10.2

Light level bar graph

Exercise 10.3

Automatic night light