Go to EE395 Experiment                   Microprocessor board    8251A Interface   SBC   EEPROM   ECE Lab home

Introduction

Since their invention in 1971, microprocessors have been used in the design of all kinds of electrical and other equipment. It is well known that most microwave ovens use microprocessors to read the input keypad and translate this into signals to control the on-time as well as the power of the magnetron, which is the device that supplies the energy used in cooking the food. That is a relatively modern application of microprocessors. In cases of older designs, microprocessor devices replace troublesome mechanical systems. An example of this is found in the ignition system of a modern automobile.

In the good old days, the spark distributor contained centrifugal weights as well as a vacuum diaphragm device to control the ignition spark-advance needed at various engine speeds and loads. This method was very imprecise. Under certain climactic conditions, the spark advance weights got glued in place through the congealing of the very lubricant that was supposed to promote their movement. Vacuum diaphragms punctured with age. This represented a maintenance headache, not to mention the fact that the spark advance curve was limited in the degrees of freedom that could be incorporated into its design.

In a modern vehicle the entire spark advance operation is taken care of by a microprocessor device. There are two electromechanical transducers to inform the microprocessor of the crankshaft and camshaft position. In addition there is data from a throttle position sensor, a mass air flow sensor, an oxygen sensor as well as others too numerous to mention. Using the input data, the microprocessor determines, through a well designed program, the spark timing required. Not only does this design eliminate a number of unreliable mechanical devices, but the efficacy of this design is further enhanced by the fact that the software can be readily modified if it is desired to change the engine operating characteristics. The use of microprocessors thus gives unprecedented flexibility to the engine designer.

It should now be apparent from the above discussion that a microprocessor device uses more than just software. To be useful, it must be interfaced to the real world. It must act on externally gathered data and control the action of some device.

General Objectives of this Laboratory

It is the objective of this laboratory to give the students the opportunity to acquire some hands-on experience with the various workings of a microprocessor. To attain that familiarity, the students will be required to construct a microprocessor based single board computer (SBC), with adequate interfacing capabilities to be able to perform some useful control tasks. Programming of the device will be done in assembly language. Programming in a higher level language would prevent the user from becoming intimately familiar with the microprocessor.

This laboratory is intended to help educate engineers rather than computer scientists. As a consequence some of the experiments that follow the construction project deal with software and some deal with interfacing. This is to reinforce the idea discussed in the introduction, that a microprocessor is not of much use if it is not interfaced to the real world.

References

The students should have the first reference listed below from a previous course. The other references are suggested and may be helpful, but are not absolutely essential.

• James L. Antonakos, The 68000 Microprocessor, Hardware and Software Principles and Applications, Third Edition, Prentice Hall, 1996. Since it is used as a textbook in our microprocessor courses, every student taking this laboratory should have a copy.

• 8-/16-/32-Bit Microprocessor User’s Manual, by Motorola. This reference is very detailed on the 68000 code. It explains addressing modes in the greatest detail. It’s a wonderful reference to have around.

• Alan Clements, 68000 Family Assembly Language, PWS Publishing Company, Boston, 1994. Excellent book when it comes to explaining code. His presentation is a masterpiece on the subject of orderly parameter passing using the LINK instruction.

• Intel Manual, or spec-sheet, for the 8251A PCI (Programmable Communication Interface).

 

  Go to EE395 Experiment                   Microprocessor board    8251A Interface   SBC   EEPROM   ECE Lab home