Skip to main content

8086 Common Mode Signals

8086 Pin Out Diagram

8086 Pin Out Diagram

The signals of 8086 microprocessor is classified into three. They are common mode signals, minimum mode signals, and maximum mode signals.

Common mode signals

The lower sixteen lines of the address are multiplexed with data and the upper four lines of the address are multiplexed with status signals. During the first clock period of a bus cycle the entire 20-bit address is available on these lines. During all other clock periods of a bus cycle, the data and status signals will be available on these lines.

Name Description/Function Type
AD15-AD0 Address/Data Bidirectional, Tristate
A19/S6-A16/S3 Address/Status Output/Tristate

BHE
/S7
Bus High Enable/Status Output/Tristate

MN/MX
Minimum/Maximum mode control Input

RD
Read Control Output, Tristate

TEST
Wait on test control Input
READY Wait state control Input
RESET System reset Input
NMI Non-maskable interrupt request Input
INTR Interrupt request Input
CLK System clock Input
VCC +5V Power supply input
GND Ground Power Supply ground
The status signals on S3 and S4 specify the segment register used for calculating Physical address. The output on the status lines S3 and S4 when the processor is accessing various segments listed in next table.

Status Signal During Memory Segment Access

The status lines S3 and S4 can be used to expand the memory up to 4 Mb. The status line S5 indicates the status of the 8086 interrupt enable flag. A low on the line S6 indicates that the 8086 is on the bus (i.e., it indicates that 8086 is the bus master) and during hold acknowledge, this pin is driven to high impedance state. The output signal BHE on the first T-state of a bus cycle is maintained as status signal SI during all other T-states of the bus cycles.

Status Signal Segment Register
S4 S3
0 0 Extra Segment
0 1 Stack Segment
1 0 Code or no segment
1 1 Data Segment
The 8086 outputs a low on the BHE pin during read, write and interrupt acknowledge cycles when the data is to be transferred to the high order data bus. The BHE can be used in conjunction with address bit A0(AD0) to select memory banks.

When the processor reads from the memory or an IO location it asserts RD as low. The TEST input is tested by the WAIT instruction. The 8086 will enter a wait state after execution of the WAIT instruction, and it will resume execution only when TEST is made low by an external hardware. This is used to synchronize an external activity to the processor's internal operation. TEST input is synchronized internally during each clock cycle on the leading edge of the clock signal.

INTR is the maskable interrupt and INTR must be held high until it is recognized to generate an interrupt signal. NMI is the non-maskable interrupt input activated by a leading edge signal.

RESET is the system reset input signal. For power-ON reset, it is held high for 50
microseconds. For reset while working, it is held high for at least four clock cycles. When the processor is reset, the DS, SS, ES, IP and flag register are cleared, Code Segment (CS) register is initialized to FFFFH and queue is emptied. After reset, the processor will start fetching instructions from the 20-bit physical address FFFF0H.

READY is an input signal to the processor, used by the memory or IO devices to get extra time for data transfer or to introduce wait states in the bus cycles. Normally READY is tied high. If the READY is tied low, the 8086 introduces wait states after second T-state of a bus cycle and it will complete the bus cycle only when READY is made high again.

CLK input is the clock signal that provides the basic timing for the 8086 and bus controller. The 8086 does not have an on-chip clock generation circuit. Hence the 8284 clock generator chip is used to generate the required clock. A quartz crystal whose frequency is thrice that of internal clock of an 8086 must be connected to the 8284. The 8284 generates the clock at crystal frequency. The 8284 divides the generated clock by three and modifies the duty cycle to 33% and output on CLK pin of 8284. This CLK output of 8284 must be connected to the 8086 CLK pin. The 8284 also provides the RESET and READY signals to the 8086.  The maximum mode and minimum mode signals and maximum mode and minimum mode operations will discuss on upcoming posts.

Related Topics

Minimum Mode Signals
Maximum Mode Signals

Comments

Popular posts from this blog

8051 Simple Programs

Sum of 8-bit Numbers Stored in Memory Here  we will discuss about 8051 programs but we can't discuss about all of the 8051 instructions. For programming 8051 we should know about assembler directives as well as instruction set. Click  here to download Atmel c51 user guide that will discuss about 8051(c51 family microcontroller) instruction set, assembler directives, c51 cross assembler from Atmel.  Program ORG 00H MOV R0,#50H   ; get memory location in memory pointer R0 MOV R1,#51H   ; get memory location on memory pointer register R1 MOV A,@R0       ; get content of memory location 50H to accumulator ADD A,@R1        ; add content of A with content of memory location 51H and store result in A MOV R0,#52H    ; get 52H to memory pointer R0 MOV@R0,A         ; copy content of A to memory location 52H END Add 16-bit Numbers Program ORG 00H MOV DPTR,#2040H   ; get 2040H into DPTR MOV A,#2BH              ; get lower byte of second 16-bit number on accumulator MO

Introduction to 8051 embedded C

For 8051 we need to include the file reg51.h. This file contains the all the definitions of 8051 registers. With this information C compiler produces hex file that can be downloaded into the ROM of the microcontroller. It is important to note that the size of the hex file produced by the assembly language is much larger than the hex file produced by C compiler. Apart from this fact, there is many reasons for writing programs in C instead of assembly: ●It is much easier and less time consuming to write programs in C assembly. ●C is more flexible; it is easier to modify and update. ●Programming in C allows to use code available in function libraries. ●Program written inC for one microcontroller is portable to other microcontrollers with little or no modifications. Data Types in 8051 Embedded C The table shown below lists the data types that are available in typical C51 compiler. The gives information about the size of the data variable and it's value range. Data type

8051 Keyboard Interfacing

Keyboards are organized in a matrix of rows and columns. The CPU accesses both rows and columns through ports. Therefore, with two 8-bit ports, an 8 x 8 matrix of keys can be connected to a microprocessor. When a key is pressed, a row and a column make a contact. Otherwise, there is no connection between rows and columns. In IBM PC keyboards, a single microcontroller takes care of hardware and software interfacing. A 4x4 matrix connected to two ports. The rows are connected to an output port and the columns are connected to an input port. Grounding Rows and reading Columns:- 8051 keyboard interfacing It is the function of the microcontroller to scan the keyboard continuously to detect and identify the key pressed. To detect a pressed key, the microcontroller grounds all rows by providing 0 to the output latch, then it reads the columns. If the data read from columns is D3 – D0 =1111, no key has been pressed and the process continues till key press is detected. If one of t