CP316: Microprocessor Systems and Interfacing 
   Liquid Crystal Display (LCD) Prelab
The objectives for the LCD lab are:
  - to use timer0 as an interrupt based timer to provide appropriate delays
    for the operation of the LCD
- to initialize data strings in program memory and retrieve them for display
    to the LCD
- to initialize the LCD appropriately 
- to write a program to demonstrate simple output to the LCD
- to write a program to demonstrate the use of the LCD buffer
You will first observe the LCD output when the LCD is not initialized.  Then
  you will initialize the LCD with the requested characteristics.  Note:
  the initialization is the critical point in the lab.  
Prelab Deliverables: 
  - Construct a program that puts out a tick as a high priority interrupt based
    on timer0. The interrupt service routine should toggle the alive LED on the
    board. The mainline routine for this program would  initialize the standard
    ports and then the routine should go into an infinite loop. The tick interval
    is not important for the prelab but you should know what it is, how to measure
    it, and how to modify it to suit specific applications. This should be a
    simple modification of Question 6 from the previous lab. Come to the lab
    with this base program completely working. 
 
 
- In preparation for the lab, you should 
  - have the structure for the required programs established, i.e. how do you
    break up the tasks to facilitate reusability? As this code will be used for
    subsequent labs and the project, spending time on a good modular design will
    pay off.
- have the routine(s) to initialize the LCD and ports required by the LCD
    written (machine readable but not debugged) 
- have the routine to retrieve data strings from program memory written (machine
    readable but not debugged)
 
              Wilfrid Laurier University
            
              © 2019 Wilfrid Laurier University