a) Figure 1 shows a block diagram of the main functional elements within the 8051 microcontroller. Explain the purpose of each of the numbered elements. [9 Marks]
b) What is the purpose of address decoding and explain the difference between full and partial address decoding. [3 Marks]
c) Within the 8051 microcontroller, Port 0 is used for both providing the lower half of the address bus and for bidirectional data flow. Explain how this is possible and provide an illustration showing how you would connect an 8051 to an external 64 Kbyte Random Access Memory (RAM) device including any interface logic that may be required. You should also clearly state the role of the ALE signal. [5 Marks]
d) Briefly explain what is meant by a bus and why is it typically necessary to regulate access to it?
e) Describe the role of tri-state logic for attachment to a bus and explain how it can be achieved in order to permit bi-directional communication between three devices. Illustrate your answer.
Question
a) Figure shows a block diagram of the main functional elements within the 8051 microcontroller: Explain the purpose of each of the numbered elements. [9 Marks]
INT0 INTO
Timer 2 (8032/8052) Timer 128 bytes Timer 0 Serial port RAM (8032/8052)
ROM
OK 8031 OK 8032 4K 8051 8K 8052
Timer
Interrupt control
Other registers
128 bytes RAM
Timer 0
CPU
Serial port
Oscillator
Bus control
IO ports
EA RST
ALE PSEN
PO PI P2 P3
TXD RXD
Address/Data
Alternate pin assignments for PI and P3
Figure 1: Functional Elements of the 8051