The UMT-1 provides a hardware platform to teach microcontroller
programming and to program chips for use in other projects. It is designed
for practical classroom/laboratory use. Students learn a variety
of microcontrollers to better gain a feel for generic concepts without
sole reliance on a single semiconductor manufacturer's architecture.
Input/Output hardware common
to all microcontrollers:
Eight 7-segment LED displays
Eight individual LED's with
output port jacks
16-button keypad (0-9, A-F)
Four dipswitch inputs with input
port jacks
Audio amplifier with speaker
RS-232 interface (DB-9)
PS/2 keyboard interface
Solderless prototype breadboard
Provides regulated +5v and +3.3v,
and unregulated +11v supplies
PTC (automatically resettable)
fuse
Interface ports for each of
the three microcontroller manufacturers' debug pods
Common I/O interface subroutines
provided for each microcontroller
Powered by 9 VAC adapter
Students can learn the microcontroller subject matter
in a formal class and lab setting, making use of the board's I/O hardware
and interface software; and subsequently use the UMT-1 as a design and
test platform to program microcontrollers for use as control elements in
later project-based courses.
Textbook: MICROCONTROLLER
LAB
Programming the 68HC08,
8051, and eZ8
in Assembly Language
Second Edition
This is a two-semester undergraduate course in microcontrollers.
Click for the Table of Contents and other preview material
(pdf). Generic information on the 68HC908JK3, C8051F330D, Z8F0421, and
68HC908QT4 is provided along with excerpts from the manufacturer documentation
sufficient for students to program these parts with no additional references
required. Students begin with sample programs for each processor to get
familiar with the architecture and programming language. Some of the hands-on
assignments are:
LED output
Switch/LED shift register
25-96 digit Decimal Calculator
(addition)
Traffic Signal with State Transition
Lookup Table
External interrupts
HH:MM:SS Clock (timer interrupt
driven)
Mini Terminal (serial interface)
PWM Lamp Control
Function Generator (using DAC
output)
Voltmeter (using ADC)
Thermometer (using internal
chip sensor)
Data Sampling and Storage
Keyboard Logger
The assignments are intended to cover basic assembly
language programming for each microcontroller family; simple input/output
port operations; interrupts; timers; asynchronous serial communication;
digital-to-analog and analog-to-digital conversions; and flash programming.
I know that flash videos aren't supported by many systems nowadays -- I have to convert those shown below. However one student (Taj El-Khalili) provided these for the second semester with links
in this document.
Assignment 4b: 8051 Traffic Signal. Jesse Grodman (Fall 2011) was simultaneously taking an FPGA class. So he configured one of the Xilinx boards as an I/O expander for the UMT-1 uP board and simulated a big intersection with various turn signals.
Assignment 7c: Timer interrupt driven clock on 68HC908JK3. This student pair (Rob Keleher/Charles Pao, 2010) accepted the challenge of having their clock mimic the university's clock tower: it chimes on the quarter-hour and bongs out the hour.
Assignment 8: Miniterminal on 68HC908JK3 (software UART). Jay Han (2011) demonstrates sending from a PC to the microcontroller trainer (his program is bidirectional, but he doesn't show sending from the trainer to the PC).
Assignment 10t: Chip thermometer on C8051F330D. Adam Gross (2012) demonstrates his program that displays degrees F and C using a hair dryer and freeze spray.
Assignment 10v: Voltmeter on 68HC908JK3 (analog to digital converter usage). Jay Han (2011) demonstrates his voltmeter program. It computes the average DC and AC voltages.
Assignment 11r: PS/2 keyboard receiver on 68HC908JK3. Jay Han (2011) demonstrates his program which displays hexadecimal codes sent by a PC keyboard.
Assignment 11r + 11t: PS/2 keyboard receiver and transmitter on 68HC908JK3. Greg Vorsanger and Steven Moran (2011) demonstrate their two programs which provide a PS/2 interface: 11r displays hexadecimal codes sent by a PC keyboard and 11t transmits those codes as if the uP is a keyboard. In this video the transmitter program sends to the receiver program to demonstrate.
Interfaces
The 68HC908JK3 interface is either P&E
Microcomputer Systems' USB-ML-MON08 (USB, shown in photo) or MON08
Multilink (parallel port version). The software is their ICS08JLZ Development
Kit.
The C8051F330D interface is Silicon
Laboratories' C8051F330DK Development Kit. Previous kits use a serial
port; now shipping with a USB interface instead. The IDE v1.9 software
is included with the kit. Under their University
Program, the kit can be purchased at a 50% discount. (Digikey
part numbers 336-1068, 336-1264; Mouser
part number 634-C8051F330DK.)
The Z8F0421 interface is Zilog's
Z8F08200100KIT Development Kit. It uses a serial port. The ZDS II v4.9.5
software is included with the kit. (Digikey
part numbers 269-3183, 269-4630; Mouser
part number 692-Z8F08200100KIT.)
The 68HC908QT4 interface is either P&E
Microcomputer Systems' USB-ML-MON08 (USB) or MON08 Multilink (parallel
port version, shown in photo). The software is their ICS08QTQYZ Development
Kit.