Introduction of Microprocessor:
The most important technological invention in modern times is the “Microprocessor”. This device consists of thousands of transistors on a chip, which was fabricated using silicon gate MOS technology.
What is Microprocessor?
- A microprocessor is a multiple-purpose programmable clock-driven, register-based electronic device that reads binary instructions from memory, accepts binary data as input, and processing this data according to the instructions written in the memory.
- The microprocessor is capable of performing computing functions and making decisions to change the sequence of program execution.
- The microprocessor s one component of the micro-computers and this is divided into three segments as shown in the block diagram of micro-computers.
Block Diagram of Microcomputers:
Flow Chart of Microprocessor:
The 8085 Microprocessor:
- It is an 8-bit microprocessor.
- It is a 40 pin IC.
- N-MOS technology used.
- Its data bus has 8-bits.
- Its address bus has 16-bits.
- It is capable of addressing 64K of memory.
- It requires a +5 V power supply.
- It has an operating frequency of 3 MHz.
Pin Diagram of 8085 Microprocessor:
Signals of 8085 Microprocessor:
According to the above Pin diagram of the 8085 microprocessor, all the signals can be classified into six groups.
1. Multiplexed Address/Data bus:
- Its length is 8-bit.
- It is the bidirectional bus.
- It is multiplexed with lower order address bus with lines (AD0 – AD7)
- To reducing the no of pins in the microprocessor data bus is “TDM” with the address bus.
2. Address bus:
- It is 16-bits in length.
- It is the unidirectional bus.
- It is divided into two parts namely,
- Lower-order address bus (A0 – A7) → is also called “Line Number“
- Higher-order address bus (A8 – A15) → is also called “Page Number“
3.Control and Status Signals:
- RD and WR are called control signals.
- IO/M’, S1, and S0 are called status signals.
- ALE is a special signal that indicates the beginning of the operation.
- RD:
- This is read control active low signal.
- It indicates that the selected I/O or memory is to be read.
- WR:
- This s write control active low signal.
- It indicates that the data on the data bus is to be written into a selected memory or I/O location.
- IO/M:
- It is used to differentiate between I/O and memory operations.
- When it is HIGH → an I/O operation is performed.
- When it is LOW → a memory operation is performed.
- S1 and S0:
- These are used to identify various operations, but they are rarely used in small systems.
- ALE (Address Latch Enable):
- It is a special signal which is used to demultiplex the address bud and data bus.
- It is a +ve going pulse generated every time the 8085 microprocessor begins an operation or machine cycle.
- RD:
4.Power supply and clock frequency:
- Vcc= +5V power support.
- Vss= Ground reference = 0V
- X1 and X2= A crystal s connected at these two pins.
- CLK(out): A system clock for other devices
5.Serial I/O Ports:
- It contains two signals to implement the serial transmission.
- SID ( Serial input data)
- SOD ( Serial Output data)
- It is used to provide a serial interface between the microprocessor and other devices like PAN drive etc.
6.Interrupts and externally initiated operations:
- The 8085 microprocessor has 5 interrupts signals that can be used to interrupt program execution.
- It is also used to accepts external interrupts to provide acknowledgment to the external device.
- Here TRAP, RST-7.5, RST-6.5, RST-5.5, INTR are called Hardware interrupts.
- INTR:
- It is abbreviated as an interrupt request.
- It is used as a general-purpose interrupt.
- It has the least or 5th priority.
- It is a non-vectored interrupt.
- The address is provided by the user or an external device.
- It is a level-triggered signal.
- INTA:
- It is abbreviated as interrupt acknowledge.
- It is an output signal.
- TRAP:
- It has the highest priority.
- It is the only non-maskable interrupt.
- It is a vectored interrupt.
- Also called RST-4.5.
- This is both edge and level triggered signal.
- Its vectored address = (0024)H
- RST-7.5:
- It has 2nd highest priority.
- It is a maskable interrupt.
- It is a vectored interrupt.
- It is edge-triggered only.
- Its vectored address = (003C)H
- RST-6.5:
- It has 3rd highest priority.
- It is a maskable interrupt.
- It is a vectored interrupt.
- It is level triggered only.
- Its vectored address = (0034)H
- RST-5.5:
- It has the 4th highest priority.
- It is a maskable interrupt.
- It is a vectored interrupt.
- It is level triggered only.
- Its vectored address = (002C)H
In addition to the above interrupts, 3 pins -RESET, HOLD, and READY, accept the externally initiated signals as input.
1.RESET:
- RESET IN:
- When the signal on this pin goes LOW, the program counter (PC) is set to zero, the buses are tri-stated, another MPU ( Micro Processing Unit) is reset.
- RESET OUT:
- In indicates that the MPU is being reset.
- This signal can be used to reset the other peripheral devices.
2.HOLD and HLDA:
- These signals are used for peripheral such as DMA ( Direct Memory Access) operations.
- To perform “DMA” operations external device requires address and data bus normally there are under the control of the microprocessor.
- For this reason, an external device will generate a “HOLD” signal to the microprocessor then after receiving the HOLD signal microprocessor firstly complete the current operation and then release the address data buses to external devices by using “HLDA” signal.
3.READY:
- It is used to interface with the slow peripheral devices to the microprocessor.
- In another way we can say, it is used to delay the microprocessor read or write cycles until a slow responding peripheral is ready to send or accept data.
- When the READY signal goes LOW, the microprocessor waits for an integral no. of clock cycles until it goes HIGH.
NOTE: In priority order, interrupts are as,
\boxed{TRAP > RST-7.5 > RST-6.5 > RST-5.5 > INTR}
Architecture of 8085 Microprocessor:
The architecture of the 8085 microprocessor is as shown in the figure below:
There are 6-types of parts are available in the 8085 microprocessor.
- ALU(Arithmetic Logic Unit)
- Timing and Control Units
- Instruction register and decoder
- Register Arrays
- Interrupt Control
- Serial I/O Control
Let’s discuss each part of the 8085 microprocessor one by one.
1.ALU: Arithmetic and Logic Unit
- In 8085 microprocessor, ALU performs arithmetical and logical operations.
- The arithmetic logic unit performs the computing functions; it includes the accumulator, the temporary register, the arithmetic and logic circuits, and five flags.
- The temporary register is used to hold data during arithmetic and logical operations. The result is stored in the accumulator, and five flags are set or reset according to the result of the operation.
- The flags are affected by the arithmetic and logic operations in the ALU.
There are Five flags that are included in the 8085 microprocessor as shown in the below table:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
S | Z | X | AC | X | P | X | CY |
- Sign Flag(S): After execution of an arithmetic or logic operation, f bt D7 of the result is 1, the sign flag is set. This flag is used with signed numbers. In a given byte, if D7 is 1, the number will be viewed as a negative number. In arithmetic operations with signed numbers, bit D7 is reserved for indicating the sign, and the remaining bits are used to represent the magnitude of a number.
- Zero Flag(Z): The zero flag is set if the ALU operation results in 0, and the flag is reset if the result is not 0. This flag is modified by the results n the accumulator as well as in the other registers.
- Auxiliary Carry Flag(AC): In an arithmetic operation, when a carry is generated by digit D3 and passed on to digit D4, the AC flag is set. The flag is used only internally for BCD operation and n not available for programmers to change the sequence of a program with a jump instruction.
- Parity Flag(P): After arithmetic and logical operations, if the result has an even number of 1’s, the flag is set. If it has an odd number of 1’s, the flag is reset.
- Carry Flag(CY): If an arithmetic operation results in a carry, the carry flag is set; otherwise, it is reset. The carry flag also serves as a borrow flag for subtraction.
2.Timing and Control Unit:
- The control unit is the nerve center of any microprocessor.
- It synchronizes all the microprocessor operations with the CLK and generates the control signals necessary for communication between the microprocessor and peripherals.
- In this unit, X1 and X2 pins are used to connect external crystals or LC-CKT to generate internal CLK.
- mathematically we have,
f_{CLK}=\frac{f_{crystal}}{2}
and T=\frac{1}{f_{CLK}}= T-state
3.Instruction Register (IR) and Decoder:
- The instruction register and the decoder are part of the ALU.
- When an instruction is fetched from memory, it is loaded in the instruction register.
- The decoder decodes the instruction and establishes events to follow.
- The instruction register is not programmable and cannot access through any instruction.
- IR will hold opcodes of present instructions to be executed.
4.Register Arrays:
There are various types of register arrays are included in the 8085 microprocessor:
- General Purpose Register (GPR)
- Special Purpose registers (SPR)
Possible register pairs are:
- B-C (16 bits)
- D-E (16 bits)
- H-L (16 bits)
⇒Accumulator (A):
- It is an 8-bit special-purpose register and user-accessible.
- It acts as one source of the operand to the ALU and destination to the result.
- During I/O data transfer, data is transferred between accumulator (A) and I/O device.
⇒Status Register (SR):
- It is also called “FLAG REGISTERS“.
- It is used to store the status of the ALU results.
- FLAGS are used for testing data conditions.
- PSW (Programme Status Word) = Accumulator + Flag register. Also, PSW is a 16-bit register.
⇒Program Counter (PC):
- It is a 16-bit special-purpose register that is user-accessible.
- It is required to keep track of the address of the next instruction to be fetched from the memory for execution.
- In other words, we can say, PC provides the address of the next instruction to memory which has to be executed.
- When a byte s fetched then the PC is automatically incremented by 1, to point to the next memory location.
- When the microprocessor is reset, the PC sets to zero.
⇒Stake Pointer (SP):
- It is a 16-bit special-purpose register, used as a memory pointer.
- SP provides the address of stake top or top address of stake.
- A memory location in R/W memory is called STACK. It is a part of RAM, which is used during subroutines, PUSH, and POP operations.
- It operates a last in first out (LIFO).
Application of 8085 Microprocessor:
- In a typical process control application, the microprocessor continuously monitors one or more process variables, performs suitable computations on these to generate control variable values, and outputs these to the electro-mechanical elements which in turn control the process variable.
- This kind of control is known as closed-loop control. If the microprocessor outputs the control variables to the human operator via display or line printers.
- Microprocessor-based temperature monitoring system based upon open-loop control system.
Also read: