📄 c8051f340.h
字号:
/*---------------------------------------------------------------------------
; Copyright (C) 2001 CYGNAL INTEGRATED PRODUCTS, INC.
; All rights reserved.
;
;
; FILE NAME : C8051F020.H
; TARGET MCUs : C8051F020, 'F021, 'F022, 'F023
; DESCRIPTION : Register/bit definitions for the C8051F02x product family.
;
; REVISION 1.0
;
;---------------------------------------------------------------------------*/
/* BYTE Registers */
sfr ACC = 0xE0; //* Accumulator
sfr ADC0CF = 0xBC; //* ADC0 Configuration 50
sfr ADC0CN = 0xE8; //* ADC0 Control 51
sfr ADC0GTH = 0xC4; //* ADC0 Greater-Than Compare High 52
sfr ADC0GTL = 0xC3; //* ADC0 Greater-Than Compare Low 52
sfr ADC0H = 0xBE; //* ADC0 High 50
sfr ADC0L = 0xBD; //* ADC0 Low 50
sfr ADC0LTH = 0xC6; //* ADC0 Less-Than Compare Word High 53
sfr ADC0LTL = 0xC5; //* ADC0 Less-Than Compare Word Low 53
sfr AMX0N = 0xBA; //* AMUX0 Negative Channel Select 49
sfr AMX0P = 0xBB; //* AMUX0 Positive Channel Select 48
sfr B = 0xF0; //* B Register 87
sfr CKCON = 0x8E; //* Clock Control 249
sfr CLKMUL = 0xB9; //* Clock Multiplier 142
sfr CLKSEL = 0xA9; //* Clock Select 144
sfr CPT0CN = 0x9B; //* Comparator0 Control 62
sfr CPT0MD = 0x9D; //* Comparator0 Mode Selection 64
sfr CPT0MX = 0x9F; //* Comparator0 MUX Selection 63
sfr CPT1CN = 0x9A; //* Comparator1 Control 65
sfr CPT1MD = 0x9C; //* Comparator1 Mode Selection 67
sfr CPT1MX = 0x9E; //* Comparator1 MUX Selection 66
sfr DPH = 0x83; //* Data Pointer High 85
sfr DPL = 0x82; //* Data Pointer Low 85
sfr EIE1 = 0xE6; //* Extended Interrupt Enable 1 92
sfr EIE2 = 0xE7; //* Extended Interrupt Enable 2 94
sfr EIP1 = 0xF6; //* Extended Interrupt Priority 1 93
sfr EIP2 = 0xF7; //* Extended Interrupt Priority 2 94
sfr EMI0CN = 0xAA; //* External Memory Interface Control 120
sfr EMI0CF = 0x85; //* External Memory Interface Configuration 121
sfr EMI0TC = 0x84; //* External Memory Interface Timing 126
sfr FLKEY = 0xB7; //* Flash Lock and Key 114
sfr FLSCL = 0xB6; //* Flash Scale 115
sfr IE = 0xA8; //* Interrupt Enable 90
sfr IP = 0xB8; //* Interrupt Priority 91
sfr IT01CF = 0xE4; //* INT0/INT1 Configuration 95
sfr OSCICL = 0xB3; //* Internal Oscillator Calibration 137
sfr OSCICN = 0xB2; //* Internal Oscillator Control 136
sfr OSCLCN = 0x86; //* Internal Low-Frequency Oscillator Control 138
sfr OSCXCN = 0xB1; //* External Oscillator Control 141
sfr P0 = 0x80; //* Port 0 Latch 154
sfr P0MDIN = 0xF1; //* Port 0 Input Mode Configuration 154
sfr P0MDOUT = 0xA4; //* Port 0 Output Mode Configuration 155
sfr P0SKIP = 0xD4; //* Port 0 Skip 155
sfr P1 = 0x90; //* Port 1 Latch 156
sfr P1MDIN = 0xF2; //* Port 1 Input Mode Configuration 156
sfr P1MDOUT = 0xA5; //* Port 1 Output Mode Configuration 156
sfr P1SKIP = 0xD5; //* Port 1 Skip 157
sfr P2 = 0xA0; //* Port 2 Latch 157
sfr P2MDIN = 0xF3; //* Port 2 Input Mode Configuration 157
sfr P2MDOUT = 0xA6; //* Port 2 Output Mode Configuration 158
sfr P2SKIP = 0xD6; //* Port 2 Skip 158
sfr P3 = 0xB0; //* Port 3 Latch 159
sfr P3MDIN = 0xF4; //* Port 3 Input Mode Configuration 159
sfr P3MDOUT = 0xA7; //* Port 3 Output Mode Configuration 159
sfr P3SKIP = 0xDF; //* Port 3Skip 160
sfr P4 = 0xC7; //* Port 4 Latch 160
sfr P4MDIN = 0xF5; //* Port 4 Input Mode Configuration 161
sfr P4MDOUT = 0xAE; //* Port 4 Output Mode Configuration 161
sfr PCA0CN = 0xD8; //* PCA Control 274
sfr PCA0CPH0= 0xFC; //* PCA Capture 0 High 278
sfr PCA0CPH1= 0xEA; //* PCA Capture 1 High 278
sfr PCA0CPH2= 0xEC; //* PCA Capture 2 High 278
sfr PCA0CPH3= 0xEE; //* PCA Capture 3High 278
sfr PCA0CPH4= 0xFE; //* PCA Capture 4 High 278
sfr PCA0CPL0= 0xFB; //* PCA Capture 0 Low 277
sfr PCA0CPL1= 0xE9; //* PCA Capture 1 Low 277
sfr PCA0CPL2= 0xEB; //* PCA Capture 2 Low 277
sfr PCA0CPL3= 0xED; //* PCA Capture 3 Low 277
sfr PCA0CPL4= 0xFD; //* PCA Capture 4 Low 277
sfr PCA0CPM0= 0xDA; //* PCA Module 0 Mode Register 276
sfr PCA0CPM1= 0xDB; //* PCA Module 1 Mode Register 276
sfr PCA0CPM2= 0xDC; //* PCA Module 2 Mode Register 276
sfr PCA0CPM3= 0xDD; //* PCA Module 3 Mode Register 276
sfr PCA0CPM4= 0xDE; //* PCA Module 4 Mode Register 276
sfr PCA0H = 0xFA; //* PCA Counter High 277
sfr PCA0L = 0xF9; //* PCA Counter Low 277
sfr PCA0MD = 0xD9; //* PCA Mode 275
sfr PCON = 0x87; //* Power Control 97
sfr PFE0CN = 0xAF; //* Prefetch Engine Control 99
sfr PSCTL = 0x8F; //* Program Store R/W Control 114sfr
sfr PSW = 0xD0; //* Program Status Word 86
sfr REF0CN = 0xD1; //* Voltage Reference Control 58
sfr REG0CN = 0xC9; //* Voltage Regulator Control 72
sfr RSTSRC = 0xEF; //* Reset Source Configuration/Status 106
sfr SBCON1 = 0xAC; //* UART1 Baud Rate Generator Control 226
sfr SBRLH1 = 0xB5; //* UART1 Baud Rate Generator High 227
sfr SBRLL1 = 0xB4; //* UART1 Baud Rate Generator Low 227
sfr SBUF1 = 0xD3; //* UART1 Data Buffer 226
sfr SCON1 = 0xD2; //* UART1 Control 224
sfr SBUF0 = 0x99; //* UART0 Data Buffer 217
sfr SCON0 = 0x98; //* UART0 Control 216
sfr SMB0CF = 0xC1; //* SMBus Configuration 200
sfr SMB0CN = 0xC0; //* SMBus Control 202
sfr SMB0DAT = 0xC2; //* SMBus Data 204
sfr SMOD1 = 0xE5; //* UART1 Mode 225
sfr SP = 0x81; //* Stack Pointer 85
sfr SPI0CFG = 0xA1; //* SPI Configuration 236
sfr SPI0CKR = 0xA2; //* SPI Clock Rate Control 238
sfr SPI0CN = 0xF8; //* SPI Control 237
sfr SPI0DAT = 0xA3; //* SPI Data 238
sfr TCON = 0x88; //* Timer/Counter Control 247
sfr TH0 = 0x8C; //* Timer/Counter 0 High 250
sfr TH1 = 0x8D; //* Timer/Counter 1 High 250
sfr TL0 = 0x8A; //* Timer/Counter 0 Low 250
sfr TL1 = 0x8B; //* Timer/Counter 1 Low 250
sfr TMOD = 0x89; //* Timer/Counter Mode 248
sfr TMR2CN = 0xC8; //* Timer/Counter 2 Control 255
sfr TMR2H = 0xCD; //* Timer/Counter 2 High 256
sfr TMR2L = 0xCC; //* Timer/Counter 2 Low 256
sfr TMR2RLH = 0xCB; //* Timer/Counter 2 Reload High 256
sfr TMR2RLL = 0xCA; //* Timer/Counter 2 Reload Low 256
sfr TMR3CN = 0x91; //* Timer/Counter 3Control 261
sfr TMR3H = 0x95; //* Timer/Counter 3 High 262
sfr TMR3L = 0x94; //* Timer/Counter 3Low 262
sfr TMR3RLH = 0x93; ///* Timer/Counter 3 Reload High 262
sfr TMR3RLL = 0x92; //* Timer/Counter 3 Reload Low 262
sfr VDM0CN = 0xFF; //* VDD Monitor Control 103
sfr USB0ADR = 0x96; //* USB0 Indirect Address Register 167
sfr USB0DAT = 0x97; //* USB0 Data Register 168
sfr USB0XCN = 0xD7; //* USB0 Transceiver Control 165
sfr XBR0 = 0xE1; //* Port I/O Crossbar Control 0 152
sfr XBR1 = 0xE2; //* Port I/O Crossbar Control 1 153
sfr XBR2 = 0xE3; //* Port I/O Crossbar Control 2
/* BIT Registers */
/* TCON 0x88 */
sbit TF1 = TCON ^ 7; /* TIMER 1 OVERFLOW FLAG */
sbit TR1 = TCON ^ 6; /* TIMER 1 ON/OFF CONTROL */
sbit TF0 = TCON ^ 5; /* TIMER 0 OVERFLOW FLAG */
sbit TR0 = TCON ^ 4; /* TIMER 0 ON/OFF CONTROL */
sbit IE1 = TCON ^ 3; /* EXT. INTERRUPT 1 EDGE FLAG */
sbit IT1 = TCON ^ 2; /* EXT. INTERRUPT 1 TYPE */
sbit IE0 = TCON ^ 1; /* EXT. INTERRUPT 0 EDGE FLAG */
sbit IT0 = TCON ^ 0; /* EXT. INTERRUPT 0 TYPE */
/* SCON0 0x98 */
sbit S0MODE= SCON0 ^ 7; /* selects the UART0 */
sbit MCE0 = SCON0 ^ 5; /* MULTIPROCESSOR COMMUNICATION ENABLE */
sbit REN0 = SCON0 ^ 4; /* RECEIVE ENABLE */
sbit TB80 = SCON0 ^ 3; /* TRANSMIT BIT 8 */
sbit RB80 = SCON0 ^ 2; /* RECEIVE BIT 8 */
sbit TI0 = SCON0 ^ 1; /* TRANSMIT INTERRUPT FLAG */
sbit RI0 = SCON0 ^ 0; /* RECEIVE INTERRUPT FLAG */
/* IE 0xA8 */
sbit EA = IE ^ 7; /* GLOBAL INTERRUPT ENABLE */
sbit ESPI0 = IE ^ 6; /* SPI0 INTERRUPT ENABLE */
sbit ET2 = IE ^ 5; /* TIMER 2 INTERRUPT ENABLE */
sbit ES0 = IE ^ 4; /* UART0 INTERRUPT ENABLE */
sbit ET1 = IE ^ 3; /* TIMER 1 INTERRUPT ENABLE */
sbit EX1 = IE ^ 2; /* EXTERNAL INTERRUPT 1 ENABLE */
sbit ET0 = IE ^ 1; /* TIMER 0 INTERRUPT ENABLE */
sbit EX0 = IE ^ 0; /* EXTERNAL INTERRUPT 0 ENABLE */
/* IP 0xB8 */
sbit PSPI0 = IP ^ 6; /* TIMER 2 PRIORITY */
sbit PT2 = IP ^ 5; /* TIMER 2 PRIORITY */
sbit PS = IP ^ 4; /* SERIAL PORT PRIORITY */
sbit PT1 = IP ^ 3; /* TIMER 1 PRIORITY */
sbit PX1 = IP ^ 2; /* EXTERNAL INTERRUPT 1 PRIORITY */
sbit PT0 = IP ^ 1; /* TIMER 0 PRIORITY */
sbit PX0 = IP ^ 0; /* EXTERNAL INTERRUPT 0 PRIORITY */
/* SMB0CN 0xC0 */
sbit MASTER = SMB0CN ^ 7; /* */
sbit TXMODE = SMB0CN ^ 6; /* */
sbit STA = SMB0CN ^ 5; /* SMBUS 0 START FLAG */
sbit STO = SMB0CN ^ 4; /* SMBUS 0 STOP FLAG */
sbit ACKRQ = SMB0CN ^ 3; /* */
sbit ARBLOST= SMB0CN ^ 2; /* */
sbit ACK = SMB0CN ^ 1; /* */
sbit SI = SMB0CN ^ 0; /* */
/* T2CON 0xC8 */
sbit TF2H = TMR2CN ^ 7; /* TIMER 2 OVERFLOW FLAG */
sbit TF2L = TMR2CN ^ 6; /* EXTERNAL FLAG */
sbit TF2LEN = TMR2CN ^ 5; /* RECEIVE CLOCK FLAG */
sbit T2CE = TMR2CN ^ 4; /* TRANSMIT CLOCK FLAG */
sbit T2SPLIT= TMR2CN ^ 3; /* TIMER 2 EXTERNAL ENABLE FLAG */
sbit TR2 = TMR2CN ^ 2; /* TIMER 2 ON/OFF CONTROL */
sbit T2CSS = TMR2CN ^ 1; /* TIMER OR COUNTER SELECT */
sbit T2XCLK = TMR2CN ^ 0; /* CAPTURE OR RELOAD SELECT */
/* PSW */
sbit CY = PSW ^ 7; /* CARRY FLAG */
sbit AC = PSW ^ 6; /* AUXILIARY CARRY FLAG */
sbit F0 = PSW ^ 5; /* USER FLAG 0 */
sbit RS1 = PSW ^ 4; /* REGISTER BANK SELECT 1 */
sbit RS0 = PSW ^ 3; /* REGISTER BANK SELECT 0 */
sbit OV = PSW ^ 2; /* OVERFLOW FLAG */
sbit F1 = PSW ^ 1; /* USER FLAG 1 */
sbit P = PSW ^ 0; /* ACCUMULATOR PARITY FLAG */
/* PCA0CN D8H */
sbit CF = PCA0CN ^ 7; /* PCA 0 COUNTER OVERFLOW FLAG */
sbit CR = PCA0CN ^ 6; /* PCA 0 COUNTER RUN CONTROL BIT */
sbit CCF4 = PCA0CN ^ 4; /* PCA 0 MODULE 4 INTERRUPT FLAG */
sbit CCF3 = PCA0CN ^ 3; /* PCA 0 MODULE 3 INTERRUPT FLAG */
sbit CCF2 = PCA0CN ^ 2; /* PCA 0 MODULE 2 INTERRUPT FLAG */
sbit CCF1 = PCA0CN ^ 1; /* PCA 0 MODULE 1 INTERRUPT FLAG */
sbit CCF0 = PCA0CN ^ 0; /* PCA 0 MODULE 0 INTERRUPT FLAG */
/* ADC0CN E8H */
sbit AD0EN = ADC0CN ^ 7; /* ADC 0 ENABLE */
sbit AD0TM = ADC0CN ^ 6; /* ADC 0 TRACK MODE */
sbit AD0INT = ADC0CN ^ 5; /* ADC 0 CONVERISION COMPLETE INTERRUPT FLAG */
sbit AD0BUSY = ADC0CN ^ 4; /* ADC 0 BUSY FLAG */
sbit AD0WINT = ADC0CN ^ 3; /* */
sbit AD0CM2 = ADC0CN ^ 2; /* */
sbit AD0CM1 = ADC0CN ^ 1; /* */
sbit AD0CM0 = ADC0CN ^ 0; /* */
/* SPI0CN F8H */
sbit SPIF = SPI0CN ^ 7; /* SPI 0 INTERRUPT FLAG */
sbit WCOL = SPI0CN ^ 6; /* SPI 0 WRITE COLLISION FLAG */
sbit MODF = SPI0CN ^ 5; /* SPI 0 MODE FAULT FLAG */
sbit RXOVRN = SPI0CN ^ 4; /* SPI 0 RX OVERRUN FLAG */
sbit NSSMD1 = SPI0CN ^ 3; /* */
sbit NSSMD0 = SPI0CN ^ 2; /* */
sbit TXBMT = SPI0CN ^ 1; /* */
sbit SPIEN = SPI0CN ^ 0; /* */
sbit P07 = P0^7;
sbit P06 = P0^6;
sbit P05 = P0^5;
sbit P04 = P0^4;
sbit P03 = P0^3;
sbit P02 = P0^2;
sbit P01 = P0^1;
sbit P00 = P0^0;
sbit P17 = P1 ^ 7;
sbit P16 = P1 ^ 6;
sbit P15 = P1 ^ 5;
sbit P14 = P1 ^ 4;
sbit P13 = P1 ^ 3;
sbit P12 = P1 ^ 2;
sbit P11 = P1 ^ 1;
sbit P10 = P1 ^ 0;
sbit P27 = P2^7;
sbit P26 = P2^6;
sbit P25 = P2^5;
sbit P24 = P2^4;
sbit P23 = P2^3;
sbit P22 = P2^2;
sbit P21 = P2^1;
sbit P20 = P2^0;
sbit P37 = P3 ^ 7;
sbit P36 = P3 ^ 6;
sbit P35 = P3 ^ 5;
sbit P34 = P3 ^ 4;
sbit P33 = P3 ^ 3;
sbit P32 = P3 ^ 2;
sbit P31 = P3 ^ 1;
sbit P30 = P3 ^ 0;
/*******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -