External Links

Creative Science Centre

 

MX1 Short

These are the base register addresses for the MX1. The values can be used with SET, CLR or INV to give the same values as in the full set. This can save some space as the SET, CLR and INV always have the same offset to the base address.

The green URL is the address of the file where they are contained so this can be included into the program or use the 'expand source' to pick out the registers relevant to your use.

Updated Feb 2014 to include port C, part of the PIC32MX150F128D type processor

ADC Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_adc.bas

// MX1 registers ADC
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant AD1CON1         0xBF809000
constant AD1CON2         0xBF809010
constant AD1CON3         0xBF809020
constant AD1CHS          0xBF809040
constant AD1CSSL         0xBF809050
constant ADC1BUF0        0xBF809070
constant ADC1BUF1        0xBF809080
constant ADC1BUF2        0xBF809090
constant ADC1BUF3        0xBF8090A0
constant ADC1BUF4        0xBF8090B0
constant ADC1BUF5        0xBF8090C0
constant ADC1BUF6        0xBF8090D0
constant ADC1BUF7        0xBF8090E0
constant ADC1BUF8        0xBF8090F0
constant ADC1BUF9        0xBF809100
constant ADC1BUFA        0xBF809110
constant ADC1BUFB        0xBF809120
constant ADC1BUFC        0xBF809130
constant ADC1BUFD        0xBF809140
constant ADC1BUFE        0xBF809150
constant ADC1BUFF        0xBF809160

Bus Matrix Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_busmatrix.bas

// MX1 register - bus matrix
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant BMXCON          0xBF882000
constant BMXDKPBA        0xBF882010
constant BMXDUDBA        0xBF882020
constant BMXDUPBA        0xBF882030
constant BMXDRMSZ        0xBF882040
constant BMXPUPBA        0xBF882050
constant BMXPUPBACLR     0xBF882054
constant BMXPUPBASET     0xBF882058
constant BMXPUPBAINV     0xBF88205C
constant BMXPFMSZ        0xBF882060
constant BMXBOOTSZ       0xBF882070

Comparator Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_comparator.bas

// MX1 registers Comparator
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant CVRCON          0xBF809800
constant CM1CON          0xBF80A000
constant CM2CON          0xBF80A010
constant CM3CON          0xBF80A020
constant CMSTAT          0xBF80A060
constant CTMUCON         0xBF80A200

DMA Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_dma.bas

// MX1 registers DMA - all 3 channels
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant DMACON          0xBF883000
constant DMASTAT         0xBF883010
constant DMAADDR         0xBF883020
constant DCRCCON         0xBF883030
constant DCRCDATA        0xBF883040
constant DCRCXOR         0xBF883050
constant DCH0CON         0xBF883060
constant DCH0ECON        0xBF883070
constant DCH0INT         0xBF883080
constant DCH0SSA         0xBF883090
constant DCH0DSA         0xBF8830A0
constant DCH0SSIZ        0xBF8830B0
constant DCH0DSIZ        0xBF8830C0
constant DCH0SPTR        0xBF8830D0
constant DCH0DPTR        0xBF8830E0
constant DCH0CSIZ        0xBF8830F0
constant DCH0CPTR        0xBF883100
constant DCH0DAT         0xBF883110
constant DCH1CON         0xBF883120
constant DCH1ECON        0xBF883130
constant DCH1INT         0xBF883140
constant DCH1SSA         0xBF883150
constant DCH1DSA         0xBF883160
constant DCH1SSIZ        0xBF883170
constant DCH1DSIZ        0xBF883180
constant DCH1SPTR        0xBF883190
constant DCH1DPTR        0xBF8831A0
constant DCH1CSIZ        0xBF8831B0
constant DCH1CPTR        0xBF8831C0
constant DCH1DAT         0xBF8831D0
constant DCH2CON         0xBF8831E0
constant DCH2ECON        0xBF8831F0
constant DCH2INT         0xBF883200
constant DCH2SSA         0xBF883210
constant DCH2DSA         0xBF883220
constant DCH2SSIZ        0xBF883230
constant DCH2DSIZ        0xBF883240
constant DCH2SPTR        0xBF883250
constant DCH2DPTR        0xBF883260
constant DCH2CSIZ        0xBF883270
constant DCH2CPTR        0xBF883280
constant DCH2DAT         0xBF883290
constant DCH3CON         0xBF8832A0
constant DCH3ECON        0xBF8832B0
constant DCH3INT         0xBF8832C0
constant DCH3SSA         0xBF8832D0
constant DCH3DSA         0xBF8832E0
constant DCH3SSIZ        0xBF8832F0
constant DCH3DSIZ        0xBF883300
constant DCH3SPTR        0xBF883310
constant DCH3DPTR        0xBF883320
constant DCH3CSIZ        0xBF883330
constant DCH3CPTR        0xBF883340
constant DCH3DAT         0xBF883350

I2C Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_i2c.bas

// MX1 registers I2C
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant I2C1ACON        0xBF805000
constant I2C1CON         0xBF805000
constant I2C1ASTAT       0xBF805010
constant I2C1STAT        0xBF805010
constant I2C1AADD        0xBF805020
constant I2C1ADD         0xBF805020
constant I2C1AMSK        0xBF805030
constant I2C1MSK         0xBF805030
constant I2C1ABRG        0xBF805040
constant I2C1BRG         0xBF805040
constant I2C1ATRN        0xBF805050
constant I2C1TRN         0xBF805050
constant I2C1ARCV        0xBF805060
constant I2C1RCV         0xBF805060
constant I2C2ACON        0xBF805100
constant I2C2CON         0xBF805100
constant I2C2ASTAT       0xBF805110
constant I2C2STAT        0xBF805110
constant I2C2AADD        0xBF805120
constant I2C2ADD         0xBF805120
constant I2C2AMSK        0xBF805130
constant I2C2MSK         0xBF805130
constant I2C2ABRG        0xBF805140
constant I2C2BRG         0xBF805140
constant I2C2ATRN        0xBF805150
constant I2C2TRN         0xBF805150
constant I2C2ARCV        0xBF805160
constant I2C2RCV         0xBF805160

Input Capture Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_inputCap.bas

// MX1 Input capture registers
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant IC1CON          0xBF802000
constant IC1BUF          0xBF802010
constant IC2CON          0xBF802200
constant IC2BUF          0xBF802210
constant IC3CON          0xBF802400
constant IC3BUF          0xBF802410
constant IC4CON          0xBF802600
constant IC4BUF          0xBF802610
constant IC5CON          0xBF802800
constant IC5BUF          0xBF802810

Interrupt Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_interrupt.bas

// MX1 registers - interrupt
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant INTCON          0xBF881000
constant INTSTAT         0xBF881010
constant IPTMR           0xBF881020
constant IFS0            0xBF881030
constant IFS1            0xBF881040
constant IEC0            0xBF881060
constant IEC1            0xBF881070
constant IPC0            0xBF881090
constant IPC1            0xBF8810A0
constant IPC2            0xBF8810B0
constant IPC3            0xBF8810C0
constant IPC4            0xBF8810D0
constant IPC5            0xBF8810E0
constant IPC6            0xBF8810F0
constant IPC7            0xBF881100
constant IPC8            0xBF881110
constant IPC9            0xBF881120
constant IPC10           0xBF881130

Output Compare Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_outputCompare.bas

// MX1 Registers, output compare
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant OC1CON          0xBF803000
constant OC1R            0xBF803010
constant OC1RS           0xBF803020
constant OC2CON          0xBF803200
constant OC2R            0xBF803210
constant OC2RS           0xBF803220
constant OC3CON          0xBF803400
constant OC3R            0xBF803410
constant OC3RS           0xBF803420
constant OC4CON          0xBF803600
constant OC4R            0xBF803610
constant OC4RS           0xBF803620
constant OC5CON          0xBF803800
constant OC5R            0xBF803810
constant OC5RS           0xBF803820

Parallel Master Port Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_pmp.bas

// MX1 registers Parallel mater port
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant PMCON           0xBF807000
constant PMMODE          0xBF807010
constant PMADDR          0xBF807020
constant PMDOUT          0xBF807030
constant PMDIN           0xBF807040
constant PMAEN           0xBF807050
constant PMSTAT          0xBF807060

Ports Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_ports.bas

// MX1 registers Ports A and B
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant ANSELA          0xBF886000
constant TRISA           0xBF886010
constant PORTA           0xBF886020
constant LATA            0xBF886030
constant ODCA            0xBF886040
constant CNPUA           0xBF886050
constant CNPDA           0xBF886060
constant CNCONA          0xBF886070
constant CNENA           0xBF886080
constant CNSTATA         0xBF886090
constant ANSELB          0xBF886100
constant TRISB           0xBF886110
constant PORTB           0xBF886120
constant LATB            0xBF886130
constant ODCB            0xBF886140
constant CNPUB           0xBF886150
constant CNPDB           0xBF886160
constant CNCONB          0xBF886170
constant CNENB           0xBF886180
constant CNSTATB         0xBF886190
constant ANSELC           0xBF886200
constant TRISC            0xBF886210
constant PORTC            0xBF886220
constant LATC             0xBF886230
constant ODCC             0xBF886240
constant CNPUC            0xBF886250
constant CNPDC            0xBF886260
constant CNCONC           0xBF886270
constant CNENC            0xBF886280
constant CNSTATC          0xBF886290

Peripheral Pin Select Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_pps.bas

// MX1 register Peripheral Pin Select
//
// Input
constant INT1R           0xBF80FA04
constant INT2R           0xBF80FA08
constant INT3R           0xBF80FA0C
constant INT4R           0xBF80FA10
constant T2CKR           0xBF80FA18
constant T3CKR           0xBF80FA1C
constant T4CKR           0xBF80FA20
constant T5CKR           0xBF80FA24
constant IC1R            0xBF80FA28
constant IC2R            0xBF80FA2C
constant IC3R            0xBF80FA30
constant IC4R            0xBF80FA34
constant IC5R            0xBF80FA38
constant OCFAR           0xBF80FA48
constant OCFBR           0xBF80FA4C
constant U1RXR           0xBF80FA50
constant U1CTSR          0xBF80FA54
constant U2RXR           0xBF80FA58
constant U2CTSR          0xBF80FA5C
constant SDI1R           0xBF80FA84
constant SS1R            0xBF80FA88
constant SDI2R           0xBF80FA90
constant SS2R            0xBF80FA94
constant REFCLKIR        0xBF80FAB8
// Output
constant RPA0R           0xBF80FB00
constant RPA1R           0xBF80FB04
constant RPA2R           0xBF80FB08
constant RPA3R           0xBF80FB0C
constant RPA4R           0xBF80FB10
constant RPA8R           0xBF80FB20
constant RPA9R           0xBF80FB24
constant RPB0R           0xBF80FB2C
constant RPB1R           0xBF80FB30
constant RPB2R           0xBF80FB34
constant RPB3R           0xBF80FB38
constant RPB4R           0xBF80FB3C
constant RPB5R           0xBF80FB40
constant RPB6R           0xBF80FB44
constant RPB7R           0xBF80FB48
constant RPB8R           0xBF80FB4C
constant RPB9R           0xBF80FB50
constant RPB10R          0xBF80FB54
constant RPB11R          0xBF80FB58
constant RPB12R          0xBF80FB5C
constant RPB13R          0xBF80FB60
constant RPB14R          0xBF80FB64
constant RPB15R          0xBF80FB68
constant RPC0R           0xBF80FB6C
constant RPC1R           0xBF80FB70
constant RPC2R           0xBF80FB74
constant RPC3R           0xBF80FB78
constant RPC4R           0xBF80FB7C
constant RPC5R           0xBF80FB80
constant RPC6R           0xBF80FB84
constant RPC7R           0xBF80FB88
constant RPC8R           0xBF80FB8C
constant RPC9R           0xBF80FB90

RTC Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_rtc.bas

// MX1 RTC registers
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant RTCCON          0xBF800200
constant RTCALRM         0xBF800210
constant RTCTIME         0xBF800220
constant RTCDATE         0xBF800230
constant ALRMTIME        0xBF800240
constant ALRMDATE        0xBF800250

SPI Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_spi.bas

// MX1 registers SPI
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant SPI1CON         0xBF805800
constant SPI1STAT        0xBF805810
constant SPI1BUF         0xBF805820
constant SPI1BRG         0xBF805830
constant SPI1CON2        0xBF805840
constant SPI2CON         0xBF805A00
constant SPI2STAT        0xBF805A10
constant SPI2BUF         0xBF805A20
constant SPI2BRG         0xBF805A30
constant SPI2CON2        0xBF805A40

System Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_system.bas

// MX1 registers system
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant OSCCON          0xBF80F000
constant OSCTUN          0xBF80F010
constant REFOCON         0xBF80F020
constant REFOTRIM        0xBF80F030
constant CFGCON          0xBF80F200
constant DDPCON          0xBF80F200
constant DEVID           0xBF80F220
constant SYSKEY          0xBF80F230
constant PMD1            0xBF80F240
constant PMD2            0xBF80F250
constant PMD3            0xBF80F260
constant PMD4            0xBF80F270
constant PMD5            0xBF80F280
constant PMD6            0xBF80F290
constant NVMCON          0xBF80F400
constant NVMKEY          0xBF80F410
constant NVMADDR         0xBF80F420
constant NVMDATA         0xBF80F430
constant NVMSRCADDR      0xBF80F440
constant RCON            0xBF80F600
constant RSWRST          0xBF80F610
constant WDTCON          0xBF800000

Timer Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_timer.bas

// MX1 Timer registers
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant T1CON           0xBF800600
constant TMR1            0xBF800610
constant PR1             0xBF800620
constant T2CON           0xBF800800
constant TMR2            0xBF800810
constant PR2             0xBF800820
constant T3CON           0xBF800A00
constant TMR3            0xBF800A10
constant PR3             0xBF800A20
constant T4CON           0xBF800C00
constant TMR4            0xBF800C10
constant PR4             0xBF800C20
constant T5CON           0xBF800E00
constant TMR5            0xBF800E10
constant PR5             0xBF800E20

UART1 Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_uart1.bas

// MX1 Registers UART1
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant U1AMODE         0xBF806000
constant U1MODE          0xBF806000
constant U1ASTA          0xBF806010
constant U1STA           0xBF806010
constant U1ATXREG        0xBF806020
constant U1TXREG         0xBF806020
constant U1ARXREG        0xBF806030
constant U1RXREG         0xBF806030
constant U1ABRG          0xBF806040
constant U1BRG           0xBF806040

UART2 Registers

http://byvac.com/mBlib/flb/Library/PIC32MX1_Family/BRegisters_short/MX1_reg_uart2.bas

// MX1 Registers UART2
//
#option only on   // only load functions that don't already exists
constant CLR	4
constant SET	8
constant INV	12
constant U2MODE          0xBF806200
constant U2STA           0xBF806210
constant U2TXREG         0xBF806220
constant U2RXREG         0xBF806230
constant U2BRG           0xBF806240