As AD7-AD0 lines serve a dual purpose they have to be demultiplexed to get all the information. The address's high order bits remain on the bus for 3 clock periods. ... An external latch is used to save the value of AD7-AD0 when it is carrying the address bits so that the entire address remains for the 3 clock cycles.
Demultiplexing the bus AD7-AD0 The Intel 8085 is an 8-bit microprocessor. Its data bus is 8-bit wide and hence, 8bits of data can be transmitted in parallel form or to the microprocessor. The Intel8085 requires a 16-bit wide address bus as the memory addresses are of 16 bits. The 8 most significant bits of the address are transmitted by the address bus(A8-A15). The 8 least significant bits of the address are transmitted byaddress/data bus (AD7-AD0). The address/data bus transmits data and addressinformation at different times. This is the basic need for demultiplexing the busAD7-AD0.
The AD0-AD7 lines in an 8085 are multiplexed to reduce the pin count of the IC. Several added features were added to the 8085 from the 8080 design, and Intel did not want to require a larger package.
The 8085 microprocessor is used IC 74LS373 to latch the address of 8085. Basically latch is consists of 8 flip flops. Generally we used D-flip flops (Delay).The clock of these flip flops are connected together and available as a output pin called enable.Working : The address will appear on AD0 AD7 lines. The ALE will go high and forcingEnable = 1. This will make latch enable and ready to work. Before address disappears ALE = 0. This will make latch disable. AD0 - AD7 will now be used as data bus.Hence, AD0 - AD7 (low order) address bus of the 8085 microprocessor is multiplexed (time-shared) with the data bus. The buses need to be demultiplexed.
Basically , Demultiplexing is breaking of multiplexed signal .Recall that A/D0 -A/D15 and A16/S3-A19/S6 are the multiplexed signals in 8086.To do so, three demultiplexing latches are used .ALE (Address Enable Latch) is used for strobe Demultiplexing.8086 is 16bit data lines and 20 bit address line microprocessor.BY the Demultiplexing ,we Get A0-A19 separate Address lines and D0-D15 Data lines . Ajmal Shahbaz
There are eight datalines, D0 through D7, in the 8085 microprocessor. They are shared, or multiplexed with the eight low order address lines, A0 through A7, and are called AD0 through AD7 on the pinout drawing.
If this is a homework assignment, you really should consider doing it yourself The MVI instruction in the 8085 microprocessor contains 7 or 10 T-Cycles, each one clock cycle, not including wait states. Each cycle starts on the falling edge of CLK. <> <> <> T1a - ALE goes high for one half clock. During this time, S0, S1, IO/M-, A15-A8, and AD7-AD0 become valid, and are guaranteed valid at the falling edge of ALE. (AD7-AD0 represent A7-A0, and must be strobed by external hardware.) A15-A0 will be the address of the MVI instruction. Somewhat after ALE, AD7-AD0 will float. T2a - RD- goes low for one clock cycle. While RD- is low, the external hardware has permission to drive AD7-AD0. It must supply the opcode for MVI. READY is sampled at the beginning of T2 - If it is low, T2 will be repeated, until READY is sampled high. T3a - RD- remains low for one more half clock cycle. The external hardware must guarantee AD7-AD0 valid by the beginning of T3a. The 8085 samples AD7-AD0 at the beginning of T3a. This will give it the MVI opcode. T4a - Nothing happens externally. All lines persist their prior state. The 8085 processes the MVI opcode and sets itself up for the required actions. <> <> <> T1b - This is the same timing as T1a, except that the address is one greater. T2b - This is the same timing as T2a. During this time, the external hardware must drive the immediate value of the MVI instruction onto AD7-AD0. T3b - This is the same timing as T3a. At the conclusion of T3b the 8085 knows the value to store in the destination. If the destination was an internal register, the instruction is complete. If the destination was M, the cycles continue. <> <> <> T1c - This is the same timing as T1a, except that the address is the contents of the HL register, H sent on A15-A8, and L sent on AD7-AD0. T2c - This is the same timing as T1a, except that WR- is used instead of RD-, and the AD7-AD0 lines do not float - they emit the immediate value retrieved in T3b. The AD7-AD0 line will change sometime between ALE and WR-. T3c - This is the same timing as T3a, except that WR- goes high at the beginning instead of at the halfway point. The external hardware is expected to save the AD7-AD0 lines into the address specified during T1c on the rising edge of WR-. The 8085 will persist the AD7-AD0 lines for one half clock cycle to guarantee the AD7-AD0 lines.
An instruction fetch in the 8085 is similar to an operand fetch... During T1, ALE pulses high for one half cycle. On the falling edge, external logic is expected to strobe the AD0-AD7 lines to form the A0-A7 lines. A8-A15, IO/M-, S0, and S1 are also presented, but they stay valid after ALE. S0 is high for opcode fetch, and low for operand fetch. RD- goes true (low) at the end of T1. If READY is false at the end of T1, TWAIT is entered, and all lines are persisted, with TWAIT repeated as necessary until READY is true. At the end of T2, the CPU strobes the data presented on AD0-AD7 by external logic. At the midpoint of T3, RD- goes false (high) and the external logic must stop driving AD0-AD7. T4 is used to decode and process the opcode. External logic does nothing, since there is no ALE. If the opcode requires extra data, such as immediate data or an address, T1, TWAIT, T2, and T3 are repeated to fetch the additional bytes, although S0 is low during these cycles.
Address decoding in the Intel 8085 microprocessor is done by latching the 8 bits of the AD0-AD7 bus during the ALE pulse, holding on the falling edge of ALE. After ALE, the latched results become A0-A7, and the AD0-AD7 bus becomes D0-D7.
In an 8085, the ALE pin pulses high for about one half clock cycle at the beginning of each machine cycle, approximately near the falling edge of CLK. At the falling edge of ALE, external hardware is expected to strobe the values of AD0-AD7 and hold them as the low order address values A0-A7. Other lines, such as IO/M-, S0, S1, and A8-A15 are also guaranteed valid at the falling edge of ALE, but they do not need to be strobed as they are not multiplexed. (All these lines do change during ALE, at about the 1/3 point depending on clock frequency, so they are considered invalid until the falling edge of ALE.) Following ALE, the AD0-AD7 bus lines become the data bus, D0-D7. This multiplexed scheme saves 8 pins on the chip design. In an 8085, the TRAP pin is a non maskable interrupt with highest priority. It must go high and stay high to be recognized, and it will not be recognized again until it goes low and then high. (Edge and level triggered.)The recognition point is on the falling edge of CLK, one clock cycle before the ALE that follows the last machine cycle of the instruction. When recognized, an internal RST instruction ocurrs, with a vector address of 0024H.
A machine cycle is three or more T cycles used to perform a memory / IO read or write, or an interrupt acknowedgeDraw a square clock oscillator waveform of at least 3 cycles, more if you want to show READY timing.Each T cycle starts at the falling edge of clock, with the first T cycle starting with ALE.Draw an ALE pulse, one half clock cycle, inverted and slightly delayed from clock.Approximately 1/3 into ALE, draw the IO/M-, S0, S1, and A8-A15 lines becoming valid. They stay valid for the duration of the cycle.Approximately 1/3 into ALE, draw the AD0-AD7 lines becoming valid as A0-A7. Note that external logic must strobe these lines on the falling edge of ALE. The AD0-AD7 lines remain valid for about 1 clock cycle.On the second T cycle, draw the RD-, WR-, or INTA- lines becoming valid. The determination is known in advance if one looks at IO/M-, S0, and S1. They are valid for 1.5 clock cycles, except see READY logic below.Show the READY line being sampled in the rising edge of clock after ALE falls. If READY is false at that point, T2 will be repeated until READY is sampled true.As noted AD0-AD7 float 1/2 clock cycle after ALE. 1/2 clock cycle later, they become D0-D7, and drive for WR- or stay floating for RD- or INTA-.External logic is expected to strobe D0-D7 data at the rising edge of WR-. D0-D7 will remain valid for 1/2 clock beyond WR-.External logic is expected to drive D0-D7 during RD- or INTA-. The processor will strobe D0-D7 1/2 clock cycle before the rising edge of RD- or INTA-.Note: Address to read data valid timing is 2 clock cycles, and address to write data valid timing is 2.5 clock cycles. The difference is due to who controls the AD0-AD7 bus, and when it gets strobed.1/2 clock cycle after RD-, WR-, or INTA-, at the rising edge of clock, the machine cycle ends. Depending on whether or not internal processing must be done, ALE may or may not be emitted, starting another machine cycle.HOLD is sampled on the falling edge of clock in the third T cycle. If recognized, HLDA is asserted 1/2 clock cycle later, 1/2 clock cycle later, the whole control bus floats so another bus master can take over.
ALE is a signal that means that the data bus contains the lower order address bus values. External hardware should strobe the data bus during ALE time, and lock it on the falling edge of ALE.