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

📄 io8052a.h

📁 可以对北京汽车所产生的故障进行诊断的电脑解码器
💻 H
字号:
/***************************************************************************
 *                                - io8052.h -
 *
 * Special header for the _generic 8052 Microcontroller.
 *
 ***************************************************************************/

#ifndef IO8052_H
#define IO8052_H
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended

/*-------------------------------------------------------------------------
 *   MCS-51 Core
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile union
{
  unsigned char ACC; /* Accumulator */
  struct /* Accumulator */
  {
    unsigned char ACC0 : 1;
    unsigned char ACC1 : 1;
    unsigned char ACC2 : 1;
    unsigned char ACC3 : 1;
    unsigned char ACC4 : 1;
    unsigned char ACC5 : 1;
    unsigned char ACC6 : 1;
    unsigned char ACC7 : 1;
  } ACC_bit;
} @ 0xE0;
__sfr __no_init volatile union
{
  unsigned char PSW; /* Program Status Word */
  struct /* Program Status Word */
  {
    unsigned char P : 1;
    unsigned char F1 : 1;
    unsigned char OV : 1;
    unsigned char RS0 : 1;
    unsigned char RS1 : 1;
    unsigned char F0 : 1;
    unsigned char AC : 1;
    unsigned char CY : 1;
  } PSW_bit;
} @ 0xD0;
__sfr __no_init volatile unsigned char SP @ 0x81; /* Stack Pointer */
__sfr __no_init volatile unsigned char DPL @ 0x82; /* Data Pointer Low byte, LSB of DPTR */
__sfr __no_init volatile unsigned char DPH @ 0x83; /* Data Pointer High byte, MSB of DPTR */
__sfr __no_init volatile union
{
  unsigned char B; /* B Register */
  struct /* B Register */
  {
    unsigned char B0 : 1;
    unsigned char B1 : 1;
    unsigned char B2 : 1;
    unsigned char B3 : 1;
    unsigned char B4 : 1;
    unsigned char B5 : 1;
    unsigned char B6 : 1;
    unsigned char B7 : 1;
  } B_bit;
} @ 0xF0;

/*-------------------------------------------------------------------------
 *   Timers
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile unsigned char TL2 @ 0xCC; /* Timer2 Low */
__sfr __no_init volatile union
{
  unsigned char T2MOD; /* Timer 2 Mode Control */
  struct /* Timer 2 Mode Control */
  {
    unsigned char DCEN : 1;
    unsigned char T2OE : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } T2MOD_bit;
} @ 0xC9;
__sfr __no_init volatile unsigned char TH0 @ 0x8C; /* Timer0 High */
__sfr __no_init volatile union
{
  unsigned char TCON; /* Timer Control */
  struct /* Timer Control */
  {
    unsigned char IT0 : 1;
    unsigned char IE0 : 1;
    unsigned char IT1 : 1;
    unsigned char IE1 : 1;
    unsigned char TR0 : 1;
    unsigned char TF0 : 1;
    unsigned char TR1 : 1;
    unsigned char TF1 : 1;
  } TCON_bit;
} @ 0x88;
__sfr __no_init volatile unsigned char TH2 @ 0xCD; /* Timer2 High */
__sfr __no_init volatile unsigned char TH1 @ 0x8D; /* Timer1 High */
__sfr __no_init volatile union
{
  unsigned char TMOD; /* Timer Mode */
  struct /* Timer Mode */
  {
    unsigned char M00 : 1;
    unsigned char M10 : 1;
    unsigned char C_T0 : 1;
    unsigned char GATE0 : 1;
    unsigned char M01 : 1;
    unsigned char M11 : 1;
    unsigned char C_T1 : 1;
    unsigned char GATE1 : 1;
  } TMOD_bit;
} @ 0x89;
__sfr __no_init volatile unsigned char RACAP2L @ 0xCA; /* Timer 2 Capture Low */
__sfr __no_init volatile unsigned char RACAP2H @ 0xCB; /* Timer 2 Capture High */
__sfr __no_init volatile unsigned char TL0 @ 0x8A; /* Timer0 Low */
__sfr __no_init volatile union
{
  unsigned char T2CON; /* Timer 2 Control */
  struct /* Timer 2 Control */
  {
    unsigned char CP_RL2 : 1;
    unsigned char C_T2 : 1;
    unsigned char TR2 : 1;
    unsigned char EXEN2 : 1;
    unsigned char TCLK : 1;
    unsigned char RCLK : 1;
    unsigned char EXF2 : 1;
    unsigned char TF2 : 1;
  } T2CON_bit;
} @ 0xC8;
__sfr __no_init volatile unsigned char TL1 @ 0x8B; /* Timer1 Low */

/*-------------------------------------------------------------------------
 *   Interrupt
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile union
{
  unsigned char IP; /* Interrupt Priority */
  struct /* Interrupt Priority */
  {
    unsigned char PX0 : 1;
    unsigned char PT0 : 1;
    unsigned char PX1 : 1;
    unsigned char PT1 : 1;
    unsigned char PS : 1;
    unsigned char PT2 : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } IP_bit;
} @ 0xB8;
__sfr __no_init volatile union
{
  unsigned char IPH; /* Interrupt Priority */
  struct /* Interrupt Priority */
  {
    unsigned char PX0 : 1;
    unsigned char PT0 : 1;
    unsigned char PX1 : 1;
    unsigned char PT1 : 1;
    unsigned char PS : 1;
    unsigned char PT2 : 1;
    unsigned char  : 1;
    unsigned char  : 1;
  } IPH_bit;
} @ 0xB7;
__sfr __no_init volatile union
{
  unsigned char IE; /* Interrupt Enable */
  struct /* Interrupt Enable */
  {
    unsigned char EX0 : 1;
    unsigned char ET0 : 1;
    unsigned char EX1 : 1;
    unsigned char ET1 : 1;
    unsigned char ES : 1;
    unsigned char ET2 : 1;
    unsigned char  : 1;
    unsigned char EA : 1;
  } IE_bit;
} @ 0xA8;

/*-------------------------------------------------------------------------
 *   I/O Port
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile union
{
  unsigned char P1; /* Port 1 */
  struct /* Port 1 */
  {
    unsigned char T2 : 1;
    unsigned char T2EX : 1;
    unsigned char P12 : 1;
    unsigned char P13 : 1;
    unsigned char P14 : 1;
    unsigned char P15 : 1;
    unsigned char P16 : 1;
    unsigned char P17 : 1;
  } P1_bit;
} @ 0x90;
__sfr __no_init volatile union
{
  unsigned char P0; /* Port 0 */
  struct /* Port 0 */
  {
    unsigned char P00 : 1;
    unsigned char P01 : 1;
    unsigned char P02 : 1;
    unsigned char P03 : 1;
    unsigned char P04 : 1;
    unsigned char P05 : 1;
    unsigned char P06 : 1;
    unsigned char P07 : 1;
  } P0_bit;
} @ 0x80;
__sfr __no_init volatile union
{
  unsigned char P3; /* Port 3 */
  struct /* Port 3 */
  {
    unsigned char RxD : 1;
    unsigned char TxD : 1;
    unsigned char INT0 : 1;
    unsigned char INT1 : 1;
    unsigned char T0 : 1;
    unsigned char T1 : 1;
    unsigned char WR : 1;
    unsigned char RD : 1;
  } P3_bit;
} @ 0xB0;
__sfr __no_init volatile union
{
  unsigned char P2; /* Port 2 */
  struct /* Port 2 */
  {
    unsigned char AD8 : 1;
    unsigned char AD9 : 1;
    unsigned char AD10 : 1;
    unsigned char AD11 : 1;
    unsigned char AD12 : 1;
    unsigned char AD13 : 1;
    unsigned char AD14 : 1;
    unsigned char AD15 : 1;
  } P2_bit;
} @ 0xA0;

/*-------------------------------------------------------------------------
 *   Serial I/O Port
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile unsigned char SBUF @ 0x99; /* Serial Data Buffer */
__sfr __no_init volatile union
{
  unsigned char SCON; /* Serial Control */
  struct /* Serial Control */
  {
    unsigned char RI : 1;
    unsigned char TI : 1;
    unsigned char RB8 : 1;
    unsigned char TB8 : 1;
    unsigned char REN : 1;
    unsigned char SM2 : 1;
    unsigned char SM1 : 1;
    unsigned char SM0 : 1;
  } SCON_bit;
} @ 0x98;

/*-------------------------------------------------------------------------
 *   System Management
 *-------------------------------------------------------------------------*/

__sfr __no_init volatile union
{
  unsigned char PCON; /* Power Control */
  struct /* Power Control */
  {
    unsigned char IDL : 1;
    unsigned char PD : 1;
    unsigned char GF0 : 1;
    unsigned char GF1 : 1;
    unsigned char POF : 1;
    unsigned char  : 1;
    unsigned char SMOD0 : 1;
    unsigned char SMOD1 : 1;
  } PCON_bit;
} @ 0x87;
/*
 * Interrupt Vectors
 */
#define extern0  0x2003 /* External interrupt 0 */
#define IE0_int  0x2003 /* External interrupt 0 */
#define TF0_int  0x200B /* Timer 0 Interrupt */
#define timer0   0x200B /* Timer 0 Interrupt */
#define IE1_int  0x2013 /* External interrupt 1 */
#define extern1  0x2013 /* External interrupt 1 */
#define TF1_int  0x201B /* Timer 1 Interrupt */
#define timer1   0x201B /* Timer 1 Interrupt */
#define TI_int   0x2023 /* Serial Port Interrupt */
#define SerialTI 0x2023 /* Serial Port Interrupt */
#define RI_int   0x2023 /* Serial Port Interrupt */
#define SerialRE 0x2023 /* Serial Port Interrupt */

#pragma language=default
#endif  /* __IAR_SYSTEMS_ICC__  */

/***************************************************************************
 *   Assembler definitions
 *
 *   The following SFRs are built in in the a8051.exe and can not be
 *   defined explicitly in this file:
 *     ACC,B,PSW,SP,DPL,DPH
 *   The PSW-bits are built-in in the a8051.exe
 *     OV,AC,F0,RS0,RS1,P
 *
 ***************************************************************************/

#ifdef __IAR_SYSTEMS_ASM__


/*-------------------------------------------------------------------------
 *   Timers
 *-------------------------------------------------------------------------*/

TCON DEFINE 0x88 /* Timer Control */
TMOD DEFINE 0x89 /* Timer Mode */
TL0 DEFINE 0x8A /* Timer0 Low */
TL1 DEFINE 0x8B /* Timer1 Low */
TH0 DEFINE 0x8C /* Timer0 High */
TH1 DEFINE 0x8D /* Timer1 High */
T2CON DEFINE 0xC8 /* Timer 2 Control */
T2MOD DEFINE 0xC9 /* Timer 2 Mode Control */
RACAP2L DEFINE 0xCA /* Timer 2 Capture Low */
RACAP2H DEFINE 0xCB /* Timer 2 Capture High */
TL2 DEFINE 0xCC /* Timer2 Low */
TH2 DEFINE 0xCD /* Timer2 High */

/*-------------------------------------------------------------------------
 *   Interrupt
 *-------------------------------------------------------------------------*/

IE DEFINE 0xA8 /* Interrupt Enable */
IP DEFINE 0xB8 /* Interrupt Priority */

/*-------------------------------------------------------------------------
 *   I/O Port
 *-------------------------------------------------------------------------*/

P0 DEFINE 0x80 /* Port 0 */
P1 DEFINE 0x90 /* Port 1 */
P2 DEFINE 0xA0 /* Port 2 */
P3 DEFINE 0xB0 /* Port 3 */

/*-------------------------------------------------------------------------
 *   Serial I/O Port
 *-------------------------------------------------------------------------*/

SCON DEFINE 0x98 /* Serial Control */
SBUF DEFINE 0x99 /* Serial Data Buffer */

/*-------------------------------------------------------------------------
 *   System Management
 *-------------------------------------------------------------------------*/

PCON DEFINE 0x87 /* Power Control */

#endif /* __IAR_SYSTEMS_ASM__*/
#endif /* IO8052_H */

⌨️ 快捷键说明

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