⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stc12c4052ad.h

📁 利用stc12c4052AD单片机
💻 H
字号:
/*------------------------------------------------
STC12C4052AD.h
------------------------------------------------*/
#define  CLKXTAL   30 //(MHZ)
//special registers
sfr SP      = 0x81;
sfr DPL     = 0x82;
sfr DPH     = 0x83;
sfr PCON    = 0x87;
sfr TCON    = 0x88;
sfr TMOD    = 0x89;
sfr TL0     = 0x8A;
sfr TL1     = 0x8B;
sfr TH0     = 0x8C;
sfr TH1     = 0x8D;
sfr SCON    = 0x98;
sfr SBUF    = 0x99;
sfr IE      = 0xA8;
sfr IPH        = 0XB7;    
sfr IP      = 0xB8;
sfr PSW     = 0xD0;
sfr ACC     = 0xE0;
sfr B       = 0xF0;

sfr P1      = 0x90;
sfr P1M0    = 0x91;
sfr P1M1    = 0x92;
sfr P3      = 0xB0;
sfr P3M0    = 0xB1;
sfr P3M1    = 0xB2;
sfr ISP_DATA    = 0XE2;
sfr ISP_ADDRH    = 0XE3;
sfr ISP_ADDRL    = 0XE4;
sfr ISP_CMD    = 0XE5;
sfr ISP_TRIG    = 0XE6;
sfr ISP_CONTR    = 0XE7;
sfr AUXR    = 0X8E;
sfr CLK_DIV    = 0XC7;
sfr WDT_CONTR    = 0XE1;
sfr SADDR    = 0XA9;
sfr SADEN    = 0XB9;
sfr SPI_STATUS    = 0X84;
sfr SPI_CONTR    = 0X85;
sfr SPI_DATA    = 0X86;
sfr ADC_CONTR    = 0XC5;
sfr ADC_DATA    = 0XC6;
sfr CCON    = 0XD8;
sfr CMOD    = 0XD9;
sfr CH        = 0XF9;
sfr CL        = 0XE9;
sfr CCAPM0    = 0XDA;
sfr CCAP0H    = 0XFA;
sfr CCAP0L    = 0XEA;
sfr PCA_PWM0    = 0XF2;
sfr CCAPM1    = 0XDB;
sfr CCAP1H    = 0XFB;
sfr CCAP1L    = 0XEB;
sfr PCA_PWM1    = 0XF3;

/*------------------------------------------------
PCON Bit Values
-----------------------------------------------
#define IDL    0x01
#define STOP   0x02
#define EWT    0x04
#define EPFW   0x08
#define WTR    0x10
#define PFW    0x20
#define POR    0x40-*/
#define SMOD   0x80  //一般只用这一个

//TCON Bit Registers
sbit IT0  = 0x88;
sbit IE0  = 0x89;
sbit IT1  = 0x8A;
sbit IE1  = 0x8B;
sbit TR0  = 0x8C;
sbit TF0  = 0x8D;
sbit TR1  = 0x8E;
sbit TF1  = 0x8F;

//P1
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
sbit P1_2 = 0x92;
sbit P1_3 = 0x93;
sbit P1_4 = 0x94;
sbit P1_5 = 0x95;
sbit P1_6 = 0x96;
sbit P1_7 = 0x97;
//P3
sbit P3_0 = 0xB0;
sbit P3_1 = 0xB1;
sbit P3_2 = 0xB2;
sbit P3_3 = 0xB3;
sbit P3_4 = 0xB4;
sbit P3_5 = 0xB5;
sbit P3_6 = 0xB6;
sbit P3_7 = 0xB7;

//sbit RXD  = 0xB0;       /* Serial data input */
//sbit TXD  = 0xB1;       /* Serial data output */
sbit INT0 = 0xB2;       /* External interrupt 0 */
sbit INT1 = 0xB3;       /* External interrupt 1 */
sbit T0   = 0xB4;       /* Timer 0 external input */
sbit ECI  = 0xB4;       /* Timer 0 external input */
sbit T1   = 0xB5;       /* Timer 1 external input */
sbit CEX1 = 0xB5;
sbit PWM1 = 0xB5;
sbit CEX0 = 0xB7;
sbit PWM0 = 0xB7;
//ADC
#define ADC_POWER 0x80
#define ADC_FLAG  0xEF   //ADC_CONTR&
#define EADCI     0x10   //AUXR  ADC中断"|"
#define ADC_START 0x08   //"|"
#define ADC_STOP  0xF7   //"&"
  
//SPI
#define  ESPI   0x08  //AUXR 中断
sbit SS   = 0x94;
sbit MOSI = 0x95;
sbit MISO = 0x96;
sbit SCLK = 0x97;
//SCON 
sbit RI   = 0x98;
sbit TI   = 0x99;
sbit RB8  = 0x9A;
sbit TB8  = 0x9B;
sbit REN  = 0x9C;
sbit SM2  = 0x9D;
sbit SM1  = 0x9E;
sbit SM0  = 0x9F;
//IE 
sbit EX0  = 0xA8;       /* 1=Enable External interrupt 0 */
sbit ET0  = 0xA9;       /* 1=Enable Timer 0 interrupt */
sbit EX1  = 0xAA;       /* 1=Enable External interrupt 1 */
sbit ET1  = 0xAB;       /* 1=Enable Timer 1 interrupt */
sbit ES   = 0xAC;       /* 1=Enable Serial port interrupt */
sbit EADC_SPI  = 0xAD;       /* 1=Enable ADC_SPI */
sbit EPCA_LVD  = 0xAE;       /*1=Enable PCA_LVD*/
sbit EA   = 0xAF;       /* 0=Disable all interrupts */
//IP 
sbit PX0  = 0xB8;
sbit PT0  = 0xB9;
sbit PX1  = 0xBA;
sbit PT1  = 0xBB;
sbit PS   = 0xBC;
//PSW 
sbit P    = 0xD0;
sbit FL   = 0xD1;
sbit OV   = 0xD2;
sbit RS0  = 0xD3;
sbit RS1  = 0xD4;
sbit F0   = 0xD5;
sbit AC   = 0xD6;
sbit CY   = 0xD7;

//CCON 
sbit CCF0 = 0xD8;
sbit CCF1 = 0xD9;
sbit CR   = 0xDE;
sbit CF   = 0xDF;
//Interrupt Vectors:
#define IE0_VECTOR    0  // 0x03 External interrupt 0 
#define TF0_VECTOR    1  // 0x0B Timer 0 
#define IE1_VECTOR    2  // 0x13 External interrupt 1 
#define TF1_VECTOR    3  // 0x1B Timer 1 
#define SCI_VECTOR    4  // 0x23 Serial port 
#define ADC_VECTOR    5

//Com
#define BUFFSIZE  16
//data type
#define BOOL  unsigned char 
#define BYTE  unsigned char
#define Uint16  unsigned int
#define Uint8  unsigned char
#define TRUE  1
#define FALSE 0



























⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -