> | 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 P83C75x family of microcontrollers, the $PHILIPS control can be used. The $WINBOND control enables the extended instruction set of the Winbond W77xxxx family of microcontrollers with Turbo-51 core. 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
Winbond | W78C32C, W78L32
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
87LPC760.MCU | Philips | 87LPC760
87LPC761.MCU | Philips | 87LPC761
87LPC762.MCU | Philips | 87LPC762, 87LPC764
87LPC767.MCU | Philips | 87LPC767
87LPC768.MCU | Philips | 87LPC768, 87LPC778
87LPC769.MCU | Philips | 87LPC769
89C660.MCU | Philips | 89C660, 89C662, 89C664, 89C668
89LPC901.MCU | Philips | 89LPC901
89LPC902.MCU | Philips | 89LPC902
89LPC903.MCU | Philips | 89LPC903
89LPC904.MCU | Philips | 89LPC904
89LPC906.MCU | Philips | 89LPC906
89LPC907.MCU | Philips | 89LPC907
89LPC908.MCU | Philips | 89LPC908
89LPC912.MCU | Philips | 89LPC912
89LPC913.MCU | Philips | 89LPC913
89LPC914.MCU | Philips | 89LPC914
89LPC915.MCU | Philips | 89LPC915
89LPC916.MCU | Philips | 89LPC916
89LPC917.MCU | Philips | 89LPC917
89LPC920.MCU | Philips | 89LPC920, 89LPC921, 89LPC922
89LPC930.MCU | Philips | 89LPC930, 89LPC931
89LPC932.MCU | Philips | 89LPC932, 89LPC932A1
89LPC933.MCU | Philips | 89LPC933, 89LPC934
89LPC935.MCU | Philips | 89LPC935
89C51RX2.MCU | Philips | 89C51RA2, 89C51RB2, 89C51RC2, 89C51RD2, 87C51RA2, 87C51RB2, 87C51RC2, 87C51RD2
89V51RD2.MCU | Philips | 89V51RD2, 89LV51RD2
80C32X2.MCU | Philips | 80C31X2, 80C32X2, 80C51X2, 80C52X2, 80C54X2, 80C58X2, 87C51X2, 87C52X2, 87C54X2, 87C58X2, 89C51X2, 89C52X2, 89C54X2, 89C58X2
89C60X2.MCU | Philips | 89C60X2, 89C61X2
83C654X2.MCU | Philips | 83C654X2, 87C654X2
83C660X2.MCU | Philips | 83C660X2, 87C660X2
83C661X2.MCU | Philips | 83C661X2, 87C661X2
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, 89C430, 89C440, 89C450
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, 89C2051x2
89S8252.MCU | Atmel | 89S8252, 89LS8252
89S8253.MCU | Atmel | 89S8253
89S51.MCU | Atmel | 89S51
89S52.MCU | Atmel | 89S52, 89LS52
89S53.MCU | Atmel | 89S53, 89LS53
89S4D12.MCU | Atmel | 89S4D12
83C5101.MCU | Atmel | T83C5101, T87C5101, T83C5102
83C5103.MCU | Atmel | 83C5103, 87C5103
83C5111.MCU | Atmel | 83C5111, 87C5111
83C5112.MCU | Atmel | 83C5112, 87C5112, 80C5112
89C5115.MCU | Atmel | T89C5115
73M2910.MCU | TDK | 73M2910, 73M2910A
AN2131.MCU | Cypress | AN2121, AN2122, AN2125, AN2126, AN2131, AN2135, AN2136
EZUSBFX2.MCU | Cypress | CY7C68013
W78C33B.MCU | Winbond | W78C33B, W78L33
W78E51B.MCU | Winbond | W78E51B, W78C51D, W78L51, W78LE51
W78E52B.MCU | Winbond | W78E52B, W78C52D, W78E54B, W78L52, W78L54, W78LE52, W78LE54, W78IE52, W78IE54
W78E58B.MCU | Winbond | W78E58B, W78E516B, W78LE58, W78LE516
W78E365.MCU | Winbond | W78E365, W78LE365
W78C54.MCU | Winbond | W78C54, W78C58, W78E58
W78L801.MCU | Winbond | W78L801, W78C801
W78LE812.MCU | Winbond | W78LE812
W78E858.MCU | Winbond | W78E858
W78C438C.MCU | Winbond | W78C438C
W78E378.MCU | Winbond | W78E378, W78C378, W78C374
W78E354.MCU | Winbond | W78E354, W78C354
W79E532.MCU | Winbond | W79E532
W77E58.MCU | Winbond | W77E58, W77C58, W77C516, W77C32, W77LE58, W77L32, W77IE58, W77IC32
W77E516.MCU | Winbond | W77E516
W77E532.MCU | Winbond | W77E532
W77LE516.MCU | Winbond | W77LE516
W77LE532.MCU | Winbond | W77LE532
W77E468.MCU | Winbond | W77E468
W925E625.MCU | Winbond | W925E625, W925C625
W925E240.MCU | Winbond | W925E240, W925C240
ADUC812.MCU | ADI | ADuC812
ADUC814.MCU | ADI | ADuC814
ADUC816.MCU | ADI | ADuC816
ADUC824.MCU | ADI | ADuC824
ADUC831.MCU | ADI | ADuC831
ADUC832.MCU | ADI | ADuC832
ADUC834.MCU | ADI | ADuC834
ADUC836.MCU | ADI | ADuC836
PAGEONE.MCU | Winedge | WE52PO128, WE52PO512
ULTRA51.MCU | Winedge | U51F128S, U51F64S
CC1010.MCU | Chipcon | CC1010