📄 declare.#2
字号:
/**********************************************************************************************************
Sincere Techonlogy
Shanghai.China
(c) Copyright 2005,Sincere Technology,Shanghai China
All Rights Reserved
File name : declare.c
Author : Neil
Description : Declare functions in this file
Target : C8051F023
Data : 2005-3
**********************************************************************************************************/
/* Functions */
void SYSCLK_Init (void);
void MEMORY_Init (void);
void PERIAL_Init (void);
void PORT_Init (void);
void SIOC_Init (void);
void INTERRUPT_Init (void);
void SMBUS_Init (void);
void UART0_Init (void);
void DELAY (int);
void SMBUS_ISR (void);
void UART0_Isr(void);
void SM_Send (char, unsigned int, char);
char SM_Receive (char, unsigned int);
void SetTG (void);
void SetVSPCR (void);
void SetVSPRSR (void);
void SetVSPGSG (void);
void SetVSPBSB (void);
void SetGCRAMR (void);
void SetGCRAMG (void);
void SetGCRAMB (void);
void SetVSPPQICSR (void);
void SetVSPCUCSRa (void);
void SetVSPCUCSRb (void);
void Set6100R (void);
void Set6100G (void);
void Set6100B (void);
/* BIT Registers */
sbit SCLK = P1^1;
sbit SDATA = P1^0;
sbit SCS = P0^4;
sbit SCS61B= P1^5;
sbit SCS61G= P1^6;
sbit SCS61R= P1^7;
//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------
#define DEBUG 1
#define BAUDRATE 9600 // Baud rate of UART in bps
#define SYSCLK 20250000 // SYSCLK frequency in Hz
#define _24LC256 0xA0
#ifdef CTONL_C
//-----------------------------------------------------------------------------------
//Global VARIABLES
//-----------------------------------------------------------------------------------
unsigned int i,n; // i:counter,n:24lc256'saddress counter
char COMMAND; // Holds the slave address + R/W bit for
// use in the SMBus ISR.
char WORD; // Holds data to be transmitted by the SMBus
// OR data that has just been received.
char BYTE_NUMBER; // Used by ISR to check what data has just been
// sent - High address byte, Low byte, or data
// byte
unsigned char HIGH_ADD, LOW_ADD; // High & Low byte for EEPROM memory address
bit SM_BUSY; // This bit is set when a send or receive
// is started. It is cleared by the
// ISR when the operation is finished.
//------------------------------------------------------------------------------------
// Global CONSTANTS
//------------------------------------------------------------------------------------
#define WRITE 0x00 // WRITE direction bit
#define READ 0x01 // READ direction bit
/* Neil 2005-4-19
// Device addresses
#define CHIP_A 0xF0
#define CHIP_B 0xE0
#define MY_ADD CHIP_A // Corresponds to the chip currently
// being programmed.
// Peer-to-Peer OP_CODEs
#define READ_ADC 0x01 // OP_CODE to read from slave ADC
#define WRITE_DAC 0x02 // OP_CODE to write to slave DAC
#define WRITE_BUF 0x03 // OP_CODE to write to slave buffer
#define READ_BUF 0x04 // OP_CODE to read from slave buffer
*/
//SMBus states:
// MT = Master Transmitter
// MR = Master Receiver
// ST = Slave Transmitter
// SR = Slave Receiver
#define SMB_BUS_ERROR 0x00 // (all modes) BUS ERROR
#define SMB_START 0x08 // (MT & MR) START transmitted
#define SMB_RP_START 0x10 // (MT & MR) repeated START
#define SMB_MTADDACK 0x18 // (MT) Slave address + W transmitted;
// ACK received
#define SMB_MTADDNACK 0x20 // (MT) Slave address + W transmitted;
// NACK received
#define SMB_MTDBACK 0x28 // (MT) data byte transmitted; ACK rec'vd
#define SMB_MTDBNACK 0x30 // (MT) data byte transmitted; NACK rec'vd
#define SMB_MTARBLOST 0x38 // (MT) arbitration lost
#define SMB_MRADDACK 0x40 // (MR) Slave address + R transmitted;
// ACK received
#define SMB_MRADDNACK 0x48 // (MR) Slave address + R transmitted;
// NACK received
#define SMB_MRDBACK 0x50 // (MR) data byte rec'vd; ACK transmitted
#define SMB_MRDBNACK 0x58 // (MR) data byte rec'vd; NACK transmitted
#define SMB_SROADACK 0x60 // (SR) SMB's own slave address + W rec'vd;
// ACK transmitted
#define SMB_SROARBLOST 0x68 // (SR) SMB's own slave address + W rec'vd;
// arbitration lost
#define SMB_SRGADACK 0x70 // (SR) general call address rec'vd;
// ACK transmitted
#define SMB_SRGARBLOST 0x78 // (SR) arbitration lost when transmitting
// slave addr + R/W as master; general
// call address rec'vd; ACK transmitted
#define SMB_SRODBACK 0x80 // (SR) data byte received under own slave
// address; ACK returned
#define SMB_SRODBNACK 0x88 // (SR) data byte received under own slave
// address; NACK returned
#define SMB_SRGDBACK 0x90 // (SR) data byte received under general
// call address; ACK returned
#define SMB_SRGDBNACK 0x98 // (SR) data byte received under general
// call address; NACK returned
#define SMB_SRSTOP 0xa0 // (SR) STOP or repeated START received
// while addressed as a slave
#define SMB_STOADACK 0xa8 // (ST) SMB's own slave address + R rec'vd;
// ACK transmitted
#define SMB_STOARBLOST 0xb0 // (ST) arbitration lost in transmitting
// slave address + R/W as master; own
// slave address rec'vd; ACK transmitted
#define SMB_STDBACK 0xb8 // (ST) data byte transmitted; ACK rec'ed
#define SMB_STDBNACK 0xc0 // (ST) data byte transmitted; NACK rec'ed
#define SMB_STDBLAST 0xc8 // (ST) last data byte transmitted (AA=0);
// ACK received
#define SMB_SCLHIGHTO 0xd0 // (ST & SR) SCL clock high timer per
// SMB0CR timed out (FTE=1)
#define SMB_IDLE 0xf8 // (all modes) Idle
/* UART0 used */
char Count_UART0,Count_UART0a;
char Rec_OK,Tran_OK;
char Tran_Flag;
char xdata sRecComBuf[7];
char *pointer;
unsigned int Address0707,Data0707,Address24LC256,DataAddress6100;
#else
extern char Count_UART0,Count_UART0a,Rec_OK,Tran_OK;
extern char Tran_Flag;
extern unsigned char xdata sRecComBuf[7];
extern char *pointer;
extern unsigned int Address0707,Data0707,Address24LC256,DataAddress6100;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -