Code:
** BITNAMES **
TMR0="Timer0 module's register"
INDF="Addressing this location uses contents of FSR to address data memory<br>(not a physical register)"
PCL="Program counter's (PC) least significant byte"
IRP=STATUS.7,"Register bank select bit, used for indirect addressing"
RP1=STATUS.6,"Register bank select bit, used for direct addressing"
RP0=STATUS.5,"Register bank select bit, used for direct addressing"
NOT_TO=STATUS.4,"Time Out flag"
NOT_PD=STATUS.3,"Power Down flag"
Z=STATUS.2,"Zero flag"
DC=STATUS.1,[protect], "Digit Carry flag"
C=STATUS.0,"Carry flag"
FSR="Indirect data memory address pointer"
RA0=PORTA.0,"Bi-directional I/O pin (with interrupt on change)<br>Internal software programmable weak pull-up"
AN0=PORTA.0,"Analog input pin"
C1IN_PLUS=PORTA.0,"Comparator 1 input"
ICSPDAT=PORTA.0,"Serial Programming Data I/O"
ULPWU=PORTA.0,"Ultra Low-power Wake-up input"
RA1=PORTA.1,"Bi-directional I/O pin (with interrupt on change)<br>Internal software programmable weak pull-up"
AN1=PORTA.1,"Analog input pin"
C1IN_NEG=PORTA.1,"Comparator 1 input"
VREF=PORTA.1,"Voltage reference pin"
ICSPCLK=PORTA.1,"Serial Programming Clock"
RA2=PORTA.2,"Bi-directional I/O pin (with interrupt on change)<br>Internal software programmable weak pull-up"
AN2=PORTA.2,"Analog input pin"
C1OUT=PORTA.2,"Comparator 1 Output"
T0CK1=PORTA.2,"External clock input for Timer0"
INT=PORTA.2,"External interrupt input"
RA3=PORTA.3,"Input port with Interrupt-on-change"
NOT_MCLR=PORTA.3,"Master Clear (Reset). Input/programming voltage input"
RA4=PORTA.4,"Bi-directional I/O pin (with interrupt on change)<br>Internal software programmable weak pull-up"
AN3=PORTA.4,"Analog input pin"
NOT_T1G=PORTA.4,"Timer1 gate"
OSC2=PORTA.4,"Crystal/Resonator"
CLKOUT=PORTA.4,"FOSC/4 output"
RA5=PORTA.5,"Bi-directional I/O pin (with interrupt on change)<br>Internal software programmable weak pull-up"
T1CKI=PORTA.5,"Timer1 clock"
OSC1=PORTA.5,"Crystal/Resonator"
CLKIN=PORTA.5,"External clock input/RC oscillator connection"
PORTB="PORTB aliased to PORTC see PORTC"
RC0=PORTC.0,"Bi-directional I/O pin"
AN4=PORTC.0,"Analog input pin"
C2IN_PLUS=PORTC.0,"Comparator 1 input"
RC1=PORTC.1,"Bi-directional I/O pin"
AN5=PORTC.1,"Analog input pin"
C2IN_NEG=PORTC.1,"Comparator 2 input"
RC2=PORTC.2,"Bi-directional I/O pin"
AN6=PORTC.2,"Analog input pin"
P1D=PORTC.2,"PWM output"
RC3=PORTC.3,"Bi-directional I/O pin"
AN7=PORTC.3,"Analog input pin"
P1C=PORTC.3,"PWM output"
RC4=PORTC.4,"Bi-directional I/O pin"
C2OUT=PORTC.4,"Comparator 2 Output"
P1B=PORTC.4,"PWM output"
RC5=PORTC.5,"Bi-directional I/O pin"
CCP1=PORTA.5,"Capture input/Compare output
P1A=PORTC.5,"PWM output"
PCLATH="Write buffer for the program counter (PC) upper 5 bits",[0..4]
GIE=INTCON.7,"Global Interrupt Enable"
PEIE=INTCON.6,"Peripheral Interrupt Enable"
TMR0IE=INTCON.5,"TMR0 Overflow Interrupt Enable"
INT0IE=INTCON.4,"RA0 External Interrupt Enable"
RAIE=INTCON.3,"RA Port Change Interrupt Enable"
TMR0IF=INTCON.2,"TMR0 Overflow Interrupt Flag"
INT0IF=INTCON.1,"RA0 External Interrupt Flag"
RAIF=INTCON.0,"RA Port Interrupt Flag"
EEIF=PIR1.7,"EEPROM Write Operation Interrupt Flag bit"
ADIF=PIR1.6,"A/D Converter Interrupt Flag"
CCP1IF=PIR1.5,"CCP1 Interrupt Flag"
C2IF=PIR1.4,"Comparator 2 Interrupt Flag"
C1IF=PIR1.3,"Comparator Interrupt Flag"
OSFIF=PIR1.2,"Oscillator Fail Interrupt Flag"
TMR2IF=PIR1.1,"Timer2 to PR2 Match Interrupt Flag"
TMR1IF=PIR1.0,"TMR1 Overflow Interrupt Flag"
TMR1L="Holding register for the Least Significant Byte of the 16 bit TMR1 register"
TMR1LH="Holding register for the Most Significant Byte of the 16 bit TMR1 register"
TMR1H="Holding register for the Most Significant Byte of the 16 bit TMR1 register"
T1GINV=T1CON.7,"Timer1 Gate Invert bit"
TMR1GE=T1CON.6,"Timer1 Gate Enable bit"
T1CKPS1=T1CON.5,"Timer1 Input Clock Prescale Select bits"
T1CKPS0=T1CON.4,"Timer1 Input Clock Prescale Select bits"
T1OSCEN=T1CON.3,"Timer1 Oscillator Enable Control"
NOT_T1SYNC=T1CON.2,"Timer1 External Clock Input Synchronization Control"
TMR1CS=T1CON.1,"Timer1 Clock Source Select"
TMR1ON=T1CON.0,"Timer1 ON"
TMR2="Timer2 module's register"
TOUTPS3=T2CON.6,"Timer2 Output Postscale Select bits"
TOUTPS2=T2CON.5,"Timer2 Output Postscale Select bits"
TOUTPS1=T2CON.4,"Timer2 Output Postscale Select bits"
TOUTPS0=T2CON.3,"Timer2 Output Postscale Select bits"
TMR2ON=T2CON.2,"Timer2 ON"
T2CKPS1=T2CON.1,"Timer2 Clock Prescale Select bits"
T2CKPS0=T2CON.0,"Timer2 Clock Prescale Select bits"
CCPR1L="Capture or Compare or PWM register1 (LSB)"
CCPR1LH="Capture or Compare or PWM register1 (MSB)"
CCPR1H="Capture or Compare or PWM register1 (MSB)"
P1M1=CCP1CON.7,"PWM Output Configuration bit"
P1M0=CCP1CON.6,"PWM Output Configuration bit"
DC1B1=CCP1CON.5,"PWM Duty Cycle Least Significant bits"
DC1B0=CCP1CON.4,"PWM Duty Cycle Least Significant bits"
CCP1M3=CCP1CON.3,"CCP1 Mode Select"
CCP1M2=CCP1CON.2,"CCP1 Mode Select"
CCP1M1=CCP1CON.1,"CCP1 Mode Select"
CCP1M0=CCP1CON.0,"CCP1 Mode Select"
COUT=CMCON.6,"Comparator Output"
CINV=CMCON.4,"Comparator Output Inversion"
CIS=CMCON.3,"Comparator Input Switch"
CM2=CMCON.2,"Comparator Mode bit"
CM1=CMCON.1,"Comparator Mode bit"
CM0=CMCON.0,"Comparator Mode bit"
PRSEN=PWM1CON.7,"PWM Restart Enable"
PDC6=PWM1CON.6,"PWM Delay Count bit"
PDC5=PWM1CON.5,"PWM Delay Count bit"
PDC4=PWM1CON.4,"PWM Delay Count bit"
PDC3=PWM1CON.3,"PWM Delay Count bit"
PDC2=PWM1CON.2,"PWM Delay Count bit"
PDC1=PWM1CON.1,"PWM Delay Count bit"
PDC0=PWM1CON.0,"PWM Delay Count bit"
ECCPASE=ECCPAS.7,"ECCP Auto-shutdown Event Status bit"
ECCPAS2=ECCPAS.6,"ECCP Auto-shutdown Source Select bit"
ECCPAS1=ECCPAS.5,"ECCP Auto-shutdown Source Select bit"
ECCPAS0=ECCPAS.4,"ECCP Auto-shutdown Source Select bit"
PSSAC1=ECCPAS.3,"Pin A and C Shutdown State Control bit"
PSSAC0=ECCPAS.2,"Pin A and C Shutdown State Control bit"
PSSBD1=ECCPAS.1,"Pin B and D Shutdown State Control bit"
PSSBD0=ECCPAS.0,"Pin B and D Shutdown State Control bit"
WDTPS3=WDTCON.4,"Watchdog Timer Period Select bit"
WDTPS2=WDTCON.3,"Watchdog Timer Period Select bit"
WDTPS1=WDTCON.2,"Watchdog Timer Period Select bit"
WDTPS0=WDTCON.1,"Watchdog Timer Period Select bit"
SWDTEN=WDTCON.0,"Software Enable or Disable the Watchdog Timer"
C2OUT=CMCON0.7,"Comparator 2 Output bit"
C1OUT=CMCON0.6,"Comparator 1 Output bit"
C2INV=CMCON0.5,"Comparator 2 Output Inversion bit"
C1INV=CMCON0.4,"Comparator 1 Output Inversion bit"
CIS=CMCON0.3,"Comparator Input Switch bit"
CM2=CMCON0.2,"Comparator Mode bit"
CM1=CMCON0.1,"Comparator Mode bit"
CM0=CMCON0.0,"Comparator Mode bit"
T1GSS=CMCON1.1,"Timer1 Gate Source Select bit"
C2SYNC=CMCON1.0,"Comparator 2 Synchronize bit"
ADRESH="A/D result register high byte"
ADRESLH="A/D result register high byte"
ADFM=ADCON0.7,"A/D Result Formed Select bit"
VCFG=ADCON0.6,"VCFG: Voltage Reference bit"
CHS2=ADCON0.4,"Analog Channel Select bits"
CHS1=ADCON0.3,"Analog Channel Select bits"
CHS0=ADCON0.2,"Analog Channel Select bits"
NOT_DONE=ADCON0.1,"A/D Conversion Status flag"
GO_DONE=ADCON0.1,"A/D Conversion Enable"
ADON=ADCON0.0,"A/D ON bit"
NOT_RAPU=OPTION_REG.07,"PORTB Pull-up Enable"
INTEDG=OPTION_REG.6,"Interrupt Edge Select"
T0CS=OPTION_REG.5,"TMR0 Clock Source Select"
T0SE=OPTION_REG.4,"TMR0 Source Edge Select"
PSA=OPTION_REG.3,"Prescaler Assignment"
PS2=OPTION_REG.2,"Prescaler Rate Select"
PS1=OPTION_REG.1,"Prescaler Rate Select"
PS0=OPTION_REG.0,"Prescaler Rate Select"
TRISA="PORTA data direction register",[0..5]
TRISB=" Alias to PORTC data direction register",[0..5]
TRISC="PORTC data direction register",[0..5]
EEIE=PIE1.7,"EEPROM Write Operation Interrupt Enable"
ADIE=PIE1.6,"A/D Converter Interrupt Enable"
CCP1IE=PIE1.5,"CCP1 Interrupt Enable"
C2IE=PIE1.4,"Comparator 2 Interrupt Enable"
C1IE=PIE1.3,"Comparator Interrupt Enable"
OSFIE=PIE1.2,"Oscillator Fail Interrupt Enable"
TMR2IF=PIE1.1,"Timer2 to PR2 Match Interrupt Enable"
TMR1IE=PIE1.0,"TMR1 Overflow Interrupt Enable"
ULPWUE=PCON.5,"Ultra Low-Power Wake-up Enable bit"
SBODEN=PCON.4,"Software BOD Enable bit"
NOT_POR=PCON.1,"Power-on Reset Status flag"
NOT_BOR=PCON.0,"Brown-out Reset Status flag"
IRCF2=OSCCON.6,"Internal Oscillator Frequency Select bits"
IRCF1=OSCCON.5,"Internal Oscillator Frequency Select bits"
IRCF0=OSCCON.4,"Internal Oscillator Frequency Select bits"
OSTS=OSCCON.3,"Oscillator Start-up Time-out Status bit
HTS=OSCCON.2,"HFINTOSC (High Frequency – 8 MHz to 125 kHz) Status bit"
LTS=OSCCON.1,"LFINTOSC (Low Frequency – 31 kHz) Stable bit"
SCS=OSCCON.0,"System Clock Select bit"
PR2="Timer2 period register"
TUN4=OSCTUNE.4,"Frequency Tuning bit"
TUN3=OSCTUNE.3,"Frequency Tuning bit"
TUN2=OSCTUNE.2,"Frequency Tuning bit"
TUN1=OSCTUNE.1,"Frequency Tuning bit"
TUN0=OSCTUNE.0,"Frequency Tuning bit"
CAL5=OSCCAL.7,"Signed Oscillator Calibration bit"
CAL4=OSCCAL.6,"Signed Oscillator Calibration bit"
CAL3=OSCCAL.5,"Signed Oscillator Calibration bit"
CAL2=OSCCAL.4,"Signed Oscillator Calibration bit"
CAL1=OSCCAL.3,"Signed Oscillator Calibration bit"
CAL0=OSCCAL.2,"Signed Oscillator Calibration bit"
ANS7=ANSEL.7,"Pin Analog / Digital Selection"
ANS6=ANSEL.6,"Pin Analog / Digital Selection"
ANS5=ANSEL.5,"Pin Analog / Digital Selection"
ANS4=ANSEL.4,"Pin Analog / Digital Selection"
ANS3=ANSEL.3,"Pin Analog / Digital Selection"
ANS2=ANSEL.2,"Pin Analog / Digital Selection"
ANS1=ANSEL.1,"Pin Analog / Digital Selection"
ANS0=ANSEL.0,"Pin Analog / Digital Selection"
WPUA5=WPU.5,"Weak Pull-up Register bit"
WPUA4=WPU.4,"Weak Pull-up Register bit"
WPUA2=WPU.2,"Weak Pull-up Register bit"
WPUA1=WPU.1,"Weak Pull-up Register bit"
WPUA0=WPU.0,"Weak Pull-up Register bit"
WPUA5=WPUA.5,"Weak Pull-up Register bit"
WPUA4=WPUA.4,"Weak Pull-up Register bit"
WPUA2=WPUA.2,"Weak Pull-up Register bit"
WPUA1=WPUA.1,"Weak Pull-up Register bit"
WPUA0=WPUA.0,"Weak Pull-up Register bit"
IOCA5=IOC.5,"Interrupt-on-Change PORTA Control bit"
IOCA4=IOC.4,"Interrupt-on-Change PORTA Control bit"
IOCA3=IOC.3,"Interrupt-on-Change PORTA Control bit"
IOCA2=IOC.2,"Interrupt-on-Change PORTA Control bit"
IOCA1=IOC.1,"Interrupt-on-Change PORTA Control bit"
IOCA0=IOC.0,"Interrupt-on-Change PORTA Control bit"
IOCA5=IOCA.5,"Interrupt-on-Change PORTA Control bit"
IOCA4=IOCA.4,"Interrupt-on-Change PORTA Control bit"
IOCA3=IOCA.3,"Interrupt-on-Change PORTA Control bit"
IOCA2=IOCA.2,"Interrupt-on-Change PORTA Control bit"
IOCA1=IOCA.1,"Interrupt-on-Change PORTA Control bit"
IOCA0=IOCA.0,"Interrupt-on-Change PORTA Control bit"
VREN=VRCON.7,"CVREF Enable"
VRR=VRCON.5,"CVREF Range Selection"
VR3=VRCON.3,"CVREF value selection"
VR2=VRCON.2,"CVREF value selection"
VR1=VRCON.1,"CVREF value selection"
VR0=VRCON.0,"CVREF value selection"
ADRESL="Least Significant 2 bits of the left shifted result<BR>or 8 bits of the right shifted result"
ADRES="A/D result as a 8 bit value",[0..7]
ADCS2=ADCON1.6,"A/D Conversion Clock Select bit"
ADCS1=ADCON1.5,"A/D Conversion Clock Select bit"
ADCS0=ADCON1.4,"A/D Conversion Clock Select bit"
EEDAT="EEPROM data register"
EEDATA="EEPROM data register"
EEADR="EEPROM address register",[0..6]
EEDATH="EEPROM data register high byte",[0..5]
EEADRH="EEPROM address register high byte",[0..4]
WRERR=EECON1.3,"EEPROM Error Flag"
WREN=EECON1.2,"EEPROM Write/Enable"
WR=EECON1.1,"Write Control"
RD=EECON1.0,"Read Control"
EECON2="EEPROM control register2 (not a physical register)"
Bobby