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

📄 stc89c54rd.h

📁 RTL8019以太网开发板资料
💻 H
📖 第 1 页 / 共 2 页
字号:
/* ............................................................................................ */
sfr     P3          =   0xb0;   /* 通用I/O口;第二功能.复位值:11111111b */

sbit    P3_7        =   P3^7;   /* RD,读外部RAM */
sbit    P3_6        =   P3^6;   /* WR,写外部RAM */
sbit    P3_5        =   P3^5;   /* T1,定时器/计数器1外部输入 */
sbit    P3_4        =   P3^4;   /* T0,定时器/计数器0外部输入 */
sbit    P3_3        =   P3^3;   /* INT1,外部中断1输入 */
sbit    P3_2        =   P3^2;   /* INT0,外部中断0输入 */
sbit    P3_1        =   P3^1;   /* TxD,串口0输出 */
sbit    P3_0        =   P3^0;   /* RxD,串口0输入 */
/* ............................................................................................ */
sfr     IPH         =   0xb7;   /* 中断优先级.复位值:x0000000b */

#define IPH_REV7        0x80    /* 保留 */
#define PPCH            0x40    /* 保留 */
#define PT2H            0x20    /* TIME2优先级高位 */
#define PSHH            0x10    /* 串口优先级高位 */
#define PT1H            0x08    /* time1优先级高位 */
#define PX1H            0x04    /* 外部中断1优先级高位 */
#define PT0H            0x02    /* time0优先级高位 */
#define PX0H            0x01    /* 外部中断0优先级高位 */ 
/* ............................................................................................ */
sfr     IP          =   0xb8;   /* 中断优先级寄存器.复位值:x0000000b */

sbit    IP_REV7     =   IP^7;   /* 保留 */
sbit    PPC         =   IP^6;   /* 保留 */
sbit    PT2         =   IP^5;   /* TIME2优先级低位 */
sbit    PS          =   IP^4;   /* 串口优先级低位 */
sbit    PT1         =   IP^3;   /* time1优先级低位 */
sbit    PX1         =   IP^2;   /* 外部中断1优先级低位 */
sbit    PT0         =   IP^1;   /* time0优先级低位 */
sbit    PX0         =   IP^0;   /* 外部中断0优先级低位 */ 
/* ............................................................................................ */
sfr     SADEN       =   0xb9;   /* 串口0的自动地址识别屏蔽字节.复位值:00000000b */
/* ............................................................................................ */
sfr     XICON       =   0xc0;   /* 通用I/O口.复位值:11111111b */

/* ............................................................................................ */
sfr     T2CON       =   0xc8;   /* 复位值:00000000b */          

sbit    TF2         =   T2CON^7;/* timer2溢出标志位.RCLK,TCLK为零时,溢出时硬件置位 */
sbit    EXF2        =   T2CON^6;/* timer2的外部标志. 如果EXEN2为1,一个负信号在P1.1,或timer2溢出时置位,
                                   必须软件清零.在计数模式不会引起中断 */
sbit    RCLK        =   T2CON^5;/* 接收时钟标志. 1:作为串口波特率产生器; 0:timer1作为串口0波特率产生器 */
sbit    TCLK        =   T2CON^4;/* 发送时钟标志. 1:作为串口波特率产生器; 0:timer1作为串口0波特率产生器 */
sbit    EXEN2       =   T2CON^3;/* timer2外部使能. 1:捕捉/重载;
                                   0:定时器模式,忽略引脚T2EX上发生的事件 */
sbit    TR2         =   T2CON^2;/* timer2运行控制. 1:timer2正常运行; 0:timer2停止运行,但保留计数值 */
sbit    CT2         =   T2CON^1;/* 计数器/定时器选择. 1:计数P1.0的脉冲; 0:作为一个定时器 */
sbit    CPRL2       =   T2CON^0;/* 捕捉/重载选择. 1:P1.1下降沿产生一个捕捉(EXEN2=1); 
                                   0:timer2溢出或P1.1产生一个下降沿就会重载(EXEN2=1). */
/* ............................................................................................ */
sfr     T2MOD       =   0xc9;   /* timer2模式控制寄存器.复位值:00000000b */ 

#define T2MOD_REV7      0x80    /* 保留 */
#define T2MOD_REV6      0x40    /* 保留 */
#define T2MOD_REV5      0x20    /* 保留 */
#define T2MOD_REV4      0x10    /* 保留 */
#define T2MOD_REV3      0x08    /* 保留 */
#define T2MOD_REV2      0x04    /* 保留 */
#define T2OE            0x02    /* 1:使能timer2时钟输出; 0:禁止timer2时钟输出 */
#define DCEN            0x01    /* 向下计数使能. 1:16位自动装载计数器的方向 */
/* ............................................................................................ */
sfr     RCAP2L      =   0xca;   /* 在捕捉模式下用于捕捉TL2的值;在重载模式下为16位重载值的低8位.复位值:00000000b */
sfr     RCAP2H      =   0xcb;   /* 在捕捉模式下用于捕捉TH2的值;在重载模式下为16位重载值的高8位.复位值:00000000b */
/* ............................................................................................ */
sfr     TL2         =   0xcc;   /* timer2 低8位.复位值:00000000b */
sfr     TH2         =   0xcd;   /* timer2 高8位.复位值:00000000b */
/* ............................................................................................ */
sfr     PSW         =   0xd0;   /* 程序状态字.复位值:00000000b */

sbit    CY          =   PSW^7;  /* 进位标志 */
sbit    AC          =   PSW^6;  /* 辅助进位标志 */
sbit    F0          =   PSW^5;  /* 用户标志0 */

sbit    RS1         =   PSW^4;  /* 00:寄存器0组; 01:寄存器1组 */
sbit    RS0         =   PSW^3;  /* 10:寄存器2组; 11:寄存器3组 */

sbit    OV          =   PSW^2;  /* 溢出标志 */
sbit    F1          =   PSW^1;  /* 用户标志1 */
sbit    P           =   PSW^0;  /* 奇偶标志位 */
/* ............................................................................................ */
sfr     ACC         =   0xe0;   /* 累加器A.复位值:00000000b */

sbit    ACC_7       =   ACC^7;
sbit    ACC_6       =   ACC^6;
sbit    ACC_5       =   ACC^5;
sbit    ACC_4       =   ACC^4;
sbit    ACC_3       =   ACC^3;
sbit    ACC_2       =   ACC^2;
sbit    ACC_1       =   ACC^1;
sbit    ACC_0       =   ACC^0;
/* ............................................................................................ */
sfr     WDTCONTR    =   0xe1;   /* 看门狗控制.复位值:xx000000b */
#define WDTCONTR_REV7   0x80    /* 保留 */
#define WDTCONTR_REV6   0x40    /* 保留 */
#define EN_WDT          0x20    /* 看门狗允许 */
#define CLR_WDT         0x10    /* 复位看门狗 */
#define IDLE_WDT        0x08    /* IDLE时看门狗使能 */
#define PS2             0x04    /* 看门狗定时 */
#define PS1             0x02    /*  */
#define PS0             0x01    /*  */
/* ............................................................................................ */
sfr     ISP_DATA    =   0xe2;    /* 数据寄存器 */
/* ............................................................................................ */
sfr     ISP_ADDRH   =   0xe3;    /* 地址寄存器高8位 */
/* ............................................................................................ */
sfr     ISP_ADDRL   =   0xe4;    /* 地址寄存器低8位 */
/* ............................................................................................ */
sfr     ISP_CMD     =   0xe5;    /* 命令寄存器 01 读flash
                                               02 写flash
                                               03 擦除flash */
sfr     ISP_TRIG    =   0xe6;    /* 命令触发寄存器 */
/* ............................................................................................ */
sfr     IS_CONTR    =   0xe7;    /* 控制寄存器 */
#define ISPEN           0x80     /* 0:禁止编程flash  1:允许编程flash */
#define SWBS            0x40     /* 0:从用户程序区启动 1:从ISP程序区启动 */
#define SWRST           0x20     /* 0:不操作 1:软件复位时硬件自动清零 */
#define IS_CONTR4       0x10     /* 保留 */
#define IS_CONTR3       0x08     /* 保留 */
#define WT2             0x04     /* CPU等待时间 000:40M  001:20M  010:10M 011:5M */
#define WT1             0x02     /*  */
#define WT0             0x01     /*  */
/* ............................................................................................ */
sfr     P4          =   0xe8;    /* P4端口 */
sbit    P4_0        =   P4^0;
sbit    P4_1        =   P4^1;
sbit    P4_2        =   P4^2;
sbit    P4_3        =   P4^3;

/* ............................................................................................ */

sfr     BCC         =   0xf0;    /* 累加器B.复位值:00000000b */

sbit    BCC_7       =   BCC^7;
sbit    BCC_6       =   BCC^6;
sbit    BCC_5       =   BCC^5;
sbit    BCC_4       =   BCC^4;
sbit    BCC_3       =   BCC^3;
sbit    BCC_2       =   BCC^2;
sbit    BCC_1       =   BCC^1;
sbit    BCC_0       =   BCC^0;


#endif
/**********************************************************************/

⌨️ 快捷键说明

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