Intel MCS-48

From Wikipedia, the free encyclopedia
Intel 8048 microcontroller
The 8749 with UV EPROM
An Intel 8049 microcontroller, as used in a HP3478A multimeter. This chip was manufactured in the second week of 1984.
Intel 8749 die
Intel 8048 registers
09 08 07 06 05 04 03 02 01 00 (bit position)
Main registers
  A Accumulator
PC Program Counter
Program Status Word
  CY AC FO BS 1 Stack
Note: All other programmer-visible registers and stack are allocated in RAM.

The MCS-48 microcontroller series, Intel's first microcontroller, was originally released in 1976. Its first members were 8048, 8035 and 8748. The 8048[1] is probably the most prominent member of the family. Initially, this family was produced using NMOS (n-type metal–oxide–semiconductor) technology. In the early 1980s, it became available in CMOS technology. It was manufactured into the 1990s to support older designs that still used it.

The MCS-48 series has a modified Harvard architecture, with internal or external program ROM and 64–256 bytes of internal (on-chip) RAM. The I/O is mapped into its own address space, separate from programs and data.

Though the MCS-48 series was eventually replaced by the very successful MCS-51 series, it remained quite popular even by the year 2000 due to its low cost, wide availability, memory-efficient one-byte instruction set, and mature development tools. Because of this, it is used in high-volume, cost-sensitive consumer electronics devices such as TV remotes, computer keyboards, and toys.


The 8049 has 2 KB of masked ROM (the 8748 and 8749 had EPROM) that can be replaced with a 4 KB external ROM, as well as 128 bytes of RAM and 27 I/O ports.[2] The microcontroller's oscillator block divides by three and then further divides the result into five machine states. With its 11 MHz maximum crystal, one gets 0.73 MIPS (of single-clock instructions). Some 70% of instructions are single byte/cycle ones, but 30% need two cycles and/or two bytes, so the raw performance would be closer to 0.5 MIPS.

Microcontroller[citation needed]
Device Internal Memory Remarks
8020 1K × 8 ROM 64 × 8 RAM subset of 8048, 20 pins, only 13 I/O lines
8021 1K × 8 ROM 64 × 8 RAM subset of 8048, 28 pins, 21 I/O lines
8022 2K × 8 ROM 64 × 8 RAM subset of 8048, A/D-converter
8035 none 64 × 8 RAM
8038 none 64 × 8 RAM
8039 none 128 × 8 RAM
8040 none 256 × 8 RAM
8048 1K × 8 ROM 64 × 8 RAM 27× I/O ports
8049 2K × 8 ROM 128 × 8 RAM 27× I/O ports
8050 4K x 8 ROM 256 × 8 RAM
8648 1K × 8 OTP EPROM 64 × 8 RAM Factory OTP EPROM
8748 1K × 8 EPROM 64 × 8 RAM 2× 8-bit timers, 27× I/O ports
8749 2K × 8 EPROM 128 × 8 RAM 2× 8-bit timers, 27× I/O ports
87P50 ext. ROM socket 256 × 8 RAM Has piggy-back socket for 2758/2716/2732 EPROM
Intel P8242 - keyboard controller with Phoenix firmware for AT-compatible computers
Universal Peripheral Interface
Device Internal Memory Remarks
8041 1K × 8 ROM 64 × 8 RAM Universal Peripheral Interface (UPI)
8041AH 1K × 8 ROM 128 × 8 RAM UPI
8741A 1K × 8 EPROM 64 × 8 RAM UPI, EPROM version of 8041
8741AH 1K × 8 OTP EPROM 128 × 8 RAM UPI, OTP EPROM version of 8041AH
8042AH 2K × 8 ROM 256 × 8 RAM UPI
8242 2K × 8 ROM 256 × 8 RAM UPI, preprogrammed with keyboard controller firmware[3]
8742 2K × 8 EPROM 128 × 8 RAM UPI, EPROM version
8742AH 2K × 8 OTP EPROM 256 × 8 RAM UPI, OTP EPROM version of 8042AH


The MCS-48 series was commonly used in computer and terminal keyboards, converting key presses into protocols that can be understood by digital circuits. This also allows the possibility of serial communication, reducing the amount of conductors needed in cables on external keyboards. Microprocessors had been used in keyboards since at least 1972, simplifying earlier discrete designs. The 8048 has been used in this application since its introduction in 1978.[citation needed]

The Tandy/Radio Shack TRS-80 Model II, released in 1979, used the 8021 in its keyboard.[4] The 8021 processor scans the key matrix, converts switch closures to an 8-bit code and then transmits that code serially to the keyboard interface on the main system. The 8021 will also accept commands to turn indicator LEDs on or off. The 8021 was also used in the keyboards for the TRS-80 Model 12, 12B, 16, 16B and the Tandy 6000/6000HD.[5]

The original IBM PC keyboard used an 8048 as its internal microcontroller.[6] The PC AT replaced the PC's Intel 8255 peripheral interface chip at I/O port addresses 0x60–63 with an 8042 accessible through port addresses 0x60 and 0x64.[7] As well as managing the keyboard interface, the 8042 controlled the A20 line gating function for the AT's Intel 80286 CPU and could be commanded by software to reset the 80286 (unlike the 80386 and later processors, the 80286 had no way of switching from protected mode back to real mode except by being reset). Later PC compatibles integrate the 8042's functions into their super I/O devices.

The 8048 was used in the Magnavox Odyssey² video game console, the Korg Trident series,[8] and the Korg Poly-61,[9] Roland Jupiter-4 and Roland ProMars[10] analog synthesizers. The Sinclair QL used the closely related Intel 8049 to manage its keyboard, joystick ports, RS-232 inputs and audio. The ROM-less 8035 variant was used in Nintendo's arcade game Donkey Kong to generate the background music.

Derived microcontrollers[edit]

Philips Semiconductors (now NXP) owned a license to produce this series and developed their MAB8400-family based on this architecture. These were the first microcontrollers with an integrated I²C-interface and were used in the first Philips (Magnavox in the US) Compact Disc players (e.g. the CD-100).[11]

See also[edit]


  1. ^ Laws, David; Blume Jr., Henry; Ekiss, John; Feng, Yung; Kline, Barbara; Raphael, Howard; Stamm, David (2008-07-30). Oral History Panel on the Development and Promotion of the Intel 8048 Microcontroller (PDF). Archived from the original (PDF) on 2014-12-27.
  2. ^ Intel Corporation 1978.
  3. ^ "UPI-41AH/42AH Universal Peripheral Interface 8-bit Slave Microcontroller" (PDF). Intel. November 1994. p. 2. Retrieved 2022-07-19.
  4. ^ TRS-80 Model II Technical Reference Manual. Radio Shack. p. 135.
  5. ^ Tandy 6000/6000HD Service Manual. Tandy/Radio Shack. 1985. p. 213.
  6. ^ "Section 4: Keyboard", Technical Reference: Personal Computer, Personal Computer Hardware Reference Library (Revised ed.), IBM, April 1984
  7. ^ "Section 1: System Board", Technical Reference: Personal Computer AT, Personal Computer Hardware Reference Library, IBM, September 1985
  8. ^ "Korg Trident Service Manual". Korg. p. 4. Retrieved 10 February 2018 – via Synthfool.
  9. ^ "Korg Poly-61 Service Manual" (PDF). Archived from the original (PDF) on 2010-06-02. Retrieved 2013-03-07.
  10. ^ Gordon Reid (November 2004). "The History Of Roland, Part 1: 1930–1978". The History Of Roland. Sound On Sound Magazine. Retrieved 29 November 2010.
  11. ^ Datasheet (pdf) Philips MAB8400-Family


  • MCS-48 Single Component Microcomputer, Applications Seminar Notebook, 1978, Intel Corporation.
  • MCS-48 Microcomputer User's Manual (PDF). Intel Corporation. 1978.
  • Lionel Smith, Cecil Moore: Serial I/O and Math Utilities for the 8049 Microcomputer, Application Note AP-49, January 1979, Intel Corporation.
  • A High-Speed Emulator for Intel MCS-48 Microcomputers, Application Note AP-55A, August 1979, Intel Corporation.
  • Phil Dahm, Stuart Rosenberg: Intel MCS-48 and UPI-41A Microcontrollers, Reliability Report RR-25, December 1979, Intel Corporation.
  • Microcontroller Handbook, Intel 1984, Order number 210918-002.
  • 8-Bit Embedded Controllers, Intel 1991, Order number 270645-003.

External links[edit]