Microprocessor 8085  

Posted by ROCKING GUY in

Microprocessor 8085

Q 1. What are Registers, discuss their types.
Ans. Registers are used in Microprocessor to store the temporary data. These are very small in capacity (8-bits or 16-bits). All data that is to be processed by the Microprocessor is first bought in the CPU registers from memory and then data in registers is processed by the Microprocessor. The size and number of registers depends on the microprocessor. 8085 microprocessor has 7 general purpose 8-bit registers which are available to the programmer (named A,B,C,D,E,H,L). Two 8-bit registers can be paired up to be used as 16-bit register. B-C pair, D-E pair, H-L pair can be used as 16-bit registers.
Registers are categorised into two types:
(i) General Purpose Registes (accessible)
(ii) Special Purpose Registers (non-accessible)
General purpose registers : are used to store data as well as address during program execution .These registers are available to the programmer and programmer can directly use them to store data/address. Actually the use of general purpose registers speed up the execution of program since microprocessor does not have to read data from external memory, because the data is stored in one of its general purpose registers. In 8085 B,C,D,E,H,L are 6 8-bit general purpose registers. To store 16 bit data, address; register pairs can be used.
Special purpose registers : these are dedicated registers i.e. are used to store some specific information. These registers cannot be used by the programmer directly. These are specific purpose registers, some examples of these registers are PC (Program Counter ), SP (Stack Pointer), Flag Register, IR (Instruction Register) etc.
ACCUMULATOR: it is a 8 bit register. most of the operation are performed through accumulator .it is used as a one of the data, and as destination of result for most of the A.L.U operations. the accumulator is used for loading/inputting a data from an external device memory. and used to store data from external device or memory.
INSTRUCTION REGISTER: This register stores the copy instruction currently being executed by the Microprocessor. An instruction fetched from memory is temporary stored in instruction before decoding. so after fetching instruction from memory, microprocessors store it in the instruction register and after this, it is decoded. This register is not accessible to user.
PROGRAM COUNTER: it is a 16 bit register used to store the address of next instruction to be executed or we can say that PC points to the next location. The execution of the program is initiated by loading the address of first instruction in PC.
STACK POINTER REGISTER: it is also a 16 bit register. it is used to hold the address stack top, i.e. address of the last data byte written into the stack. The stack pointer is auto decremented by 2 after PUSH operation and auto incremented by 2 after POP operation.
STATUS FLAGS: although it is 8 bit register but only 5 bits are used. it is used to store the status of microprocessor resulting from any arithmetic or logical operation and are not directly accessible to user.
Flag Register :
CF : The CARRY FLAG is used to reflect condition, whether the carry is generated from MSB bit of result.
PF : The PARITY FLAG is used to reflect condition, weather result contains even or odd parity.
ZF : The ZERO FLAG is used to show the result is zero.
SF : The SIGN FLAG indicates that result of last arithmetic operation is positive or negative.
AC : AUXILIARY CARRY FLAG gives the carry generated bit from 4th to 5th bit. It is used in the operations on BCD numbers only.

Q 2. What is BUS? How it is organized in 8085? (OR)
What is System Bus.
Ans. Bus consists of number of lines on which data can flow. One bit of data can travel on one line. The capacity of data that can be travelled through bus depends on the number of data lines available on bus. System bus consist of three internal buses Data Bus, Address Bus and Control Bus.
Data Bus : it is used to transfer the data between IO devices/Memory and Microprocessor. Data flows in both directions (bidirectional). Therefore this bus can be used to read as well as write data from microprocessor register to memory. 8085 use 8-bit data bus. i.e. 8-bit of data can be transferred from CPU to main memory or main memory to CPU in one step. This is also called the Word-length of microprocessor.
Address Bus : This bus contains the address or memory location or I/O device from where the data is to be read to is to be written. 8085-microprocessor use 16-bit address bus. This is unidirectional bus and data can flow only out of CPU.
Control Bus : it is used to control the Data flow from CPU to memory or memory to CPU. Control bus consist of number of individual signals (RD,WR,ALE) which are used to control the various operations. Actually control bus may indicate that what is to be done with address and data bus lines.




ARITHMATIC and LOGICAL UNIT: as the name indicates it performs all the arithmetic and logical operations. Arithmetic operation like addition, subtraction, division etc. and logical like ANDing, ORing, EX-ORing, etc are performed by this unit. both accumulator and temporary registers are of 8 bit on which the operation is to be performed that why ALU of 8085 MP is also 8-bit. Therefore 8-bit data can be processed by this unit in single step. Therefore 8085 MP is called 8-bit microprocessor.
TIMING AND CONTROL UNIT: It’s like the brain of MP. It generates all the timing and control signals for the whole operation of Microprocessor and I/O device.
SERIAL I/O CONTROLLER: 8085 MP can receive or transmit serially one bit data. This serial I/O of data is controlled by serial I/O control unit with the help of SID and SOD signals.


Q 3. Block Diagram of 8085 MP
Ans Combine Q1 and Q2

Q4. Pin Diagram of 8085 Microprocessor.
Ans. 8085 is a 40-pin microprocessor. It works on +5V single power supply. Various pins of 8085 MP are discussed below :
RESET OUT : Reset Out is an active high output signal. It indicates that the CPU is being RESET and is used to RESET other devices connected to it.
SID (Serial Input Data) : SID is active high. It is used to accept serial 1-bit data.
SOD (Serial Output Data) : SOD is active high. Through this pin 1-bit data is serially transferred.
TRAP,RST 7.5, RST 6.5, RST 5.5 : these are interrupts, when the interrupt comes. The MP executes the next instruction from a fixed location in the memory. Each interrupt is associated with a priority level.
High priority : TRAP (non-maskable)a
RST 7.5
RST 6.5
Low priority : RST 5.5
INTR: it is called interrupt request. it is of low priority and enabled or disabled by software.
INTA: when an interrupt request is accepted, the MP sends interrupt acknowledgement INTA.
AD0 – AD7 multiplexed ADDRESS/DATA BUS: These 8 bit-signals are bidirectional and can act as low order byte of ADDRESS bus as well as 8-bit data bus. The data from and to memory or I/O device flow through this 8-bit data bus.
A8 – AD15 ADDRESS BUS: these 8-bit serve as high order byte of 16-bit Address lines.
ALE (ADDRESS LATCH ENABLED): this signal is an output signal used to demultiplex the AD0 – AD7 signals as Address or Data bus. When ALE signal is high it indicates that AD0 – AD7 is acting as unidirectional address bus and when ALE is low it indicates that that AD0 – AD7 is acting as bidirectional data bus.
S0 – S1: these are status signals. These indicates regarding the type of operation performed by the microprocessor

IO/M S1 S0 OPERATION
Z 0 0 HALT
0 0 1 MEM WRITE
0 1 0 MEM READ
1 0 1 I/O WRITE
1 1 0 I/O READ
0 1 1 OP-CODE FETCH
1 1 1 INTERRUPT ACKNOWLEGE

IO/M: this signal indicates that whether the operation is related to memory or I/O Device.
RD (READ) : RD is active low output signal. When this signal is low, it indicates that the CPU will read the data from selected memory or I/O device.
WR (READ) : WR is active low output signal. When this signal is low, it indicates that the CPU will write the data to selected memory or I/O device.
READY: Ready is an active high input signal. With the help iof this signal the MP check the readiness of peripheral device for data transfer.
HOLD and HOLDA: these are active high signals and are used to implement DMA Data transfer techniques.
Signal HOLD indicates that the other device is requesting for the use of system bus (Address, data and control bus). After the reception of HOLD signal the MP completes the current instruction and then transfer bus control to the requesting device. HLDA (HOLD ACKNOWLEDGE) is the signal generated by the MP to indicate that the microprocessor is transferring the control of data bus to other device.

This entry was posted on Saturday, December 20, 2008 at 6:49 AM and is filed under . You can follow any responses to this entry through the comments feed .

0 comments

Post a Comment