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

📄 stc89c54.h

📁 程序概述: 这是个具体产品程序
💻 H
字号:
// --------------------------------------------------------------------------
// STC89C5X.H
// Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.
// Copyright (c) 1995-1996 Keil Software, Inc.  All rights reserved.
// --------------------------------------------------------------------------

#ifndef __STC89C5X_H__
#define __STC89C5X_H__

/*------------------------------------------------
Byte Registers
------------------------------------------------*/
sfr P0        = 0x80;
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 AUXR      = 0x8E;     // STC单片机专用
sfr P1        = 0x90;
sfr SCON      = 0x98;
sfr SBUF      = 0x99;
sfr P2        = 0xA0;
sfr AUXR1     = 0xA2;     // STC单片机专用
sfr IE        = 0xA8;
sfr P3        = 0xB0;
sfr IPH       = 0xb7;     // STC单片机专用
sfr XICON     = 0xC0;	//辅助中断控制
sfr IP        = 0xB8;
sfr T2CON     = 0xC8;
sfr T2MOD     = 0xC9;
sfr RCAP2L    = 0xCA;
sfr RCAP2H    = 0xCB;
sfr TL2       = 0xCC;
sfr TH2       = 0xCD;
sfr PSW       = 0xD0;
sfr ACC       = 0xE0;
sfr WDT_CONTR = 0xE1;     // STC单片机专用,看门狗定时器特殊功能寄存器
sfr P4        = 0xE8;
//sfr P4		  = 0xC0;     //LE系列单片机专用,对于STC89C系列则:sfr P4 =0xE8 ;
sfr B         = 0xF0;

sfr WDTRST    = 0xA6;
sfr WDTPRG    = 0xA7;
/*------------------------------------------------
P0 Bit Registers
------------------------------------------------*/
sbit P0_0   = 0x80;
sbit P0_1   = 0x81;
sbit P0_2   = 0x82;
sbit P0_3   = 0x83;
sbit P0_4   = 0x84;
sbit P0_5   = 0x85;
sbit P0_6   = 0x86;
sbit P0_7   = 0x87;

/*------------------------------------------------
PCON Bit Values
------------------------------------------------*/
#define IDL_    0x01

#define STOP_   0x02
#define PD_     0x02    /* Alternate definition */

#define GF0_    0x04
#define GF1_    0x08
#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;

/*------------------------------------------------
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   = 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;

sbit T2     = 0x90;       /* External input to Timer/Counter 2, clock out */
sbit T2EX   = 0x91;       /* Timer/Counter 2 capture/reload trigger & dir ctl */

/*------------------------------------------------
SCON Bit Registers
------------------------------------------------*/
sbit RI     = 0x98;
sbit TI     = 0x99;
sbit RB8    = 0x9A;
sbit TB8    = 0x9B;
sbit REN    = 0x9C;
sbit SM2    = 0x9D;
sbit SM1    = 0x9E;
sbit SM0    = 0x9F;

/*------------------------------------------------
P2 Bit Registers
------------------------------------------------*/
sbit P2_0   = 0xA0;
sbit P2_1   = 0xA1;
sbit P2_2   = 0xA2;
sbit P2_3   = 0xA3;
sbit P2_4   = 0xA4;
sbit P2_5   = 0xA5;
sbit P2_6   = 0xA6;
sbit P2_7   = 0xA7;

/*------------------------------------------------
IE Bit Registers
------------------------------------------------*/
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 ET2    = 0xAD;       /* 1=Enable Timer 2 interrupt */

sbit EA     = 0xAF;       /* 0=Disable all interrupts */

/*------------------------------------------------
P3 Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
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 T1     = 0xB5;       /* Timer 1 external input */
sbit WR     = 0xB6;       /* Ext.ernal data memory write strobe */
sbit RD     = 0xB7;       /* External data memory read strobe */

/*------------------------------------------------
IP Bit Registers
------------------------------------------------*/
sbit PX0    = 0xB8;
sbit PT0    = 0xB9;
sbit PX1    = 0xBA;
sbit PT1    = 0xBB;
sbit PS     = 0xBC;
sbit PT2    = 0xBD;

/*------------------------------------------------
T2CON Bit Registers
------------------------------------------------*/
sbit CP_RL2 = 0xC8;      /* 0=Reload, 1=Capture select */
sbit C_T2   = 0xC9;       /* 0=Timer, 1=Counter */
sbit TR2    = 0xCA;       /* 0=Stop timer, 1=Start timer */
sbit EXEN2  = 0xCB;       /* Timer 2 external enable */
sbit TCLK   = 0xCC;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
sbit RCLK   = 0xCD;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
sbit EXF2   = 0xCE;       /* Timer 2 external flag */
sbit TF2    = 0xCF;       /* Timer 2 overflow flag */

/*------------------------------------------------
T2MOD Bit Values
------------------------------------------------*/
#define DCEN_   0x01    /* 1=Timer 2 can be configured as up/down counter */
#define T2OE_   0x02    /* Timer 2 output enable */

/*------------------------------------------------
PSW Bit Registers
------------------------------------------------*/
sbit P      = 0xD0;
sbit FL     = 0xD1;
sbit OV     = 0xD2;
sbit RS0    = 0xD3;
sbit RS1    = 0xD4;
sbit F0     = 0xD5;
sbit AC     = 0xD6;
sbit CY     = 0xD7;

/*------------------------------------------------
P4 Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit P4_0   = P4^0;
sbit P4_1   = P4^1;
sbit P4_2   = P4^2;
sbit P4_3   = P4^3;

/*------------------------------------------------
IPH Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit PX0H	= 0xB7;
sbit PT0H	= 0xB8;
sbit PX1H	= 0xB9;
sbit PT1H	= 0xBA;
sbit PSH	= 0xBB;
sbit PT2H	= 0xBC;
sbit PX2H	= 0xBD;
sbit PX3H	= 0xBE;
/*------------------------------------------------
XICON Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit IT2	= 0xC0;
sbit IE2	= 0xC1;
sbit EX2	= 0xC2;
sbit PX2	= 0xC3;
sbit IT3	= 0xC4;
sbit IE3	= 0xC5;
sbit EX3	= 0xC6;
sbit PX3	= 0xC7;
/*------------------------------------------------
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 */
#define EX2_VECTOR	5  /* 0x2B External Interrupt 2 */

#define IE2_VECTOR	6  /* 0x33 External Interrupt 2 */
//#define IE1_VECTOR	7  /* 0x3B External Interrupt 3 */

/*------------------------------------------------
------------------------------------------------*/
#endif // __STC89C5X_H__
/*------------------------ Nothing Below This Line --------------------------*/

⌨️ 快捷键说明

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