	LIST
; P16C5X.INC  Standard Header File, Version 3.30    Microchip Technology, Inc.
	NOLIST

; This header file defines configurations, registers, and other useful bits of
; information for the 16C5X microcontrollers.  These names are taken to match 
; the data sheets as closely as possible.  The microcontrollers included
; in this file are:

;    16C52
;    16C54
;    16CR54
;    16C54A
;    16CR54A
;    16C55
;    16C56
;    16C57
;    16CR57A
;    16CR57B
;    16C58A
;    16CR58A

; There is one group of symbols that is valid for all microcontrollers.  
; Each microcontroller in this family also has its own section of special 
; symbols.  Note that the processor must be selected before this file is 
; included.  The processor may be selected the following ways:

;       1. Command line switch:
;               C:\ MPASM MYFILE.ASM /P16C54A
;       2. LIST directive in the source file
;               LIST   P=16C54A
;       3. Processor Type entry in the MPASM full-screen interface

;==========================================================================
;
;	   Revision History
;
;==========================================================================

;Rev:   Date:   Reason:

;3.30   07/16/96 Aligned processors with MPASM v1.40
;3.20	04/09/96 Added 16C54B, 16CR56B, 16C58B
;3.10   12/14/95 Added 16C52
;3.01   11/29/95 Removed 16CR55
;3.00   10/16/95 Added new processors for MPASM v1.30
;2.04   07/26/95 Reformatted for readability
;2.03   06/21/95 Removed leading spaces

;==========================================================================
;
;       Generic Definitions
;
;==========================================================================

W                            EQU     H'0000'
F                            EQU     H'0001'

;----- Register Files -----------------------------------------------------

INDF                         EQU     H'0000'
TMR0                         EQU     H'0001'
PCL                          EQU     H'0002'
STATUS                       EQU     H'0003'
FSR                          EQU     H'0004'
PORTA                        EQU     H'0005'
PORTB                        EQU     H'0006'

;----- STATUS Bits --------------------------------------------------------

PA2                          EQU     H'0007'
PA1                          EQU     H'0006'
PA0                          EQU     H'0005'
NOT_TO                       EQU     H'0004'
NOT_PD                       EQU     H'0003'
Z                            EQU     H'0002'
DC                           EQU     H'0001'
C                            EQU     H'0000'

;----- OPTION Bits --------------------------------------------------------

T0CS                         EQU     H'0005'
T0SE                         EQU     H'0004'
PSA                          EQU     H'0003'
PS2                          EQU     H'0002'
PS1                          EQU     H'0001'
PS0                          EQU     H'0000'

;==========================================================================
;
;       Processor-dependent Definitions
;
;==========================================================================

        IFDEF __16C52
           __MAXRAM H'01F'
           #define __CONFIG_2
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C54
           __MAXRAM H'01F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16CR54
           __MAXRAM H'01F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C54A
           __MAXRAM H'01F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16CR54A
           __MAXRAM H'01F'
           #define __CONFIG_1
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C55
                                                ; Register Files
PORTC                     EQU     H'0007'
           __MAXRAM H'01F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C56
           __MAXRAM H'01F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C57
                                                ; Register Files
PORTC                     EQU     H'0007'
           __MAXRAM H'07F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16CR57A
                                                ; Register Files
PORTC                     EQU     H'0007'
           __MAXRAM H'07F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16CR57B
                                                ; Register Files
PORTC                     EQU     H'0007'
           __MAXRAM H'07F'
           #define __CONFIG_1
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16C58A
           __MAXRAM H'07F'
           #define __CONFIG_0
        ENDIF

;--------------------------------------------------------------------------

        IFDEF __16CR58A
           __MAXRAM H'07F'
           #define __CONFIG_1
        ENDIF

;==========================================================================
;
;       Configuration Bits
;
;==========================================================================

        IFDEF __CONFIG_0
_CP_ON                       EQU     H'0FF7'
_CP_OFF                      EQU     H'0FFF'
_WDT_ON                      EQU     H'0FFF'
_WDT_OFF                     EQU     H'0FFB'
_LP_OSC                      EQU     H'0FFC'
_XT_OSC                      EQU     H'0FFD'
_HS_OSC                      EQU     H'0FFE'
_RC_OSC                      EQU     H'0FFF'
           #undefine __CONFIG_0
        ENDIF


        IFDEF __CONFIG_1
_CP_ON                       EQU     H'0007'
_CP_OFF                      EQU     H'0FFF'
_WDT_ON                      EQU     H'0FFF'
_WDT_OFF                     EQU     H'0FFB'
_LP_OSC                      EQU     H'0FFC'
_XT_OSC                      EQU     H'0FFD'
_HS_OSC                      EQU     H'0FFE'
_RC_OSC                      EQU     H'0FFF'
           #undefine __CONFIG_1
        ENDIF

        IFDEF __CONFIG_2
_CP_ON                       EQU     H'0FF7'
_CP_OFF                      EQU     H'0FFF'
_XT_OSC                      EQU     H'0FFD'
_RC_OSC                      EQU     H'0FFF'
           #undefine __CONFIG_2
        ENDIF

	LIST
