68HC11

The MultiMIPS plan is to port the MultiMIPS 8051 Operating System Kernel to 68HC11. The MultiMIPS 8051 Monitor will then work equally well with either Kernel, and it will be renamed to MultiMIPS Microcontroller Monitor.

During the summer of 2000 I took the following course at Fanshawe College:

DIGL403 - Microprocessors I

A detailed analysis of the architecture of the MC68HC11 Microcontroller; the machine and assembly language programming, and hardware interfacing

My final grade was A+. We did the following projects:

  1. a simple assembly language program to type in and run; it illustrated a loop, loading registers, machine language vs data
  2. a simple assembly language program to type in and run; it illustrated access to subroutines in the Buffalo monitor
  3. a simple assembly language program to type in and run; it illustrated converting between HEX and ASCII
  4. use the Buffalo MM and MD commands and a voltmeter to alter the value at a port and view the results; write an assembly language program to read port C and send the data to port B
  5. write an assembly language program to bubble sort data in given memory locations
  6. write an assembly language program to generate a 22 ms positive pulse on PA3 whenever a positive edge is detected on PA0
    The challenge of project 6 has to do with the complexity of PA3 as follows. Writes to port A pins that are configured for either IC or OC do not change the pin state. PA3 is by default configured for O5 so the program must explicitly turn off O5. In turning off O5 the program implicitly chooses I4. We do not want I4, but it is disabled by the default setting of bits 6 and 7 of TCTL2 so choosing it has no ill effects. To further complicate things, the Buffalo Trace command depends on O5 being set. Once O5 is disabled debugging the program becomes more of a challenge.
  7. Write an assembly language program to read an analog voltage from port E bit 3 and display the units value of the voltage on a 7-segment display