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