📄 cpu.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 + -