Embedded Microcomputer Systems: Real Time Interfacing,
Jonathan W. Valvano, Brooks-Cole Publishers, available now, ISBN 0-534-36642-2
A detailed outline, overview, list of errors
Lab
Objectives
Introduction
Describes the Adapt812 Hardware and ICC12 Compiler
1 Serial Device Driver
Introduce the lab equipment
Familiarize yourself with ICC12
Organize a device driver of useful serial port I/O routines
2 Software Debugging
Develop software debugging techniques
- Functional debugging (static)
- Performance debugging (dynamic or real time)
- Profiling (detection and visualization of program activity)
Manipulate bit streams with Huffman encoding and decoding
3 Traffic Light Controller
The parallel I/O functions of the 6812
The usage of linked list data structures
The design of a traffic light controller
4 Stepper Motor
Interface a stepper motor,
Implement background processing with output compare interrupts
Develop a dynamic linked command structure
5 IC Tester
The design of an IC tester
The parallel I/O functions of the 6812
The usage of linked list data structures
The design of a traffic light controller
6 Temperature Sensor
Design the hardware interface to a DS1620 temperature sensor
Synchronous serial communication using simple I/O
Create the low-level device driver that could be used in other
applications
7 Gadfly Keyboard
Design the hardware interface between a keyboard and a microcomputer
Create the low-level gadfly device driver that can be used in
other applications
Design the hardware interface between a microcomputer and a single
LED
Implement keyboard security system
8 LCD Display
Design the hardware interface between a LCD display to a microcomputer
Create the low-level device driver that can be used in other applications
9 Interrupting Keyboard
Hardware interface to a keyboard using interrupts
Study the concept of critical sections and nonintrusive debugging
10 SCI Serial Interface
Low-level communication interface between two or more microcomputers
Analyze the synchronization problems that occur
Investigate low-level methods for error detection
Implement half-duplex serial communication
11 Binary Sync. Comm.
High-level communication interface between two or more microcomputers
Binary synchronous communication (BSC) protocol
Longitudinal redundancy check (LRC) for error detection
"Stop and wait automatic repeat request" for error recovery
12 Temperature Control
Interface a DS1620 temperature sensor using the SPI module
Implement synchronous serial communication using the SPI module
Implement a simple bang-bang controller
13 Real Time Debugging
Develop software debugging techniques
- Functional debugging (static)
- Performance debugging (dynamic or real time)
- Profiling (detection and visualization of program activity)
14 Pulse Width Modulation
Interface a DC motor using a 6N139 or IL-5 digital isolation circuit
Implement variable duty cycle squarewave with output compare interrupts
15 DC Motor Tachometer
Interface a tachometer using a 6N139 or IL-5 digital isolation
circuit
Measure period using input capture interrupts
16 IR Remote Control
Interface an infrared sensor
Use the input capture to measure pulse width
Write and analyze interrupting software
17 Real Time OS
Preemptive Multithreaded Scheduler
Priority scheduler
Implement blocking/counting semaphores
Data Acquisition example
18 Real Time OS
Preemptive Multithreaded Scheduler
Design a round robin scheduler
Implement blocking/counting semaphores
Implement inter-thread communication
19 Memory Interface
Interface a static RAM chip to the 6812
Implement a memory test program
20 Graphics Display
DAC conversion
Develop a simple graphics display
21 Signal Generation
DAC conversion
Develop a simple sine wave generator
22 Temperature Measurement
Study ADC conversion, Nyquist Theorem, Valvano Postulate
Develop a temperature measurement system using a thermistor
Design and implement various linear and nonlinear digital filters
23 Motor Controller
Use the 6812 Output Compare for generating variable pulse widths
Use the 6812 input capture for measuring period
Interface a DC motor and tachometer
Write real time digital control software
24 Line Tracking Robot
DC motor interface with a MOSFET driver
Steering solenoid using an H-bridge
Implement variable duty cycle squarewave
Measure period with input capture interrupts
Line-tracking algorithm using a finite state machine
25 Solid State Disk
Uses extended mode RAM interface
FAT structure
Single level directory
Disk device driver
These lab assignments accompany the book "Embedded Microcomputer
Systems: Real Time Interfacing", Brooks-Cole, copyright (c) 2000,
Jonathan W. Valvano. For more information about the book.
Anyone may download, printout one copy, and read these assignments.
Universities that adopt this textbook for classroom use are allowed
to download the assignments in MS Word format, edit, and duplicate for classroom usage. As long as the original
copyright notice remains at the top of each file.