CHAPTER 3

SOSSA SYSTEM OPERATION AND INTERFACING

3.1INTERFACING TO THE 8085A

The 8085A interfaces to both memory and 1/0 devices by means of READ and WRITE machine cycles, the timing of which are identical. During each machine cycle the 8085A issues an address and a control signal, then either sends data out on the bus or reads data from the bus. The 8085A may be performing a READ machine cycle, but what it reads could be a ROM, RAM, I/O device, periph· eral device, or nothing.

There is no distinction between data, instruction opcodes, and 1/0 port numbers except the way the CPU interprets what it reads from the bus. If an op- code is what would logically appear on the bus, the CPU will treat as an opcode whatever does appear there; if an 110 port number is to be expected, what appears will be interpreted as a port number. The same is true for a WRITE cycle. The 8085A issues an address, data, and a control signal. Unless it is requested to WAIT (by use of the READY line) it will complete the cycle and proceed to the next. Regard- less of whether there is a device present to accept the data, the CPU executes one instruction at a time, in sequence, until told to do otherwise. The program controls the sequence and nature of all machine cycles until an interrupt occurs.

There are two ways of addressing 1/0 devices in the MCS85 system. If the 101M output from the CPU is used to distinguish between 1/0 and memory READ and WRITE cycles, then that system is said to employ standard, or I/O-mapped, 1/0. If 101M is not so used, the CPU does not distinguish between 1/0 and memory, and its system employs memory- mapped 1/0. Each method of addressing 1/0 has ad- vantages and disadvantages.

3.2MEMORY·MAPPED110

3.2.1Advantages of Memory·Mapped110

Since the processor doesn'tdistinguish 110 from memory using this addressing scheme, you can take advantage of the larger instruction set that references the memory address space. Instead of only being able to transfer a byte of data between the accumulator and the 1/0 port (using INPUT and OUTPUT instructions), you can now program

arithmetic and logic operations on port data as well as move data between any internal register and the 1/0 port. Consider the new meaning of the following instructions:

Examples:

 

MOVr,M

(Input Port to any Register)

MOV M,r

(Output any Register to Port)

MVIM

(Output immediate data to Port)

LOA

(Input Port to ACC)

STA

(Output from ACC to Port)

LHLD

(16-Bit Input)

SHLD

(16-Bit Output)

ADDM

(Add Port to ACC)

ANAM

(AN 0 Port with ACC)

3.2.2Disadvantages of Memory·Mapped110

While memory instructions may increase the flex- ibility of the 1/0 system, there are some drawbacks. Since 1/0 devices are now addressed as memory, there are fewer addresses available for memory. A common practice is to use address bit 15 (A15) to distinguish memory from 1/0. (See Figure 3-2 and accompanying discussion.) If A15 = 0 then memory is being addressed; if A15 = 1, 1/0 is being ad- dressed. This particular scheme limits the max- imum amount of memory that can be used to 32k bytes. A further disadvantage of memory-mapped I/O is that it takes 3 bytes of instruction and 13 clock cycles using the LOA or STA instructions to specify moving a byte of data between the ac- cumulator and an 1/0 device, whereas the INPUT and OUTPUT instructions require only two bytes and 10 clock cycles. This is because the I/O ad- dress space is smaller (only 256 bytes) and there- fore requires fewer bits to completely specify an address. A futher advantage of using the IN- PUT and OUTPUT Instructions is that it allows the easy connection of the MCS-80 peripherals to the MCS-85 multiplexed bus. If you memory- map the MCS-80 peripherals to the MCS-85 bus, you must either latch the lower address bits with an 8212 or use a portion of the memory ad- dress space by connecting the chip selects and address lines of the ports to the unmultiplexed upper eight lines of the address bus.

3-1

Page 50
Image 50
Intel MCS-80/85 manual Mvim, Loa, Sta, Lhld, Shld, Addm, Anam

MCS-80/85 specifications

The Intel MCS-80/85 family, introduced in the late 1970s, is a seminal collection of microprocessors that played a pivotal role in the early days of computing. The MCS-80 series, initially targeting embedded systems and control applications, gained remarkable attention due to its innovative architecture and flexible programming capabilities.

The MCS-80 family is anchored by the 8080 microprocessor, which was one of the first fully integrated 8-bit microprocessors. Released in 1974, the 8080 operated at clock speeds ranging from 2 MHz to 3 MHz and featured a 16-bit address bus capable of addressing up to 64KB of memory. The processor’s instruction set included around 78 instructions, providing extensive capabilities for data manipulation, logic operations, and branching.

Complementing the 8080 was a suite of support chips, forming the MCS-80 platform. The most notable among them was the 8155, which integrated a static RAM, I/O ports, and a timer, tailored for ease of designing systems around the 8080. Other support chips included the 8085, which provided improvements with an integrated clock generator, making it compatible with more modern designs and applications.

The MCS-85 series, on the other hand, revolves around the 8085 microprocessor, which provided a more advanced architecture. The 8085 operated at clock speeds of up to 6 MHz and came with a 16-bit address bus, similar to its predecessor. However, it introduced more sophisticated features, including an enhanced instruction set and support for interrupt-driven programming. These enhancements made the 8085 especially appealing to developers working in real-time processing environments.

The MCS-80/85 family utilized NMOS technology, known for its lower power consumption and higher performance compared to previous technologies like TTL. The family’s architecture allowed for easy interfacing with a variety of peripherals, making it a favorite for educational institutions and hobbyists embarking on computer engineering projects.

With its robustness, versatility, and affordability, the Intel MCS-80/85 microprocessors laid the groundwork for many subsequent microcomputer systems and applications. The legacy of this powerful family continues to influence modern microprocessor design, emphasizing the importance of reliable architecture in a rapidly evolving technology landscape.