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

📄 stc12c2052ad.h

📁 stc12c2052AD头文件,用KEIL时直接找不到STC这个型号的.
💻 H
📖 第 1 页 / 共 2 页
字号:
    CCAPM0^2(TOG0).........    翻转。当TOG0= 1时, PCA计数值与模块的比较/捕获寄
                            存器的值的匹配将使CEXn脚翻转。(CEX0/P3.7)
    CCAPM0^1(PWM0)......... 脉宽调节模式。当PWM0= 1时, 使能CEXn脚用作脉宽调
                            节输出。
    CCAPM0^0(ECCF0)........ 使能CCF0中断。使能寄存器CCON的比较/捕获标志CCF0, 
                            用来产生中断。
使用的机种基本模式组合:
 ECOM0 CAPP0 CAPN0 MAT0    TOG0 PWM0 ECCF0            模块功能
    0    0      0        0    0     0        0        无此操作
    X    1      0        0    0     0        X        16位捕获模式,由CEX0的上升沿触发
    X    0      1        0    0     0        X        16位捕获模式,由CEX0的下降沿触发
    X    1      1        0    0     0        X        16位捕获模式,由CEX0的跳变触发
    1    0      0        1    0     0        X        16位软件定时器
    1    0      0        1    1     0        X        16位高速输出
    1    0      0        0    0     1        0        8位PWM
*/
sfr CCAP0H   =0XFA;        /* 当出现捕获或比较时,它们用来保存16 位的计数值。
                               当PCA 模块用在PWM 模式中时,它们用来控制输出的
                               占空比。CCAP0H.CCAP0L分别为高低8位,组合使用    */
sfr CCAP0L   =0XEA;
sfr PCA_PWM0 =0XF2;        /* PWM下9位数的最高位
                                PCA_PWM0^1(EPC0H)....在PWM模式下,与CCAP0H组成9位数
                                PCA_PWM0^0(EPC0L)....在PWM模式下,与CCAP0L组成9位数
                            */
sfr CCAPM1  =0XDB;        /* PCA 比较/ 捕获模块寄存器1,支持位寻址定义在后面 */
/*
    CCAPM1^7保留
    CCAPM1^6(ECOM1)........ 使能比较器。ECOM1= 1时使能比较器功能。
    CCAPM1^5(CAPP1)........ 正捕获。CAPP1= 1时使能上升沿捕获。
    CCAPM1^4(CAPN1)........ 负捕获。CAPN1= 1时使能下降沿捕获。
    CCAPM1^3(MAT1)......... 匹配。当MAT1= 1时, PCA计数值与模块的比较/捕获寄
                            存器的值的匹配将置位CCON寄存器的中断标志位CCF1。
    CCAPM1^2(TOG1).........    翻转。当TOG1= 1时, PCA计数值与模块的比较/捕获寄
                            存器的值的匹配将使CEXn脚翻转。(CEX1/P3.5)
    CCAPM1^1(PWM1)......... 脉宽调节模式。当PWMn= 1时, 使能CEXn脚用作脉宽调
                            节输出。
    CCAPM1^0(ECCF1)........ 使能CCF1中断。使能寄存器CCON的比较/捕获标志CCF1, 
                            用来产生中断。

使用的机种基本模式组合:
 ECOM1 CAPP1 CAPN1 MAT1    TOG1 PWM1 ECCF1            模块功能
    0    0      0        0    0     0        0        无此操作
    X    1      0        0    0     0        X        16位捕获模式,由CEX1的上升沿触发
    X    0      1        0    0     0        X        16位捕获模式,由CEX1的下降沿触发
    X    1      1        0    0     0        X        16位捕获模式,由CEX1的跳变触发
    1    0      0        1    0     0        X        16位软件定时器
    1    0      0        1    1     0        X        16位高速输出
    1    0      0        0    0     1        0        8位PWM
*/
sfr CCAP1H   =0XFB;        /* 当出现捕获或比较时,它们用来保存16 位的计数值。
                               当PCA 模块用在PWM 模式中时,它们用来控制输出的
                               占空比。CCAP1H.CCAP1L分别为高低8位,组合使用    */

sfr CCAP1L   =0XEB;
sfr PCA_PWM1 =0XF3;        /* PWM下9位数的最高位
                                PCA_PWM1^1(EPC1H)....在PWM模式下,与CCAP1H组成9位数
                                PCA_PWM1^0(EPC1L)....在PWM模式下,与CCAP1L组成9位数
                            */


/*------------------------------------------------
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=TCON^0;
sbit     IE0=TCON^1;
sbit     IT1=TCON^2;
sbit     IE1=TCON^3;
sbit     TR0=TCON^4;
sbit     TF0=TCON^5;
sbit     TR1=TCON^6;
sbit     TF1=TCON^7;

/*------------------------------------------------
TMOD Bit Values
------------------------------------------------*/
#define T0_M0_   0x01
#define T0_M1_   0x02
#define T0_CT_   0x04
#define T0_GATE_ 0x08
#define T1_M0_   0x10
#define T1_M1_   0x20
#define T1_CT_   0x40
#define T1_GATE_ 0x80

#define T1_MASK_ 0xF0
#define T0_MASK_ 0x0F

/*------------------------------------------------
P1 Bit Registers
------------------------------------------------*/
sbit     P1_0= P1^0;
sbit     P1_1= P1^1;
sbit     P1_2= P1^2;
sbit     P1_3= P1^3;
sbit     P1_4= P1^4;
sbit     P1_5= P1^5;
sbit     P1_6= P1^6;
sbit     P1_7= P1^7;

sbit     ADC0= P1^0;       /* + Analog input */
sbit     ADC1= P1^1;       /* + Analog input */
sbit     ADC2= P1^2;       /* + Analog input */
sbit     ADC3= P1^3;       /* + Analog input */
sbit     ADC4= P1^4;       /* + Analog input */
sbit     ADC5= P1^5;       /* + Analog input */
sbit     ADC6= P1^6;       /* + Analog input */
sbit     ADC7= P1^7;       /* + Analog input */

/* SPI 专用IO */
sbit     SS  = P1^4;        /* 主从SPI选择,外部输入P1.4_atbit(0为从机*/
sbit     MOSI= P1^5;        /* 主输出/从输入    */
sbit     MISO= P1^6;        /* 主输入/从输出    */
sbit     SCLK= P1^7;        /* SPI时钟,主方输出,从方接收    */

/*------------------------------------------------
SCON Bit Registers
------------------------------------------------*/
sbit     RI  = SCON^0;
sbit     TI  = SCON^1;
sbit     RB8 = SCON^2;
sbit     TB8 = SCON^3;
sbit     REN = SCON^4;
sbit     SM2 = SCON^5;
sbit     SM1 = SCON^6;
sbit     SM0 = SCON^7;

/*------------------------------------------------
IE Bit Registers
------------------------------------------------*/
sbit     EX0 = IE^0;       /* 1_atbit(Enable External interrupt 0 */
sbit     ET0 = IE^1;       /* 1_atbit(Enable Timer 0 interrupt */
sbit     EX1 = IE^2;       /* 1_atbit(Enable External interrupt 1 */
sbit     ET1 = IE^3;       /* 1_atbit(Enable Timer 1 interrupt */
sbit     ES  = IE^4;       /* 1_atbit(Enable Serial port interrupt */
sbit     ET2 = IE^5;       /* 1_atbit(Enable Timer 2 interrupt */

sbit     EA  = IE^7;       /* 0_atbit(Disable all interrupts */

/*------------------------------------------------
P3 Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit     P3_0= P3^0;
sbit     P3_1= P3^1;
sbit     P3_2= P3^2;
sbit     P3_3= P3^3;
sbit     P3_4= P3^4;
sbit     P3_5= P3^5;
/* P3_6 Hardwired as AOUT */
sbit     P3_7= P3^7;

sbit     RXD = P3^0;       /* Serial data input */
sbit     TXD = P3^1;       /* Serial data output */
sbit     INT0= P3^2;       /* External interrupt 0 */
sbit     INT1= P3^3;       /* External interrupt 1 */
sbit     T0  = P3^4;       /* Timer 0 外部时钟输入口P3.4 */
sbit     ECI = P3^4;       /* PCA计数器阵列的可选外部时钟输入口P3.4 */
sbit     T1  = P3^5;       /* Timer 1 外部时钟输入口P3.5 */
sbit     CEX1= P3^5;        /* PCA计数器与模块的比较/捕获寄存器的值的匹配时的输出口*/
sbit     PWM1= P3^5;        /* PWM方式时PWM1的输出口P3.5/PCA1反相输出*/
sbit     CEX0= P3^7;        /* PCA计数器与模块的比较/捕获寄存器的值的匹配时的输出口*/
sbit     PWM0= P3^7;        /* PWM方式时PWM0的输出口P3.7/PCA0反相输出*/

/*------------------------------------------------
IP 中断优先级寄存器低8位
------------------------------------------------*/
sbit     PX0 = IP^0;        /* 外部中断0 P3.2    */
sbit     PT0 = IP^1;        /* 定时计数器0中断    */
sbit     PX1 = IP^2;        /* 外部中断1 P3.3    */
sbit     PT1 = IP^3;        /* 定时计数器1中断    */
sbit     PS  = IP^4;        /* 通信中断RI或TI    */

/*------------------------------------------------
PSW Bit Registers
------------------------------------------------*/
sbit     P   = PSW^0;
sbit     FL  = PSW^1;
sbit     OV  = PSW^2;
sbit     RS0 = PSW^3;
sbit     RS1 = PSW^4;
sbit     F0  = PSW^5;
sbit     AC  = PSW^6;
sbit     CY  = PSW^7;

/*------------------------------------------------
PCA 控制寄存器CCON Bit Registers 
------------------------------------------------*/
sbit     CCF0= CCON^0;    /*PCA模块0中断标志。当出现匹配或捕获时该位由硬件置位。
                      该位必须通过软件清零。*/
sbit     CCF1= CCON^1;    /*PCA模块1中断标志。当出现匹配或捕获时该位由硬件置位。
                      该位必须通过软件清零。*/
sbit     CR  = CCON^6;    /*PCA计数器阵列运行控制位。该位通过软件置位, 用来起
                      动PCA计数器阵列计数。该位通过软件清零, 用来关闭
                      PCA计数器。*/
sbit     CF  = CCON^7;    /*PCA计数器阵列溢出标志。计数值翻转时该位由硬件置位。
                      如果CMOD寄存器的ECF位置位, CF标志可用来产生中断。
                      CF位可通过硬件或软件置位, 但只可通过软件清零。*/

⌨️ 快捷键说明

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