A microprocessor is an integrated circuit which understands and executes computer instructions. As well as performs various arithmetic and logical operations.
It is a multifunctional, clock-driven, register-based digital integrated circuit that receives binary data as input, processes it using instructions stored in its memory, and outputs results (also in binary form).
Do you know, Intel 4004 was the first available commercially microprocessor.
Continuous advancements in microprocessor capacity have rendered previous types of computers nearly outdated (see history of computing hardware), with one or more microprocessors included in everything from the tiniest embedded systems and portable devices to the largest mainframe computers and supercomputers.
I hope you understand very well, what is a microprocessor? Let’s understand, what is microprocessor 8085?
What is 8085 Microprocessor?
8085 Microprocessor is 40 pin IC. It operates on a 3MHz frequency and +5V power supply.
Do you ever think, why microprocessor 8085 is considered to be an 8-bit processor? No, I tell you. Because at a time it can fetch or execute only 8-bit data.
Block Diagram of Microprocessor 8085 | Pin Diagram of 8085 Microprocessor
See the block diagram of the 8085 microprocessor,
Address Bus and Data Bus
In 8085, the address bus is 16-bit (numbered A0-A15). This bus is linear, which means that bits move in only one way from the CPU unit to the peripheral devices, and it employs the high order address bus. While the data bus is 8-bit.
AD0 – AD7 lines are multiplexed means these lines work as an address bus as well as a data bus. Bits A0– A7 carry lower order addresses and bits A8 – A15 carry higher order addresses.
The question must have come to your mind when will the AD0 to AD7 bit act as an address bus and when as a data bus? This thing is decided by Address Latch Enable (ALE). Let’s Understand What is ALE?
Registers in Microprocessor 8085
The 8085 includes six general-purpose registers (B, C, D, E, H, and L) for storing 8-bit data. To execute some 16-bit operations, these can be joined as register pairs – BC, DE, and HL. These registers are used to store or copy temporary data during program execution by utilizing instructions.
The accumulator is a component of the arithmetic and logical unit that is an 8-bit register (can hold 8-bit data) (ALU). The outcome of arithmetic or logical operations is kept in the accumulator. Accumulator can also be referred to as register A.
The flag register is a special-purpose register that is distinct from the other registers of a microprocessor. It is an 8-bit register, in which only 5 are usable. The remaining three are left empty and will be utilized in future Intel versions.
After an operation, these 5 flags are set or reset (when the value of the flag is 1, it is said to be set, and when the value is 0, it is said to be reset) based on the data condition of the result in the accumulator and other registers. The five flag registries are, Sign Flag, Zero Flag, Auxiliary Carry Flag (AC), Carry Flag,
Memory addresses are stored in two 8-bit registers. Because memory addresses are 16 bits long, these registers are 16 bits long. They are as follows
This is used to sequence the execution of instructions. The program counter’s role is to point to the memory address from which the next byte is to be retrieved. When a byte of machine code is retrieved, the program counter is increased by one to refer to the next memory address.
This type of pointer is utilized as a memory pointer. It refers to the stack, which is a memory region in read/write memory. During push and pop operations, it is always incremented/decremented by 2.
Status and Control Signals
Address Latch Enable (ALE)
This is a status and control signal. If its value is 1, AD0 to AD7 works as an address bus otherwise it acts as a data bus.
Input/Output or Memory (IO/M’)
A status signal that indicates whether the data is fetched from input-output devices or memory. When it is set to high(1), the address on the address bus is for I/O devices. When it is set to zero, the address on the address bus is for memory.
S0 , S1 Signal
These are status indicators. They differ between several sorts of processes such as stop, reading, instruction fetching, and writing.
Read Signal (RD’)
This is a signal used to manage the READ operation. When it is low, the memory or input-output device of choice is read.
Write Signal (WR’)
It is a low-enable signal. When it is low (0), it performs WRITE operation, the data on the data bus is written into the specified memory or I/O destination.
It detects whether or not a peripheral is ready to send data. If the value of READY is high(1), the peripheral is ready. If it is low(0), the CPU will wait until it is high. It’s handy for connecting low-speed devices.
Clock Frequency and Power Supply
Power supply Vcc – To operate, it needs a +5v power supply
Ground Reference – Vss
XI, X2 — These two pins are connected to a crystal oscillator. Because the frequency is internally split by two, a system operating at 3MHZ requires a crystal with a frequency of 6MHZ.
CLK (OUT) — This signal can be utilized by other devices as the system clock.
Interrupts in Microprocessor 8085
The 8085 microprocessor supports five interrupt signals that can be used to halt program execution for some time. INTR, RST 7.5, RST 6.5, RST 5.5
Signals for Reset
RESET IN’ — When this pin’s signal is low(0), the program counter is reset, the buses are tri-stated, and the microprocessor unit is reset.
RESET OUT – When this pin is set to 1 (high). All the external devices connected to the microprocessor will reset. Other devices can be reset, when you press the reset button of the microprocessor.
DMA (Direct Memory Access) Signals
HOLD —When another device wants to utilize the address and data bus. Then DMA controller sends signal ‘1’ to the microprocessor, holds the current process, and free the data bus and memory bus, to access data from memory.
HLDA’ – It is a low enable signal that shows that a HOLD request has been received.
Serial I/O Ports
The two signals in 8085 implement serial communication.
SID and SOD
SID is a serial input data line, whereas SOD is a serial output data line. Whenever RIM Instruction is executed, data from this pin is loaded to the 7th bit of the accumulator. While, when SIM instruction is executed, the data is stored at the 7th bit of the accumulator and transferred to output devices.