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

📄 cpu.h

📁 智能水表程序 来着互联网
💻 H
字号:
#ifndef  _CPU_H_
#define  _CPU_H_

// Code Space : 0x0000 - 0x3400
// Ram Area   : 0x0000 - 0x0500
//-----------------------------------------------------------------------------
// System Configure Define
//-----------------------------------------------------------------------------
#define MCUC51_6T
//-----------------------------------------------------------------------------
// System Constant Define
//-----------------------------------------------------------------------------
#define SYSCLK	      11059200
#define CLK_12T       0x00
#define CLK_6T        0x80
#define ERAM_OFF      0x02
#define ALE_CLOSE     0x01
#define POWER_DOWN    0x02
#define POWER_IDLE    0x01
#define TASK_CLICK	  TRUE
#define TIMER0_CLICK  -SYSCLK/12/20
//-----------------------------------------------------------------------------
// SFR Definitions for 'STC89C52RD+'
//-----------------------------------------------------------------------------
sfr  AUXR  = 0x8E;
sfr  AUXR1 = 0xA2;
sfr  IPH   = 0xB7;

sfr  P4  = 0xE8;
sbit P43 = P4^3;
sbit P42 = P4^2;
sbit P41 = P4^1;
sbit P40 = P4^0;

sfr  XICON = 0xC0;
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;
//-----------------------------------------------------------------------------
// CPU Port Define
//-----------------------------------------------------------------------------
sbit spi_SI           = P1^6;
sbit spi_CLK          = P1^5;
sbit spi_SO           = P1^4;
sbit spi_CS           = P1^3;
sbit Sensor_Fault     = P1^1;
sbit Sensor_Level     = P1^0;

sbit i2c_SDA          = P3^4;
sbit i2c_SCL          = P3^5;
sbit Uart0_Rxd        = P3^0;
sbit Uart0_Txd        = P3^1;
sbit Uart1_Rxd        = P3^3;
sbit Uart1_Txd        = P2^6;

sbit bc7281_CLK       = P0^3;
sbit bc7281_DATA      = P0^0;

sbit Run_LED          = P2^3;
sbit Card_Bus         = P2^5;
sbit Speaker_OUT      = P3^7;
sbit LowLimit_LED     = P3^6;
sbit cpu_LED          = P2^2;

sbit Relay_CTRL1      = P1^7;
sbit Relay_CLK1       = P2^7;
sbit Relay_CTRL2      = P0^1;
sbit Relay_CLK2       = P0^2;

	#ifdef USE_RELAY1
#define Relay_CLK     Relay_CLK1
#define Relay_CTRL    Relay_CTRL1
	#else
#define Relay_CLK     Relay_CLK2
#define Relay_CTRL    Relay_CTRL2
	#endif

sbit Low_Battery      = P0^7;
sbit Charge_On        = P0^6;
sbit Door_Switch      = P0^5;
sbit Door_Check       = P0^4;

sbit Rtc_1S           = P1^2;

sbit I380             = P2^0;
sbit V380             = P2^1;

sbit ICC_Absent       = P2^4;
//-----------------------------------------------------------------------------
// Global Constants
//-----------------------------------------------------------------------------
#define  I2C_ACK            0
#define  I2C_NACK      	    1
#define  nSENSOR_CHECK	    1
#define  SENSOR_CHECK_DELAY 0x032
#define  TLEVEL             0x05000
#define  TCHECK             180
#define  TINFRARE           1
#define  FAULT_BEEP_TIME    0x0FF
#define  nLED	     	    0x10
#define  BUZZER_TIME        0x088
#define  SHOUT              0
#define  QUIET              1
//------------------------------------------------------------------------------------
// Macro Define
//------------------------------------------------------------------------------------
#define Clear_Dog           { spi_CS  = LOW; spi_CS  = HIGH; }
#define spi_Start			{ spi_CLK = LOW; spi_CS  = LOW;  }
#define spi_Stop			{ spi_CLK = LOW; spi_CS  = HIGH; }
#define Clear_Uart0		    { TI = 0; RI = 0; }
#define cpu_LED_On          { cpu_LED = ON; }
#define cpu_LED_Off         { cpu_LED = OFF; }
#define cpu_Power_Down      { PCON |= POWER_DOWN; }
#define cpu_Power_Idle      { PCON |= POWER_IDLE; }
//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------
extern void cpu_Initial (void);
extern void Delay ( long t );
extern void Relay_On  (void);
extern void Relay_Off (void);
extern void Speaker_Beep  (void);
extern void Check_Sensor_Fault (void);
extern bit  Check_Sensor_Level (void);
extern void	Check_Door (void);
extern char spi_Read_Byte  ( void );
extern void spi_Write_Byte ( char dat );
extern void i2c_Start (void);
extern void i2c_Stop  (void);
extern char i2c_Read_Byte  ( bit ack );
extern bit  i2c_Write_Byte ( char c );
extern char Uart0_Receive_Byte ( void );
extern void Uart0_Send_Byte    ( char c );
extern char Uart1_Receive_Byte ( void );
extern void Uart1_Send_Byte    ( char c );


#endif

⌨️ 快捷键说明

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