8051 Family: Difference between revisions

From miki
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The '''Intel 8051''' is a single chip microcontroller which was developed by Intel in 1980 for use in embedded systems. It has become very popular in the 80s, but today many manufacturer proposes enhanced version that are 8051-compatible.
The '''Intel 8051''' is a single chip microcontroller which was developed by Intel in 1980 for use in embedded systems. It has become very popular in the 80s, but today many manufacturers propose enhanced versions that are 8051-compatible.


==Architecture==
==Architecture==
=== Speed ===
=== Speed ===

* '''Standard 8051''':
{| border="1" cellpadding="5" cellspacing="0" style="text-align:center"
** Supported clock frequencies: 12MHz, 16MHz, 20MHz, and 24MHz.
|-
** Clock cycles per instructions: 12 (ie. all instructions takes a multiple of 12 oscillation periods).
! align="left" | Name || Clock freq. || clock / instr. cycle(*)
* '''Optimized 8051''' (source: NXP):
|-
** Supported clock frequencies: from 7MHz to 40MHz.
| align="left" | '''Standard 8051'''
** Clock cycles per instructions: 2 (LPC900 family), 6 (LPC700 and 80C51 family), 12(80C51).
| 12MHz<br>16MHz<br>20MHz<br>24MHz
| 12
|-
| align="left" rowspan="2" | '''NXP P89V66x'''<br>'''NXP P89CV51Rx2'''
| 0MHz..40MHz
| 12
|-
| 20MHz
| 6
|-
| align="left" rowspan="2" | '''NXP P8xC660X2/661X2'''<br>'''NXP P87C51RX2'''
| 0MHz..33MHz
| 12
|-
| 0MHz..30MHz
| 6
|-
| align="left" | '''NXP LPC938'''
| 12MHz<br>18MHz
| 2
|}
(*) # clock oscillation periods / instruction cycle.

=== Expanded RAM ===
Intel 8XC51RA series uses a trick called ''Expanded RAM'' to allow accessing 512 byte of on-chip RAM memory. See [http://download.intel.com/design/MCS51/MANUALS/27266801.pdf 8XC51RA/RB/RC Hardware Description] for detailed information.

In summary, there are 4 RAM memory segments:
{| border="1" cellpadding="5" cellspacing="0" style="text-align:center"
|-
| align="left" | Lower 128 bytes of RAM
| 00h..7Fh
| DIRECT
| INDIRECT
|
|-
| align="left" | Upper 128 bytes of RAM
| 80h..FFh
|
| INDIRECT
|
|-
| align="left" | Special Function Registers (SFR)
| 80h..FFh
| DIRECT
|
|
|-
| align="left" | 256-byte expanded RAM (ERAM)
| 00h..FFh
|
|
| <tt>MOVX @R0</tt><br><tt>MOVX @R1</tt><br><tt>MOVX @DPTR</tt><br>(EXTRAM=0)
|}


== Links ==
== Links ==
Line 21: Line 74:
* MCS 51/251 - Classic
* MCS 51/251 - Classic
** 128 byte on-chip data RAM
** 128 byte on-chip data RAM
** [http://www.intel.com/design/mcs51/cf_51.htm Main page]
** [http://download.intel.com/design/mcs51/datashts/27233504.pdf 87C51/80C51BH/80C31BH Commercial/Express version]
** [http://download.intel.com/design/mcs51/datashts/27233504.pdf 87C51/80C51BH/80C31BH Commercial/Express version]
** [http://download.intel.com/design/MCS51/datashts/27041908.pdf 80C31BH/80C51BH/87C51 Automotive version]
** [http://download.intel.com/design/MCS51/datashts/27041908.pdf 80C31BH/80C51BH/87C51 Automotive version]
* MCS 51/251 - Expanded RAM
* MCS 51/251 - Expanded RAM
** [http://www.intel.com/design/mcs51/er_51.htm Main page]
** 512 byte on-chip data RAM
** 512 byte on-chip data RAM
** [http://www.intel.com/design/mcs51/er_51.htm Main page]
** [http://download.intel.com/design/mcs51/datashts/27265903.pdf Datasheet - 8XC51RA/RB/RC CHMOS Single-Chip 8-Bit Microcontrollers]
** [http://download.intel.com/design/mcs51/datashts/27265903.pdf Datasheet - 8XC51RA/RB/RC CHMOS Single-Chip 8-Bit Microcontrollers]
** [http://download.intel.com/design/mcs51/SPECUPDT/27288501.pdf Datasheet - 8XC51RX Specification Update]
** [http://download.intel.com/design/mcs51/SPECUPDT/27288501.pdf Datasheet - 8XC51RX Specification Update]
Line 37: Line 91:
** [http://www.standardics.nxp.com/products/mcus/80c51/ 80C51 product parametric filter]
** [http://www.standardics.nxp.com/products/mcus/80c51/ 80C51 product parametric filter]
** [http://www.standardics.nxp.com/support/documents/microcontrollers/?scope=80C51 80C51 support documents]
** [http://www.standardics.nxp.com/support/documents/microcontrollers/?scope=80C51 80C51 support documents]

* LPC900 family
** [http://www.standardics.nxp.com/products/lpc900/datasheet/p89lpc938.pdf Datasheet - 2-clock controller LPC938]


* [http://www.standardics.nxp.com/support/microcontrollers/ Microcontrollers support page]
* [http://www.standardics.nxp.com/support/microcontrollers/ Microcontrollers support page]

Latest revision as of 18:47, 25 August 2008

The Intel 8051 is a single chip microcontroller which was developed by Intel in 1980 for use in embedded systems. It has become very popular in the 80s, but today many manufacturers propose enhanced versions that are 8051-compatible.

Architecture

Speed

Name Clock freq. clock / instr. cycle(*)
Standard 8051 12MHz
16MHz
20MHz
24MHz
12
NXP P89V66x
NXP P89CV51Rx2
0MHz..40MHz 12
20MHz 6
NXP P8xC660X2/661X2
NXP P87C51RX2
0MHz..33MHz 12
0MHz..30MHz 6
NXP LPC938 12MHz
18MHz
2

(*) # clock oscillation periods / instruction cycle.

Expanded RAM

Intel 8XC51RA series uses a trick called Expanded RAM to allow accessing 512 byte of on-chip RAM memory. See 8XC51RA/RB/RC Hardware Description for detailed information.

In summary, there are 4 RAM memory segments:

Lower 128 bytes of RAM 00h..7Fh DIRECT INDIRECT
Upper 128 bytes of RAM 80h..FFh INDIRECT
Special Function Registers (SFR) 80h..FFh DIRECT
256-byte expanded RAM (ERAM) 00h..FFh MOVX @R0
MOVX @R1
MOVX @DPTR
(EXTRAM=0)

Links

Intel

NXP

NXP (ex. Philips Semiconductors) offers a wide range of 8051-compatible controllers: