uploaded files
This commit is contained in:
236
src/STC15F2K60S2.H
Normal file
236
src/STC15F2K60S2.H
Normal file
@@ -0,0 +1,236 @@
|
||||
#ifndef __STC15F2K60S2_H_
|
||||
#define __STC15F2K60S2_H_
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
// After including this header file, it is not necessary to include "REG51.H" separately
|
||||
|
||||
// Core Special Function Registers // Reset Value Description
|
||||
sfr ACC = 0xE0; // 0000,0000 Accumulator
|
||||
sfr B = 0xF0; // 0000,0000 B Register
|
||||
sfr PSW = 0xD0; // 0000,0000 Program Status Word
|
||||
sbit CY = PSW^7;
|
||||
sbit AC = PSW^6;
|
||||
sbit F0 = PSW^5;
|
||||
sbit RS1 = PSW^4;
|
||||
sbit RS0 = PSW^3;
|
||||
sbit OV = PSW^2;
|
||||
sbit P = PSW^0;
|
||||
sfr SP = 0x81; // 0000,0111 Stack Pointer
|
||||
sfr DPL = 0x82; // 0000,0000 Data Pointer Low Byte
|
||||
sfr DPH = 0x83; // 0000,0000 Data Pointer High Byte
|
||||
|
||||
// I/O Port Special Function Registers
|
||||
sfr P0 = 0x80; // 1111,1111 Port 0
|
||||
sbit P00 = P0^0;
|
||||
sbit P01 = P0^1;
|
||||
sbit P02 = P0^2;
|
||||
sbit P03 = P0^3;
|
||||
sbit P04 = P0^4;
|
||||
sbit P05 = P0^5;
|
||||
sbit P06 = P0^6;
|
||||
sbit P07 = P0^7;
|
||||
sfr P1 = 0x90; // 1111,1111 Port 1
|
||||
sbit P10 = P1^0;
|
||||
sbit P11 = P1^1;
|
||||
sbit P12 = P1^2;
|
||||
sbit P13 = P1^3;
|
||||
sbit P14 = P1^4;
|
||||
sbit P15 = P1^5;
|
||||
sbit P16 = P1^6;
|
||||
sbit P17 = P1^7;
|
||||
sfr P2 = 0xA0; // 1111,1111 Port 2
|
||||
sbit P20 = P2^0;
|
||||
sbit P21 = P2^1;
|
||||
sbit P22 = P2^2;
|
||||
sbit P23 = P2^3;
|
||||
sbit P24 = P2^4;
|
||||
sbit P25 = P2^5;
|
||||
sbit P26 = P2^6;
|
||||
sbit P27 = P2^7;
|
||||
sfr P3 = 0xB0; // 1111,1111 Port 3
|
||||
sbit P30 = P3^0;
|
||||
sbit P31 = P3^1;
|
||||
sbit P32 = P3^2;
|
||||
sbit P33 = P3^3;
|
||||
sbit P34 = P3^4;
|
||||
sbit P35 = P3^5;
|
||||
sbit P36 = P3^6;
|
||||
sbit P37 = P3^7;
|
||||
sfr P4 = 0xC0; // 1111,1111 Port 4
|
||||
sbit P40 = P4^0;
|
||||
sbit P41 = P4^1;
|
||||
sbit P42 = P4^2;
|
||||
sbit P43 = P4^3;
|
||||
sbit P44 = P4^4;
|
||||
sbit P45 = P4^5;
|
||||
sbit P46 = P4^6;
|
||||
sbit P47 = P4^7;
|
||||
sfr P5 = 0xC8; // xxxx,1111 Port 5
|
||||
sbit P50 = P5^0;
|
||||
sbit P51 = P5^1;
|
||||
sbit P52 = P5^2;
|
||||
sbit P53 = P5^3;
|
||||
sbit P54 = P5^4;
|
||||
sbit P55 = P5^5;
|
||||
sbit P56 = P5^6;
|
||||
sbit P57 = P5^7;
|
||||
sfr P6 = 0xE8; // 0000,0000 Port 6
|
||||
sbit P60 = P6^0;
|
||||
sbit P61 = P6^1;
|
||||
sbit P62 = P6^2;
|
||||
sbit P63 = P6^3;
|
||||
sbit P64 = P6^4;
|
||||
sbit P65 = P6^5;
|
||||
sbit P66 = P6^6;
|
||||
sbit P67 = P6^7;
|
||||
sfr P7 = 0xF8; // 0000,0000 Port 7
|
||||
sbit P70 = P7^0;
|
||||
sbit P71 = P7^1;
|
||||
sbit P72 = P7^2;
|
||||
sbit P73 = P7^3;
|
||||
sbit P74 = P7^4;
|
||||
sbit P75 = P7^5;
|
||||
sbit P76 = P7^6;
|
||||
sbit P77 = P7^7;
|
||||
sfr P0M0 = 0x94; // 0000,0000 Port 0 Mode Register 0
|
||||
sfr P0M1 = 0x93; // 0000,0000 Port 0 Mode Register 1
|
||||
sfr P1M0 = 0x92; // 0000,0000 Port 1 Mode Register 0
|
||||
sfr P1M1 = 0x91; // 0000,0000 Port 1 Mode Register 1
|
||||
sfr P2M0 = 0x96; // 0000,0000 Port 2 Mode Register 0
|
||||
sfr P2M1 = 0x95; // 0000,0000 Port 2 Mode Register 1
|
||||
sfr P3M0 = 0xB2; // 0000,0000 Port 3 Mode Register 0
|
||||
sfr P3M1 = 0xB1; // 0000,0000 Port 3 Mode Register 1
|
||||
sfr P4M0 = 0xB4; // 0000,0000 Port 4 Mode Register 0
|
||||
sfr P4M1 = 0xB3; // 0000,0000 Port 4 Mode Register 1
|
||||
sfr P5M0 = 0xCA; // 0000,0000 Port 5 Mode Register 0
|
||||
sfr P5M1 = 0xC9; // 0000,0000 Port 5 Mode Register 1
|
||||
sfr P6M0 = 0xCC; // 0000,0000 Port 6 Mode Register 0
|
||||
sfr P6M1 = 0xCB; // 0000,0000 Port 6 Mode Register 1
|
||||
sfr P7M0 = 0xE2; // 0000,0000 Port 7 Mode Register 0
|
||||
sfr P7M1 = 0xE1; // 0000,0000 Port 7 Mode Register 1
|
||||
|
||||
// System Management Special Function Registers
|
||||
sfr PCON = 0x87; // 0001,0000 Power Control Register
|
||||
sfr AUXR = 0x8E; // 0000,0000 Auxiliary Register
|
||||
sfr AUXR1 = 0xA2; // 0000,0000 Auxiliary Register 1
|
||||
sfr P_SW1 = 0xA2; // 0000,0000 Peripheral Port Switch Register 1
|
||||
sfr CLK_DIV = 0x97; // 0000,0000 Clock Divider Control Register
|
||||
sfr BUS_SPEED = 0xA1; // xx10,x011 Bus Speed Control Register
|
||||
sfr P1ASF = 0x9D; // 0000,0000 Port 1 Analog Function Config Register
|
||||
sfr P_SW2 = 0xBA; // xxxx,x000 Peripheral Port Switch Register 2
|
||||
|
||||
// Interrupt Special Function Registers
|
||||
sfr IE = 0xA8; // 0000,0000 Interrupt Control Register
|
||||
sbit EA = IE^7;
|
||||
sbit ELVD = IE^6;
|
||||
sbit EADC = IE^5;
|
||||
sbit ES = IE^4;
|
||||
sbit ET1 = IE^3;
|
||||
sbit EX1 = IE^2;
|
||||
sbit ET0 = IE^1;
|
||||
sbit EX0 = IE^0;
|
||||
sfr IP = 0xB8; // 0000,0000 Interrupt Priority Register
|
||||
sbit PPCA = IP^7;
|
||||
sbit PLVD = IP^6;
|
||||
sbit PADC = IP^5;
|
||||
sbit PS = IP^4;
|
||||
sbit PT1 = IP^3;
|
||||
sbit PX1 = IP^2;
|
||||
sbit PT0 = IP^1;
|
||||
sbit PX0 = IP^0;
|
||||
sfr IE2 = 0xAF; // 0000,0000 Interrupt Control Register 2
|
||||
sfr IP2 = 0xB5; // xxxx,xx00 Interrupt Priority Register 2
|
||||
sfr INT_CLKO = 0x8F; // 0000,0000 External Interrupt and Clock Output Control Register
|
||||
|
||||
// Timer Special Function Registers
|
||||
sfr TCON = 0x88; // 0000,0000 T0/T1 Control Register
|
||||
sbit TF1 = TCON^7;
|
||||
sbit TR1 = TCON^6;
|
||||
sbit TF0 = TCON^5;
|
||||
sbit TR0 = TCON^4;
|
||||
sbit IE1 = TCON^3;
|
||||
sbit IT1 = TCON^2;
|
||||
sbit IE0 = TCON^1;
|
||||
sbit IT0 = TCON^0;
|
||||
sfr TMOD = 0x89; // 0000,0000 T0/T1 Mode Register
|
||||
sfr TL0 = 0x8A; // 0000,0000 T0 Low Byte
|
||||
sfr TL1 = 0x8B; // 0000,0000 T1 Low Byte
|
||||
sfr TH0 = 0x8C; // 0000,0000 T0 High Byte
|
||||
sfr TH1 = 0x8D; // 0000,0000 T1 High Byte
|
||||
sfr T4T3M = 0xD1; // 0000,0000 T3/T4 Mode Register
|
||||
sfr T3T4M = 0xD1; // 0000,0000 T3/T4 Mode Register
|
||||
sfr T4H = 0xD2; // 0000,0000 T4 High Byte
|
||||
sfr T4L = 0xD3; // 0000,0000 T4 Low Byte
|
||||
sfr T3H = 0xD4; // 0000,0000 T3 High Byte
|
||||
sfr T3L = 0xD5; // 0000,0000 T3 Low Byte
|
||||
sfr T2H = 0xD6; // 0000,0000 T2 High Byte
|
||||
sfr T2L = 0xD7; // 0000,0000 T2 Low Byte
|
||||
sfr WKTCL = 0xAA; // 0000,0000 Power-down Wake-up Timer Low Byte
|
||||
sfr WKTCH = 0xAB; // 0000,0000 Power-down Wake-up Timer High Byte
|
||||
sfr WDT_CONTR = 0xC1; // 0000,0000 Watchdog Timer Control Register
|
||||
|
||||
// Serial Port Special Function Registers
|
||||
sfr SCON = 0x98; // 0000,0000 Serial Port 1 Control Register
|
||||
sbit SM0 = SCON^7;
|
||||
sbit SM1 = SCON^6;
|
||||
sbit SM2 = SCON^5;
|
||||
sbit REN = SCON^4;
|
||||
sbit TB8 = SCON^3;
|
||||
sbit RB8 = SCON^2;
|
||||
sbit TI = SCON^1;
|
||||
sbit RI = SCON^0;
|
||||
sfr SBUF = 0x99; // xxxx,xxxx Serial Port 1 Data Register
|
||||
sfr S2CON = 0x9A; // 0000,0000 Serial Port 2 Control Register
|
||||
sfr S2BUF = 0x9B; // xxxx,xxxx Serial Port 2 Data Register
|
||||
sfr S3CON = 0xAC; // 0000,0000 Serial Port 3 Control Register
|
||||
sfr S3BUF = 0xAD; // xxxx,xxxx Serial Port 3 Data Register
|
||||
sfr S4CON = 0x84; // 0000,0000 Serial Port 4 Control Register
|
||||
sfr S4BUF = 0x85; // xxxx,xxxx Serial Port 4 Data Register
|
||||
sfr SADDR = 0xA9; // 0000,0000 Slave Address Register
|
||||
sfr SADEN = 0xB9; // 0000,0000 Slave Address Mask Register
|
||||
|
||||
// ADC Special Function Registers
|
||||
sfr ADC_CONTR = 0xBC; // 0000,0000 A/D Conversion Control Register
|
||||
sfr ADC_RES = 0xBD; // 0000,0000 A/D Conversion Result High 8 Bits
|
||||
sfr ADC_RESL = 0xBE; // 0000,0000 A/D Conversion Result Low 2 Bits
|
||||
|
||||
// SPI Special Function Registers
|
||||
sfr SPSTAT = 0xCD; // 00xx,xxxx SPI Status Register
|
||||
sfr SPCTL = 0xCE; // 0000,0100 SPI Control Register
|
||||
sfr SPDAT = 0xCF; // 0000,0000 SPI Data Register
|
||||
|
||||
// IAP/ISP Special Function Registers
|
||||
sfr IAP_DATA = 0xC2; // 0000,0000 EEPROM Data Register
|
||||
sfr IAP_ADDRH = 0xC3; // 0000,0000 EEPROM Address High Byte
|
||||
sfr IAP_ADDRL = 0xC4; // 0000,0000 EEPROM Address Low Byte
|
||||
sfr IAP_CMD = 0xC5; // xxxx,xx00 EEPROM Command Register
|
||||
sfr IAP_TRIG = 0xC6; // 0000,0000 EEPROM Command Trigger Register
|
||||
sfr IAP_CONTR = 0xC7; // 0000,x000 EEPROM Control Register
|
||||
|
||||
// PCA/PWM Special Function Registers
|
||||
sfr CCON = 0xD8; // 00xx,xx00 PCA Control Register
|
||||
sbit CF = CCON^7;
|
||||
sbit CR = CCON^6;
|
||||
sbit CCF2 = CCON^2;
|
||||
sbit CCF1 = CCON^1;
|
||||
sbit CCF0 = CCON^0;
|
||||
sfr CMOD = 0xD9; // 0xxx,x000 PCA Work Mode Register
|
||||
sfr CL = 0xE9; // 0000,0000 PCA Counter Low Byte
|
||||
sfr CH = 0xF9; // 0000,0000 PCA Counter High Byte
|
||||
sfr CCAPM0 = 0xDA; // 0000,0000 PCA Module 0 PWM Register
|
||||
sfr CCAPM1 = 0xDB; // 0000,0000 PCA Module 1 PWM Register
|
||||
sfr CCAPM2 = 0xDC; // 0000,0000 PCA Module 2 PWM Register
|
||||
sfr CCAP0L = 0xEA; // 0000,0000 PCA Module 0 Capture/Compare Register Low Byte
|
||||
sfr CCAP1L = 0xEB; // 0000,0000 PCA Module 1 Capture/Compare Register Low Byte
|
||||
sfr CCAP2L = 0xEC; // 0000,0000 PCA Module 2 Capture/Compare Register Low Byte
|
||||
sfr PCA_PWM0 = 0xF2; // xxxx,xx00 PCA Module 0 PWM Register
|
||||
sfr PCA_PWM1 = 0xF3; // xxxx,xx00 PCA Module 1 PWM Register
|
||||
sfr PCA_PWM2 = 0xF4; // xxxx,xx00 PCA Module 2 PWM Register
|
||||
sfr CCAP0H = 0xFA; // 0000,0000 PCA Module 0 Capture/Compare Register High Byte
|
||||
sfr CCAP1H = 0xFB; // 0000,0000 PCA Module 1 Capture/Compare Register High Byte
|
||||
sfr CCAP2H = 0xFC; // 0000,0000 PCA Module 2 Capture/Compare Register High Byte
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user