Monday, 10 March 2014

Microprocessor 8085 : Pin Description


8085 Microprocessor:

It is a 40-pin DIP (Dual in package) chip, base on NMOS technology, on a single chip of silicon. It requires a single +5v supply between Vcc at pin no 40 and GND at pin no 20. It can address directly 216 memory locations  or 6536 memory locations or 64k memory locations using 16 address line (A15-A0).

  1. X1 and X2: These are the terminals connected to an external crystal or RC oscillator. These pins are used to drive internal clock generator which produces suitable clock for the operation of microprocessor. 
  2. Reset Out: It is active high signal. It indicates that the CPU is being reset. This signal is used by the microprocessor or CPU to reset the other device connected to it.
  3. Reset In: It is an active low input signal it sets program counter to 00000H, resets interrupt enable and HLDA (Hold Acknowledgement). 
  4. SID: It is an active high signal and it is used to send data to the microprocessor serially. 
  5. SOD: It is an active high signal and it is used to send data from microprocessor to any other O/P device. 
  6. TRAP, RST7.5, RST 6.5, RST 5.5: These are the interrupts when an interrupt comes microprocessor executes the next instruction from a fixed location in the memory. 
  7. INTR: It is called interrupt request. It is of the lowest priority. The INTR is enabled or disabled. It gets disabled by reset or immediately after an interrupt is accepted. 
  8. INTA: This is active low signal and it is known as interrupt acknowledge. When an interrupt request is accepted then the microprocessor sends interrupt acknowledge INTA. 
  9. AD0 – AD7: Multiplexed Address /Data Bus: These signals are Bi-directional. These are time multiplexed address and data bus. During 1st clock cycle, it acts as a least significant 8 bits of memory address. For 2nd and 3rd clock cycle, it acts as a data bus. 
  10. A8 to A15: These are unidirectional signals which carry the most significant bit i.e. 8 bits of the memory address. 
  11. ALE (Address Latch Enable): This is an O/P signal used to de-multiplex the address/data bus. In other words ALE is used to separate AD0 —AD7. When it is high it indicates that the contents on AD0 – AD7  are addresses and when it is low it indicates that the contents on AD0 – AD7 are data. 
  12. S1 and S0: These are two output status signals generated by microprocessor. These indicate type of operation performed by microprocessor. These operations of 8085 are as follows: 
     
  13. IO/M (Input Output / Memory): It is an O/P control signal. This signal tells whether the operation is related to memory or to I/O device. In other words IO/M separated memory and I/O devices. If the signal on this pin is low then microprocessor is performing memory related operation and if signal on this pin is high then microprocessor will perform I/O perform I/O related operation. When IO/M is combined with S1 and S0 they jointly indicate status of all the machine cycles of 8085 as shown in table:
  14. Read (RD): It is an active low output control signal. When the signal on this pin is low it indicates that CPU read the data from selected memory or I/O location.
  15. Write (WR): It is an active low O/P control signal. When the signal on this pin is slow it indicates that the CPU will write data in the selected memory or I/O location.
  16. Ready: It is an active high input control signal with the help of this pin microprocessor checks he readiness of I/O device for data transfer. i.e. whether the I/O signal is ready to receive or send data. If the signal on this pin is high, CPU will perform data transfer but if the signal on this pin is low then it will wait till the signal goes high. 
  17. Hold and HLDA: Hold is an active high input signal and HLDA is an active high output signal. Signal at hold pin indicates that another device is requesting for the use of address, data and control to other device. HLDA is hold acknowledgement. It indicates microprocessor has received the hold request and will transfer the control of address, data and control bus in the next clock cycle. 
  18. Vcc: It is used to provide +5v power supply. 
  19. GND or Vss: This pin always connected to ground. I.e. –ve charge. 

Signal Groups of 8085: 

 




8085 Block Diagram:

 

 

Control Unit: Generates signals within microprocessor to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the microprocessor to be opened or closed, so that data goes where it is required, and so that ALU operations occur.

Arithmetic Logic Unit: The ALU performs the actual numerical and logic operation such as ‘add’, ‘subtract’, ‘AND’, ‘OR’, etc. Uses data from memory and from Accumulator to perform arithmetic. Always stores result of operation in Accumulator.
 

Registers: The 8085/8080A-programming model includes six registers, one accumulator, and one flag register, as shown in Figure. In addition, it has two 16-bit registers: the stack pointer and the program counter. They are described briefly as follows:

The 8085/8080A has six general-purpose registers to store 8-bit data; these are identified as B,C,D,E,H, and L as shown in the figure. They can be combined as register pairs -  BC, DE, and HL – to perform some 16-bit operations. The programmer can use these registers to store or copy data into the registers by using data copy instructions.

 


Accumulator: The accumulator is an 8-bit register that is a part of arithmetic/logic unit (ALU). This register is used to store 8-bit data and to perform arithmetic and logical operations.
The result of an operation is stored in the accumulator. The accumulator is also identified as register A.

Flags: The ALU includes five flip-flops, which are set or reset after an operation according to data conditions of the result in the accumulator and other registers. They are called Zero(Z), Carry (CY), Sign (S), Parity (P), and Auxiliary Carry (AC) flags; they are listed in the Table and their bit positions in the flag register are shown in the Figure below. The most commonly used flags are Zero, Carry, and Sign. The microprocessor uses these flags to test data conditions.

 
These flags have critical importance in the decision-making process of the micro- processor. The conditions (set or reset) of the flags are tested through the software instructions. For example, the instruction JC (Jump on Carry) is implemented to change the sequence of a program when CY flag is set. The thorough understanding of flag is essential in writing assembly language programs.


Program Counter (PC): This 16-bit register deals with sequencing the execution of instructions. This register is a memory pointer. Memory locations have 16-bit addresses, and that is why this is a 16-bit register.
The microprocessor uses this register to sequence the execution of the instructions.
The function of the program counter is to point to the memory address from which the next byte is to be fetched. When a byte (machine code) is being fetched, the program counter is incremented by one to point to the next memory location.

Stack Pointer (SP): The stack pointer is also a 16-bit register used as a memory pointer. It points to a memory location in R/W memory, called the stack. The beginning of the stack is defined by loading 16-bit address in the stack pointer. 

Instruction Register/Decoder: Temporary store for the current instruction of a program. Latest instruction sent here from memory prior to execution. Decoder then takes instruction and ‘decodes’ or interprets the instruction. Decoded instruction then passed to next stage.

Memory Address Register: Holds address, received from PC, of next program instruction. Feeds the address bus with addresses of location of the program under execution.

Control Generator: Generates signals within microprocessor to carry out the instruction which has been decoded. In reality causes certain connections between blocks of the uP to be opened or closed, so that data goes where it is required, and so that ALU operations occur.

 

No comments:

Post a Comment