THE UNIVERSITY OF THE WEST INDIES

 

                   EXAMINATIONS   OF  DECEMBER   2007

 

Code and Name of Course: ELET2100 – MICROPROCESSORS  I

 

Date and Time:                                                                    Duration: 2 hours

 

 

INSTRUCTIONS TO CANDIDATES:  This paper has  3  pages and  5  questions.

Answer any   THREE (3)   of   FIVE (5)   questions.

 

 

Question 1:

 

Explain how the 8085 CPU instructions SIM and RIM operate for interrupts.                           [5]

 

 

Assume that an Interrupt Service Routine (ISR) for the interrupt signal RST7.5 on an

8085 CPU, is stored in memory location beginning at 2060H. Explain what sequence

of steps must occur for this ISR to be activated.                                                                               [4]

 

 

While the ISR above is executing, a RST 6.5 interrupt may occur. Explain, with suitable

assembly code, how you would check to determine if a RST 6.5 interrupt occurred. Then

execute a program at memory location 2030H if it did occur, otherwise, reboot your

computer system.                                                                                                                                      [6]

 

 

Explain how the INTR interrupt signal on the 8085 CPU operates.                                              [5]

 

 

Question 2:

 

Figure 1 shows a Port address decoder interfaced to an 8085 CPU. Explain how the

circuit operates then write instructions to display the number “97” on the 7-segment displays.                                                                                                                                          [5 + 10]

 

Explain the difference between Port and Address space (mapping) and why port

address decoders are easier to design using the upper-half of the address bus.                   [5]

 

Figure 1

 

Question 3:

 

Draw a block diagram of a 16-channel A/D converter showing all the necessary control signals

necessary to interface it to an SDK-85 kit.                                                                                          [6]

 

 

Interface this A/D converter to the SDK-85 kit used in the Lab, using any port(s) of your

choice then write a subroutine which will read all channels and store them in memory

starting at location 2090H.                                                                                                                    [12]

 

 

If the A/D converter is an 8-bit type, comment on its resolution of channel 0 if an analog

input voltage of 1.5VDC produces a full-scale reading.                                                                  [2]

 

 

Question 4:

 

( a ) A set of eight data bytes are stored in memory locations starting at 4050H.

Write code to check each data byte for bits D7 and D0. If D7 or D0 is 1, reject the

data byte; otherwise, store the data bytes at memory locations starting at A000H.                [10]

 

( b ) The program below adds bytes stored in memory then saves them in memory.

Read the program and answer the questions below.

 

                        LXI      H, 0000H

                        LXI      D,0000H

NEXT:            ADD   M

                        JNC    SKIP

                        INR     E

SKIP:             DCR   D

                        JNZ     NEXT

                        LXI      H, 0090H

                        MOV   M, A

                        INX     H

                        MOV   M, E

                        HLT

( a ) specify the number of bytes that are added by the program                                                 [2]

( b ) specify the memory locations where the result is stored                                                       [2]

( c ) identify the two errors in the program                                                                                          [4]

( d ) how many bytes does the program code occupy ?                                                                 [2]

 

Question 5:

 

Sketch the waveforms for the following serial transmissions using 7-bit data, even

parity, one stop bit, 9600 baud.

 

            (i)  ASCII <spacebar> character  (20H)

            (ii) ASCII <carriage return> character  (0DH)

 

Indicate the bit time on your sketch.                                                                                                     [8]

 

Explain the instructions of the 8085 CPU that are used to implement serial

communications.                                                                                                                                       [6]

 

A fellow student wrote a subroutine (GETBYTE) that performs the following tasks,

when CALLed:

 

( i ) reads the serial input port bit (SID pin)

( ii ) returns the byte received in Register-C

( iii ) preserve all other registers

( iv ) returns to the calling program

 

Show (sketch), and explain, how you would use this subroutine as an interrupt-driven

subroutine in an 8085 CPU system (assume all interrupts are at your disposal).                    [6]