8085 Microproceesor - PPT
8085 Microproceesor - PPT
8085 Microproceesor - PPT
Interconnections between these units: Address Bus Data Bus Control Bus
Store 8-bit data (Registers, Accumulator) Perform arithmetic and logic operations (ALU) Test for conditions (IF / THEN) Sequence the execution of instructions Store temporary data in RAM during execution
Demultiplexing AD7-AD0
From the above description, it becomes obvious that the AD7 AD0 lines are serving a dual purpose and that they need to be demultiplexed to get all the information. The high order bits of the address remain on the bus for three clock periods. However, the low order bits remain for only one clock period and they would be lost if they are not saved externally. Also, notice that the low order bits of the address disappear when they are needed most. To make sure we have the entire address for the full three clock cycles, we will use an external latch to save the value of AD7 AD0 when it is carrying the address bits. We use the ALE signal to enable this latch.
Demultiplexing AD7-AD0
8085
A15-A8 ALE AD7-AD0 Latch
A7- A0
D7- D0
Given that ALE operates as a pulse during T1, we will be able to latch the address. Then when ALE goes low, the address is saved and the AD7 AD0 lines can be used for their purpose as the bi-directional data lines.
The ALU
In addition to the arithmetic & logic circuits, the ALU includes the accumulator, which is part of every arithmetic & logic operation. Also, the ALU includes a temporary register used for holding data temporarily during the execution of the operation. This temporary register is not accessible by the programmer.
Memory interfacing
There needs to be a lot of interaction between the microprocessor and the memory for the exchange of information during program execution. Memory has its requirements on control signals and their timing. The microprocessor has its requirements as well. The interfacing operation is simply the matching of
these requirements.
RAM
Input Buffer WR
ROM
Address Lines
CS
Address Lines
CS
Output Buffer
RD
Output Buffer
RD
Data Lines
Date Lines
The process of interfacing the above two chips is the same. However, the ROM does not have a WR signal.
Interfacing Memory
Accessing memory can be summarized into the following three steps: Select the chip. Identify the memory register. Enable the appropriate buffer. Translating this to microprocessor domain: The microprocessor places a 16-bit address on the address bus. Part of the address bus will select the chip and the other part will go through the address decoder to select the register. The signals IO/M and RD combined indicate that a memory read operation is in progress. The MEMR signal can be used to enable the RD line on the memory chip.
Address decoding
The result of address decoding is the identification of a register for a given address. A large part of the address bus is usually connected directly to the address inputs of the memory chip. This portion is decoded internally within the chip. What concerns us is the other part that must be decoded externally to select the chip. This can be done either using logic gates or a decoder.
8085
A15-A8
ALE AD7-AD0 Latch
CS
A9- A0
A7- A0
WR RD
IO/M
D7- D0
RD
WR
Between registers
Between memory location and a register Direct write to a register / memory Between I/O device and accumulator
Examples:
47 4A 16
Example: OUT 05 D3
05
Contents of ACC sent to output port number 05.
Arithmetic Operations
Arithmetic Operations
Arithmetic Operations
Logic Operations
Logic Operations
Logic Operations
Branching Operations
Note: This is an unconditional jump operation. It will always force the program counter to a fixed memory address continuous loop !
Branching Operations
Conditional jump operations are very useful for decision making during the execution of the program.
Use a register PAIR as an address pointer ! We can define memory access operations using the memory location (16 bit address) stored in a register pair: BC, DE or HL. First, we have be able to load the register pairs. LXI B, (16-bit address) LXI D, (16-bit address) LXI H, (16-bit address)
Interrupts in 8085
In many real-time operations, the microprocessor should be able to receive an external asynchronous signal (interrupt) while it is running a routine.
When the interrupt signal arrives:
The processor will break its routine Go to a different routine (service routine) Complete the service routine Go back to the regular routine
Interrupts in 8085
In order to execute an interrupt routine, the processor:
Vectored Interrupts
There are four other interrupt inputs in 8085 that transfer the operation immediately to a specific address:
TRAP: go to 0024 RST 7.5: go to RST 6.5 RST 5.5 003C 0034 002C
RST 7.5, RST 6.5 and RST 5.5 are maskable interrupts, acknowledged only if they are not masked !
they are
Vectored Interrupts