📄 stc89c54rd+.h
字号:
/*--------------------------------------------------------------------------
REG52.H
Header file for generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __REG52_H__
#define __REG52_H__
/* BYTE Registers */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
//stc89c54rd+ extensions
sfr P4 = 0xE8;
sfr AUXR = 0x8E;
sfr AUXR1 = 0xA2;
sfr IPH = 0xB7;
sfr XICON = 0xC0;
sfr SADEN = 0xB9;
sfr SADDR = 0xA9;
sfr T2MOD = 0xC9;
sfr WDT_CONTR = 0xE1;
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 PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
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 IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
/* BIT Registers */
/* PSW */
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; //8052 only
/* TCON */
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;
/* IE */
sbit EA = IE^7;
sbit ET2 = IE^5; //8052 only
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
/* IP */
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
/* P3 */
sbit RD = P3^7;
sbit WR = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;
/* SCON */
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;
/* P1 */
sbit T2EX = P1^1; // 8052 only
sbit T2 = P1^0; // 8052 only
/* T2CON */
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;
//STC89C54RD+ EXTENSIONS
/* XICON */
//sbit PX3 = XICON^7;
//sbit EX3 = XICON^6;
//sbit IE3 = XICON^5;
//sbit IT3 = XICON^4;
//sbit PX2 = XICON^3;
//sbit EX2 = XICON^2;
//sbit IE2 = XICON^1;
//sbit IT2 = XICON^0;
/* IPH */
//sbit PX3H = IPH^7;
//sbit PX2H = IPH^6;
//sbit PT2H = IPH^5;
//sbit PSH = IPH^4;
//sbit PT1H = IPH^3;
//sbit PX1H = IPH^2;
//sbit PT0H = IPH^1;
//sbit PX0H = IPH^0;
/* AUXR */
//sbit EXTRAM = AUXR^1;
//sbit ALEOFF = AUXR^0;
/* AUXR1 */
//sbit DPS = AUXR1^0
/* WDT_CONTR */
//sbit EN_WDT = WDT_CONTR^5;
//sbit CLR_WDT = WDT_CONTR^4;
//sbit IDLE_WDT = WDT_CONTR^3;
//sbit PS2 = WDT_CONTR^2;
//sbit PS1 = WDT_CONTR^1;
//sbit PS0 = WDT_CONTR^0;
/* ISP_CMD */
//sbit MS2 = ISP_CMD^2;
//sbit MS1 = ISP_CMD^1;
//sbit MS0 = ISP_CMD^0;
/* ISP_CONTR */
//sbit ISPEN = ISP_CONTR^7;
//sbit SWBS = ISP_CONTR^6;
//sbit SWRST = ISP_CONTR^5;
//sbit WT2 = ISP_CONTR^2;
//sbit WT1 = ISP_CONTR^1;
//sbit WT0 = ISP_CONTR^0;
/*------------------------------------------------
Interrupt Vectors:
Interrupt Address = (Number * 8) + 3
------------------------------------------------*/
#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 SIO_VECTOR 4 /* 0x23 Serial port */
#define TF2_VECTOR 5 /* 0x2B Timer 2 */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -