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

📄 mcs51.h

📁 MCS51的实现无线接收发送(315M或433M)源程序代码。
💻 H
字号:
/**********************************************************
*                  Mcs51.h                                *
**********************************************************/
#ifndef MCS51H
#define MCS51H 1
//=========================================================
sfr P0=0x80;
sfr P1=0x90;
sfr P2=0xA0;
sfr P3=0xB0;
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;
sfr T2CON=0xC8;
sfr RCAP2L=0xCA;
sfr RCAP2H=0xCB;
sfr TL2=0xCC;
sfr TH2=0xCD;
//=========================================================
//ACC Bit Registers
sbit ACC_0=0xE0;
sbit ACC_1=0xE1;
sbit ACC_2=0xE2;
sbit ACC_3=0xE3;
sbit ACC_4=0xE4;
sbit ACC_5=0xE5;
sbit ACC_6=0xE6;
sbit ACC_7=0xE7;
//=========================================================
//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;
//=========================================================
//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;
//=========================================================
//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
//=========================================================
//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;
//=========================================================
//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;
//=========================================================
//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;
//=========================================================
//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 ES1=0xAE;       //1=Enable Serial port interrupt
sbit ET2=0xAD;       //1=Enable Timer 2 interrupt

sbit EA=0xAF;        //0=Disable all interrupts
//=========================================================
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;        //External 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;
//=========================================================
//IE Bit Registers
sbit RI_1=0xC0;
sbit TI_1=0xC1;
sbit RB8_1=0xC2;
sbit TB8_1=0xC3;
sbit REN_1=0xC4;
sbit SM2_1=0xC5;
sbit SM1_1=0xC6;
sbit SM0_1=0xC7;
//=========================================================
//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
//=========================================================
//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;
//=========================================================
//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
//=========================================================
//PCON Bit Values
#define IDL_     0x01
#define STOP_    0x02
#define PD_      0x02    //Alternate definition
#define GF0_     0x04
#define GF1_     0x08
#define SMOD_    0x80
//=========================================================
//Interrupt Vectors:Interrupt Address = (Number * 8) + 3
#define INT0_VECTOR     0  //0x03 External Interrupt 0
#define T0_VECTOR       1
#define INT1_VECTOR     2  //0x13 External Interrupt 1
#define TF1_VECTOR      3  //0x1B Timer 1
#define COM0_VECTOR     4
#define T2_VECTOR       5  //0x2B Timer 2
#define EX2_VECTOR      5  //0x2B External Interrupt 2
//=========================================================
#endif
//=========================================================

⌨️ 快捷键说明

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