|
VI. Support of 8051 Derivatives
Today a large number of 8051 derivatives is available that grows almost
monthly! They all use the same instruction set of the MCS-51
processor core, but are different in peripheral components, to cover a wide
range of applications. The difference for the assembly language programmer
is mainly the varying set of special function registers and interrupt addresses.
It is always good practice to use the same SFR names in a microcontroller
application program that the manufacturer of the derivative used has defined.
For this the processor definition files *.MCU are provided. They all are
include files with the special function register definitions of a particular
8051 derivative. However, the predefined symbols of ASEM-51 must
be switched off prior to including the SFR definitions of another derivative
as shown below:
$NOMOD51
$INCLUDE (80C515.MCU)
This would switch off the predefined symbols of the 8051 and include the
register definitions of the 80C515 or 80C535 respectively.
Hence it is easy for the user to adapt ASEM-51 to a brandnew
8051 derivative!
All what he has to do is to write a corresponding include file with the SFR
definitions derived from the manufacturer's data sheet.
The name of every processor definition file is corresponding to the ROM
version of a particular derivative. Of course it also applies to the EPROM,
EEPROM, flash, and ROM-less versions (if any) of that derivative.
By the way, the file 8051.MCU provided contains exactly the predefined
symbols of ASEM-51, because its internal symbol table has been
generated from it!
To switch ASEM-51 to the reduced instruction set of the Philips
83C75x family of microcontrollers, the $PHILIPS control can be used.
Currently the following processor definition files are provided with
ASEM-51:
Name | Manufacturer | Versions |
8051.MCU | Intel (and others) | 8051, 8031, 8751BH, 8051AH, 8031AH, 8751H, 8051AHP, 8751H-8, 80C51BH, 80C31BH, 87C51, 80C51BHP |
Atmel | 89C51, 89LV51, 87LV51, 80F51, 87F51 |
8052.MCU | Intel | 8052AH, 8032AH, 8752BH |
SIEMENS | 80513, 8352-5 |
80C52.MCU | Intel | 80C52, 80C32, 87C52, 80C54, 87C54, 80C58, 87C58 |
83C51FX.MCU | Intel | 83C51FA, 80C51FA, 87C51FA, 83C51FB, 87C51FB, 83C51FC, 87C51FC |
83C51R.MCU | Intel | 83C51RA, 80C51RA, 87C51RA, 83C51RB, 87C51RB, 83C51RC, 87C51RC |
83C51KB.MCU | Intel | 83C51KB |
83C51GB.MCU | Intel | 83C51GB, 80C51GB, 87C51GB |
83C151.MCU | Intel | 83C151SB, 87C151SB, 80C151SB, 83C151SA, 87C151SA |
83C152.MCU | Intel | 80C152JA, 83C152JA, 80C152JB, 80C152JC, 83C152JC, 80C152JD |
83C452.MCU | Intel | 83C452, 80C452 |
8044.MCU | Intel | 8044AH, 8344AH, 8744AH |
83931HA.MCU | Intel | 83931HA, 80931HA |
83931AA.MCU | Intel | 83931AA, 80931AA |
80512.MCU | SIEMENS | 80512, 80532 |
80515.MCU | SIEMENS | 80515, 80535, 80515K, 83515-4 |
80C515.MCU | SIEMENS | 80C515, 80C535, 83C515H |
83C515A.MCU | SIEMENS | 83C515A-5, 80C515A |
80C517.MCU | SIEMENS | 80C517, 80C537 |
C501.MCU | Infineon | C501-1R, C501-L |
C502.MCU | Infineon | C502-2R, C502-L |
C503.MCU | Infineon | C503-1R, C503-L |
C504.MCU | Infineon | C504-2R, C504-L |
C505.MCU | Infineon | C505-2R, C505-L |
C505C.MCU | Infineon | C505C-2R, C505C-L |
C505A.MCU | Infineon | C505A-4E, C505A-L |
C505CA.MCU | Infineon | C505CA-4E, C505CA-L |
C505L.MCU | Infineon | C505L |
C508.MCU | Infineon | C508-4R, C508-4E |
C509.MCU | Infineon | C509-L |
C511.MCU | Infineon | C511, C511A |
C513.MCU | Infineon | C513, C513A, C513A-H |
C513AO.MCU | Infineon | C513AO |
C515.MCU | Infineon | C515-L, C515-1R |
C515A.MCU | Infineon | C515A-L, C515A-4R |
C515C.MCU | Infineon | C515C-8R |
C517A.MCU | Infineon | C517A-L, C517A-4R, 83C517A-5, 80C517A |
C540U.MCU | Infineon | C540U |
C541U.MCU | Infineon | C541U |
C868.MCU | Infineon | C868-1R, C868-1S |
83C451.MCU | Philips | 83C451, 80C451, 87C451 |
83C528.MCU | Philips | 83C528, 80C528, 87C528, 83C524, 87C524, 83CE528, 80CE528, 89CE528 |
83C550.MCU | Philips | 83C550, 80C550, 87C550 |
83C552.MCU | Philips | 83C552, 80C552, 87C552 |
83C562.MCU | Philips | 83C562, 80C562 |
83C652.MCU | Philips | 83C652, 80C652, 87C652, 83C654, 87C654, 83CE654, 80CE654 |
83C750.MCU | Philips | 83C750, 87C750 |
83C751.MCU | Philips | 83C751, 87C751 |
83C752.MCU | Philips | 83C752, 87C752 |
83C754.MCU | Philips | 83C754, 87C754 |
83C851.MCU | Philips | 83C851, 80C851 |
83C852.MCU | Philips | 83C852 |
87LPC762.MCU | Philips | 87LPC762 |
87LPC768.MCU | Philips | 87LPC768 |
80C32X2.MCU | Philips | 80C31X2, 80C32X2, 80C51X2, 80C52X2, 80C54X2, 80C58X2, 87C51X2, 87C52X2, 87C54X2, 87C58X2, 89C51X2, 89C52X2, 89C54X2, 89C58X2 |
80C521.MCU | AMD | 80C521, 80C541, 87C521, 87C541, 80C321 |
80C324.MCU | AMD | 80C324 |
83C154.MCU | OKI | 83C154, 80C154, 85C154VS |
83C154S.MCU | OKI | 83C154S, 80C154S, 85C154HVS |
80C310.MCU | DALLAS | 80C310 |
80C320.MCU | DALLAS | 80C320, 87C320, 80C323, 87C323 |
80C390.MCU | DALLAS | 80C390 |
87C520.MCU | DALLAS | 87C520, 83C520 |
87C530.MCU | DALLAS | 87C530, 83C530 |
87C550.MCU | DALLAS | 87C550 |
89C420.MCU | DALLAS | 89C420 |
DS5000.MCU | DALLAS | 5000FP, 5000, 5000T, 2250, 2250T |
DS5001.MCU | DALLAS | 5001FP, 5002FP, 5002FPM, 2251T, 2252T |
MAX7651.MCU | Maxim | MAX7651, MAX7652 |
COM20051.MCU | SMC | COM20051 |
89C52.MCU | Atmel | 89C52, 89C55, 89LV52, 89LV55, 87LV52, 80F52, 87F52 |
87F51RC.MCU | Atmel | 87F51RC, 87F55, 87LV55 |
89C1051.MCU | Atmel | 89C1051 |
89C2051.MCU | Atmel | 89C2051, 89C4051, 89C1051U |
89S8252.MCU | Atmel | 89S8252, 89LS8252 |
89S51.MCU | Atmel | 89S51 |
89S52.MCU | Atmel | 89S52, 89LS52 |
89S53.MCU | Atmel | 89S53, 89LS53 |
89S4D12.MCU | Atmel | 89S4D12 |
73M2910.MCU | TDK | 73M2910, 73M2910A |
AN2131.MCU | Cypress | AN2121, AN2122, AN2125, AN2126, AN2131, AN2135, AN2136 |
|