Adding PC Connectivity to the MTS-88 Microcomputer Teaching. Omar Walid Abdul-Wahab, Wameedh Nazar Flayyih. System

Similar documents
Microprocessors and Microcontrollers (EE-231)

Syllabus for Bachelor of Technology. Computer Engineering. Subject Code: 01CE0501. Subject Name: Microprocessor Fundamentals & Programming

Microprocessors/Microcontrollers


Basic I/O Interface

EE 390 Lab Manual, EE Department, KFUPM. Experiment #7. Introduction to Flight86 Microprocessor Trainer and Application Board

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET

EEM336 Microprocessors I. I/O Interface

Topics. Interfacing chips

Microprocessor and Microcontroller question bank. 1 Distinguish between microprocessor and microcontroller.

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

DEPARTMENT OF ECE QUESTION BANK SUBJECT: MICROPROCESSOR AND MICROCONTROLLER UNIT-1 PART-A (2 MARKS)

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors

EC 6504 MICROPROCESSOR AND MICROCONTROLLER

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

8255 Programmable Peripheral Interface Architecture MCT/UNIT III/NARASIMHARAJ/LECTURE NOTES /IV MECH A



Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

Mrs.T.Divya Barathi AP/ECE. Integrated Circuits Digital Logic Circuits Stack & Queue Concepts

Overview of Microcontroller and Embedded Systems

INTRO TO I/O INTERFACE

Microprocessors and Microcontrollers. Assignment 1:

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

BASIC INTERFACING CONCEPTS

Programming the 8259 PIC: A Tech-Tip Example and Boilerplate

Rewa Engineering College, Rewa. Rewa Department OF Electrical Engineering

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

EE 308: Microcontrollers


8051 Microcontroller

Week 7. Input/Output Interface Circuits and LSI Peripheral Devices

SARDAR RAJA COLLEGES SARDAR RAJA COLLEGE OF ENGINEERING ALANGULAM

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

PART B UNIT II PART A

PART - B (Answer all five units, 5 X 10 = 50 Marks)

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING YEAR : III SEM : VI

Allmost all systems contain two main types of memory :

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

Class: S.E. (Electrical) Course: 2012 PAT. Semester: IV : FUNDAMENTALS OF MICROPROCESSOR AND MICROCONTROLLER Textbooks:

Keywords Digital IC tester, Microcontroller AT89S52

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

SRI VENKATESWARA COLLEGE OF ENGINEERING

THE AVR MICROCONTROLLER AND EMBEDDED SYSTEMS. Using Assembly and С

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

VALLIAMMAI ENGINEERING COLLEGE

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Address connections Data connections Selection connections

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY DEPARTM ENT OF CSE COURSE PLAN SECTION DAY ORDER PERIOD TIMINGS

Chapter 2: Fundamentals of a microprocessor based system

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI UNIT IV I/O INTERFACING PART A (2 Marks)

Segment A Programmable Peripheral Interface (PPI)

Lecture 2 Microcomputer Organization: Fig.1.1 Basic Components of Microcomputer

GOVERNMENT OF ASSAM. JORHAT : , ASSAM Ph : INVITATION FOR QUOTATION TEQIP-III/2019/jejc/Shopping/18 To,

Chapter TEN. Memory and Memory Interfacing

Chapter 4 : Microprocessor System

Pearson New International Edition. The 8051 Microcontroller and Embedded Systems Mazidi Mazidi McKinlay Second Edition

MICROPROCESSORS & MICRO CONTROLLER COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

G.PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY

EMBEDDED SYSTEMS COURSE CURRICULUM

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

Module 1. Introduction. Version 2 EE IIT, Kharagpur 1

OMEN Alpha / issue 4. Technical Documentation

IN-CIRCUIT DEBUG (ICD) USER GUIDE

ITT Technical Institute. ET2640 Microprocessors and Microcontrollers Onsite and Online Course SYLLABUS

Three-box Model: These three boxes need interconnecting (usually done by wiring known as a bus. 1. Processor CPU e.g. Pentium 4 2.

Computer Hardware Requirements for Real-Time Applications

GOVERNMENT OF ASSAM. JORHAT : , ASSAM Ph : INVITATION FOR QUOTATION. TEQIP-III/2019/jejc/Shopping/20

Considerations for Microprocessor-based Terminal Design

Moodle WILLINGDON COLLEGE SANGLI (B. SC.-II) Digital Electronics

Chapter Operation Pinout Operation 35

Laboratory: Introduction to Mechatronics. Instructor TA: Edgar Martinez Soberanes Lab 1.

Computer Systems Organization

Contents. Main Memory Memory access time Memory cycle time. Types of Memory Unit RAM ROM

Introduction read-only memory random access memory

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

MadLab JellyBean. version 1.0. Written by James Hutchby Copyright MadLab Ltd All Rights Reserved.

Chapter 4 The Components of the System Unit

DESIGNING OF INTER INTEGRATED CIRCUIT USING VERILOG

SANKALCHAND PATEL COLLEGE OF ENGINEERING, VISNAGAR. ELECTRONICS & COMMUNICATION DEPARTMENT Question Bank- 1

Microcontroller & Interfacing

Menu. word size # of words byte = 8 bits

82C55. Programmable Peripheral Interface. Interfacing Part III

Inside the Computer System

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc)

B.Sc- ELECTRONICS-SYLLABUS SEMESTER: V PAPER V - MICROPROCESSORS (INTEL 8085) (60 OURS) Work load:60 hrs per semester

Computers Are Your Future

MICROPROCESSORS & INTERFACING (A1423) C.Lokanath Reddy Assistant Professor.

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

GUJARAT TECHNOLOGICAL UNIVERSITY

4. (a) With a neat sketch explain 8237 DMA controller and its operation? (b) With the help of basic cell explain SRAM and DRAM?

COMP3221: Microprocessors and. and Embedded Systems. Overview. Computer Buses. Bus Oriented Architecture

Transcription:

Adding PC Connectivity to the MTS-88 Microcomputer Teaching System Computer Engineering Department, University of Baghdad, Baghdad, Iraq omarwalid1@yahoo.com, wam_nazar@yahoo.com doi: 10.4156/ijact.vol2.issue2.16 Abstract The MTS-88.c trainer is a training system targeting students in the microprocessors course. It has a built in single-line assembler allowing the users to enter programs in assembly. It has the problem that long programs cannot be traced and tested efficiently. A simple error may cause all the code to be erased and the system to stop responding. Also, this system lacks the ability to be connected to the PC. The aim of this work is to modify the system to make it possible to be connected to the PC through the parallel port. This gives the capability to download long programs to the system after being developed in the PC. The 8255 Programmable Peripheral Interface available in the teaching system is interfaced to the parallel port and used as communication channel between the PC and the system. Software on both parties is developed to handle the communication protocol. 1. Introduction Keywords: MTS-88, microprocessor trainer, assembler, EPROM. The MTS-88.c is a microcomputer teaching system or trainer developed by (K&H MFG. CO) [1]. It is a system targeting computer engineering students taking the microprocessors/microcomputers course, and it is also used by several universities in the world. Its goal is to illustrate the 8088 microprocessor programming and interface through several experiments. Figure (1) shows the main components of the trainer kit and it has the following hardware specifications [1]: 8088 CPU. Memory: 32 KB onboard SRAM, and 32 KB optional SRAM (IC socket available), 32 KB onboard EPROM, and 32 KB optional EPROM (IC socket available). Keypad: It has 51 keys which include the alphanumeric characters A - Z and 0-9 and special ASCII symbols and function keys. Display: LCD display 24 characters by 2 lines. 8255 Programmable Peripheral Interface (PPI). 8259 Interrupt Controller. 8279 Keyboard and Display Controller. 8253 Programmable Timer. The system comes with 6 I/O boards that cover 22 experiments dealing with LEDs, switches, 7- segment, ADC, DAC, DC motor, and stepper motor, and all the I/O boards use the 8255 as the interface. Other experiments that are not included but can be added include the interaction with the programmable timer and the interrupt controller since their connection pins are included with interface socket (J1) available for the 8255. Also it is possible to interact with the keyboard/display controller (8279) and the LCD. The programs that are developed range from simple ones constructed from few lines of code to complex programs made of hundreds of lines. 172

International Journal of Advancements in Computing Technology Volume 2, Number 2, June 30 Figure 1. Main components of the MTS-88.C system The 8255 programmable peripheral interface is a popular low cost interfacing component found in many applications. It has 24 pins for I/O distributed among three ports (A, B, and C), operating in three modes. It is used for interface to the keyboard and the parallel printer port in many of the personal computers [2]. The MTS-88.c kit has an 8255 PPI that is mapped to ports (10h, 11h, 12h, 13h) corresponding to (port A, port B, port C, and Control register) respectively [1]. Although the 8088 microprocessor has a maximum addressable memory of 1 MB, the MTS-88.c system comes with 32 KB RAM and 32 KB EPROM. However, the system has two optional IC sockets so additional 32 KB RAM and/or 32 KB EPROM can be added [1]. Figure (2) shows the memory map of the RAMs and EPROMs. It is known that the EPROM contains the built in procedures of the system, the assembler, and the monitoring program. On the other hand the onboard RAM is divided between the interrupt vector, system area, and user s area. The programs developed to interact with the I/O boards should be stored in the user s area. 2. Problem statement and aim of work Often, especially for microcontroller applications, a different computer, such as a personal computer, is used to edit and assemble the programs. This type of assembler is called a cross assembler [3], which may be one-pass, two-pass, or macro-assembler [4]. On the other hand, a native assembler is one that runs on the target processor [3]. Some assemblers allow the entire source file to be written and assembled at one time. Other assemblers, called single-line assemblers, work with one source line at a time and are restricted in operation. These kinds of assemblers are usually found on small microprocessor-based systems that do not have disk storage and text editing capability [5]. The assembler of the MTS-88.c kit is a native single-line assembler. 173

Figure 2. MTS-88.C memory map To clarify the aim of this research, it is necessary to understand the limitations in developing application programs of the kit. First, editing a program is done through the keypad in a line-by-line basis with only the recent edited source line being displayed on the LCD. This makes editing and modifying the program a tedious task, especially for relatively large programs. Second, since the assembler of the kit is a single-line assembler, a source line must not contain a symbolic label, which raises a problem when trying to use forward reference [6]. Third, any block of data or code in the memory of the kit is lost when the supply is removed since no storage is available as mentioned above, and the assembler only checks the syntax of the instructions, but cannot check the functionality or the execution path of the program which may result in hard to trace errors. Some errors may cause part or the entire code to be lost which will require the code to be entered again. The interface between the kit and the personal computer makes it possible to develop application software for the kit through the PC using any 8088-based cross assembler (such as MASM). Thus, the problems mentioned above are no longer present since the source program can be easily edited and modified using any text editor, such as EDIT, available with Microsoft DOS or Notepad, in Windows with the ability to use all the facilities of a two-pass cross assembler, including the forward reference. And since text editing programs may be used then the programs can be stored and altered after period of time, which brings the possibility to develop long programs. Another advantage is to read the built in procedures available in the kit EPROM and unassemble them in the PC using disassemblers to understand their operation. This capability is found in other trainers like the MTS-8088 from Sun Equipment Corporation [7] and the MPT-8088 from Troper Electronic [8]. 3. System design As previously mentioned, the aim of this work is to enhance the kit system by adding the capability to communicate with the PC through the parallel port. The parallel port is the most suitable port of the PC to communicate with the kit since the kit communicates with any external device through the 8255, which is a parallel input/output interface. Using a parallel input/output interface in both sides simplifies the design of the interface HW and communication protocol. To achieve this goal this section presents the proposed system design, whose main components are shown in figure (3). Each part will be discussed in more details in the next subsections. Since it is required that a block of machine code or 174

International Journal of Advancements in Computing Technology Volume 2, Number 2, June 30 data to be transferred to a certain memory location in the kit, an application with graphical user interface (GUI) must be available in the PC side to control the operations. Also some procedures must be available in the kit side to receive the commands and data. The system will depend in its communication on the parallel port in the PC side and on the 8255 in the kit side connected through the interface hardware. The communication modules on both sides are responsible for the handshaking signals, and they represent the low level protocol. The main program in the kit side is included with the communication module and it makes use of some built in procedures available in the kit system. 3.1. Interface HW Figure 3. Proposed system main components The interface hardware is responsible for the hardware connection between the 8255 in the kit and the parallel port in the PC. Figure (4) shows the hardware interface between the PC and the kit. Data path from PC to Kit: The data port in the parallel port is used as an output to send 8 bits to port A in the 8255 of the kit. Data path from Kit to PC: S3 S6 of the status port in the parallel port is used as an input to read the data sent from port B of the kit. The data sent by port B is 8 bits so a quad 2-to-1 multiplexer is used to divide the 8 bits into two part (4 bits each) and read them in two steps. C0 of the control port in the parallel port is used as a control signal (Nibble Select) to select the 4 bits to be read. Handshaking signals: o PC Data Available/Acknowledge: it is a signal sent by the parallel port through C1 of the control port and connected to C1 of port C of the 8255. It has two functions: a. When sending data from PC to kit it is set to 1 to indicate data availability and when 0 it indicates that no data is present. This is used by the kit to read data when available. b. When data is sent from kit to PC it acknowledges to the kit that the data has been read and it is ready to receive more. o Kit Acknowledge/Data Available: it is similar to previous signal but comes from C4 in port C of the 8255 and connected to S7 in the status port of the parallel port. o Busy: it is a signal indicating the status of the system in the PC. It goes from C2 of the parallel port to C2 in the 8255. According to the above description the 8255 PPI must be programmed such that the mode of operation is mode 0 for all, port A is input, port B is output, low part of port C as input and its high part as output. The current use of the parallel port is the most preferred way to read 8 bits; other possible solutions are to use the data port as bidirectional port by software control. This has a problem that some parallel ports behave differently according to the manufacturer requiring different software manipulation; also 175

it will result in conflict in case that both sides are attempting to send data. So the nibble mode is most safe and adequate for future expansion since it isolates the input data path from the output data path. But it has the disadvantage that it is slower and it requires the use of more I/O instructions and an external IC. It should be noted that the control port in the parallel port is usually open collector except in some cases, so it is recommended to use pull up resistors connected to Vcc to ensure correct operation. 3.2. Communication protocol Figure 4. Hardware Interface Figure (5) shows the timing diagram of N-bytes data transfer from PC to kit. First the PC asserts the Busy signal and then sends the data. The data available signal (PC DA) is asserted after a small delay to ensure the data settles before being recognized by the kit. When the kit sees the PC DA it reads the data and asserts the Kit Ack to indicate to the PC that it has read the data. If Kit Ack is not asserted during T1 period then the PC assumes the kit is not functioning. After asserting the kit Ack the kit waits for PC DA to be negated by the PC for a maximum period of T2. When the PC negates the PC DA it waits until the kit negates Kit Ack during T3 period. If this period passes and the Kit Ack is not negated the PC assumes the kit is not functioning. Figure (6) shows the timing diagram of N-bytes data transfer from kit to PC, which is similar to the transfer from PC to kit. The difference is that the PC reads data twice and it controls the NS signal, and only after reading both parts of data it asserts PC Ack. The PC is considered as the master in the operations, so it has control over the Busy signal. The kit must check this signal before sending each byte. This case is not required in the current implementation since the case where the kit sends data occurs only under the request of the PC. But it is a must for future cases where the kit sends data without the control of the PC, one example is when the kit runs a program and whenever it finishes it sends some results to the PC, and during this period the PC sends a command to end the operation, then a conflict may occur. Although this case is not found in the current design but the Busy was included for future extension. 176

International Journal of Advancements in Computing Technology Volume 2, Number 2, June 30 Figure 5. PC to Kit data transfer handshaking 3.3. Main applications Figure 6. Kit to PC data transfer handshaking Two application programs are required, one at the PC side and the other at the kit side. These applications use the underlying communication protocol for communication. The PC side application is 177

considered the master which sends commands to the kit side. Currently the commands are restricted to three only, shown in figure (7): Command1: is a data transfer from PC to kit sending L bytes to an address in the kit memory specified by the PC. This is the most important one since it is used to load a program in machine code from the PC to the kit which is the main purpose of the work, Command2: is a data transfer request sent by the PC requesting from the kit to send it a block of data from a specific location. After sending this command the kit sends the requested bytes. Command3: it is responsible for ending the communication mode, so the kit program ends and gives the control to the original built in monitoring program. Other possible commands that can be added in the future include a command to start execution at specific memory location and a command to read the contents of the registers. 4. Implementation Figure 7. Commands structure We can divide the system into three main parts: the PC side, the kit side, and the interface hardware. Also it must be noted that there is another hardware part which is the EEPROM chip on which the kit program resides. 4.1. PC side implementation The application was developed using Visual C++ on Windows XP operating system. The application is partitioned into two parts: the communication module and the GUI which includes the managing functionality. The communication module is realized as a class called PCKITComm which encompasses number of functions called by the GUI to interact with the parallel port. The functions are the implementation of the timing diagrams in figures (5) and (6). The separation of the communication functionality in a class from the GUI gives the flexibility to develop other applications using the same communication class. Also any change in the interface hardware and/or the handshaking protocol requires changing the PCKITComm class only without affecting the application as a whole. The GUI is shown in figure (8) and the functions are clear. By this it is possible to open any file as binary, display it, change its contents using the Edit button, and send it to the kit. Also, when selecting MTS88 PC, the Send button changes to Get and the Open becomes Save As allowing the application to get data from the kit and save it as a file. This allows its contents to be analyzed and processed later. 178

International Journal of Advancements in Computing Technology Volume 2, Number 2, June 30 4.2. MTS side implementation The communication module for the kit was developed on PC using Microsoft Macro assembler version 611 (MASM611). After assembling the source program and linking the resulting object file, a (.EXE) file is obtained. An EXE program has header and trailer bits that specify how the program is loaded into memory under control of the DOS operating system. To program an EPROM there is no need for these operating system or loader links because there is no operating system. Thus the control bits must be removed [9]. This task is done by a locator program, which converts a.exe file to a.bin file. A.BIN file is loaded at specific memory location [10]. Another way to convert a.exe file to a.bin file is to open the.exe file using a binary editor program, delete the first 512 bytes which is reserved for the header, and save the resulting file as.bin file. Figure 8. GUI of application in PC The communication module program may need to be altered after testing it in the target system; therefore it is more convenient to use an EEPROM instead of EPROM. Parallel EEPROM devices are still available from manufacturers as the 28xxx family. They are pin and function compatible (for reads) with the 27xxx EPROM family [11]. An 8K B EEPROM (M28C64C) was used instead of a 32K B EPROM (27256). The communication module program was downloaded to this EEPROM using a TOP IC Programmer. This EEPROM was plugged in the available EPROM IC socket. Since the EPROM IC socket is dedicated to a 32 KB EPROM device (27256), plugging an 8 KB EEPROM instead of the EPROM functions correctly if the corresponding pins in the two devices have almost the same function. A comparison between the two devices through Figure (9) shows that all their pins are identical except RB (Ready/Busy), DU (Don t Use), and W (Write) in EEPROM which correspond to Vpp, A13, and A14 in EPROM, respectively. Since RB is an output from the EEPRM while Vpp is an input to the EPROM, to prevent any conflict, the RB pin was not connected. Obviously; there is no conflict between DU and A13. 179

Finally, the W pin of the EEPROM must never become low to prevent altering its contents. This can be achieved by accessing memory locations for which A14 is always high. The address range of the EPROM IC socket is F0000H through F7FFFH (32K B), so to ensure that A14 is always high, the 8K B EEPROM must reside in the upper 16K B of the 32K B address space. This upper 16K B has address range F4000H through F7FFFH. However, there is no guarantee that A14 would never become low since the kit communication module calls two of the kit built-in procedures that are related to the LCD and this results in accessing stack segment during the push and pop operations (where the stack segment would have address range other than F4000H through F7FFFH). Therefore, the W pin is connected to Vcc. Since A13 and A14 of the EPROM IC socket are left unconnected, the 8K B EEPROM is partially decoded which gives rise to image addresses. However, image addresses have no effect at all on the operation of the system [12]. The 8K B address range F0000H through F1FFFH would have image addresses F2000H through F3FFFH, F4000H through F5FFFH, and F6000H through F7FFFH. Figure (10) shows how the new EEPROM is mapped to the memory space of the system. Figure (11) shows how the communication module program is mapped in the EEPROM space. Figure 9. Pin configuration: 2864 EEPROM (left), 27256 EPROM (right) Figure 10. MTS-88.c memory map including the added EEPROM 180

International Journal of Advancements in Computing Technology Volume 2, Number 2, June 30 Figure 11. Memory map of the communication module in the kit The kit provides the ability to use both intrasegmet (near) and intersegment (far) procedure calls. A catalog section of near procedure calls starts from memory location F000H: F040H. To call any one of these procedures, a far call must be made to its address (CS: IP). Thus, from any memory code segment other than F000H, a far call can be made to any one of the procedures in the catalog section. As mentioned above, the communication module calls two of these procedures, the first one clears the LCD and the second one displays the phrase comm. mode on it to indicate that the kit has entered the communication mode with the PC. To start the communication program in the kit the GO command must be used, and since the code is stored at location F6017H, the command is G F000:6017 5. Conclusions and future work The MTS-88.c trainer has the potential to expand its operation through the empty IC sockets. This point was used to add communication capability with PC, and the proposed solution was implemented and several tests were carried out successfully. Throughout the design and implementation several issues were faced. Among these issues is the difference between the.exe and.bin file types, since the.exe file cannot be used for embedded systems since it contains operating system related header. For this reason the header was removed to get the required binary information. Another issue was the availability and flexibility of EPROMs and EEPROMs. Since the continuous modification of program is a must during program development then it is faster and easier to use EEPROM instead of EPROM, since the latter is UV erasable. The UV erase operation is slower than the electrically erase operations and the UV eraser was not available, so the EEPROM was used but with different size from the EPROM due to availability which lead to another issue. The compatibility between the 2864 EEPROM and the 27256 EPROM was not totally true. So some adaptation was required by comparing the pin outs and that was accomplished. One point to be noted is that the system is based on an 8 bit external data bus microprocessor which facilitates the EPROM programming. In case the system is based on a microprocessor that has an external data bus wider than 8 bits, this will require two or more EPROMs, one for each bank, and then the machine code must be split between them. Regarding future directions, the current design and implementation includes the capability to send a block of code or data from the PC to the kit or requesting a block from the kit, so other possible additions to the system may include the capability to run programs from a specified position in memory as indicated by the PC. Also it is possible to add a command to read and set the registers in the kit. 181

Currently, to start the communication program the user has to remember the start address of the program. Another possibility for future is to add a command to start the communication program to the list of built in commands that the monitoring program supports. This requires analysis of the monitoring program in the EPROM to be able to modify it and copy the modified contents to a new EPROM and replace the old EPROM with the modified one. Another direction is to expand the system to be able to connect several kits to the same PC simultaneously, by adding the option in the PC to select the kit to be programmed. This facilitates the programming of several kits with the same or different programs without removing one and connecting the other. Since the PC and the I/O experimental boards share the same interface socket, the interface hardware can be expanded in such a way that the I/O experimental boards can be connected to the kit without removing the connection with the PC,. 6. Resources [1] K and H MFG CO, MTS-88.C: 8088 Microcomputer Teaching System, The User s Guide. [2] B. Brey Barry, The Intel microprocessors, eighth edition, Pearson Prentice Hall, 2009. [3] M. Cady Fredrick, Microcomputers and Microcontrollers, Oxford University Press, 1997. [4] M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, John Wiley & Sons, 2005. [5] L. Antonakos James, The 68000 Microprocessor, Prentice-Hall, 1999. [6] P. Daniel, Introduction to computer architecture, Springer, 2009. [7] Sun Equipment Corporation, MTS-8088: Microprocessor Training System, USA. [8] Troper Electronic Sdn Bhd, MPT-8088: 8088 Microprocessor Trainer, Malaysia. [9] Z. Ali, Creating an EPROM Program, University of Massachusetts Lowell, 2006. http://faculty.ulm.edu/yluo/teaching/microprocessorii/resources/createeprom.pdf [10] N. Mathavanan, Microprocessors, PC Hardware and Interfacing, Prentice-Hall, 2003. [11] B. Mark, complete digital design, McGraw-Hill, 2003. [12] C. John, Introduction to Microprocessors and Microcontrollers, Newnes, 2004. 182