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

📄 hardware.h

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 H
字号:
#ifndef	HARDWARE_H
#define HARDWARE_H

#define MAXLENGTH		0x7FF
#define   BUF_SIZE    20       //CAN接收软件缓存区的大小
//***********************************************************************
//CAN波特率  320kps  250kps  200kps  160kps  125kps  100kps  80kps  50kps
//***********************************************************************
//BTR0       0x80    0x1     0x81     0x81    0x3     0x83   0x83    0x9
//************************************************************************
//BTR1       0xff    0x1c    0xfa     0xff    0x1c    0xfa   0xff    0x1c
//************************************************************************
//------------------------------------------------------------------------------------
//本模块函数声明
//------------------------------------------------------------------------------------
void SysCLKInit(void);
void InitCPU(void); 
void HWOKLEDControl(unsigned char uchOKStatus);
void AlarmLEDControl(unsigned char uchAlarmStatus);
void SetOKIOControl(unsigned char uchChannel);
void SetAlertIOControl(unsigned char uchChannel) ;
void SetDangerIOControl(unsigned char uchChannel);
void SetNotOKIOControl(unsigned char uchChannel);
unsigned char HWConfigureStatus(void);
unsigned char HWBypassStatus(void);
unsigned char HWTripleStatus(void);
void StopHeartBeat(void);
void StartHeartBeat(void);
void SetHeartInterval(unsigned char uchInterval);
void InitDA(void);
void DirectCurrentOutput(unsigned char uchChannel, unsigned int uiDAValue);
void DisableDog(void);
void EnableDog(void);
void FeedDog(void);
void InitADC1(void);
void InitRef(void);
unsigned char HWTestSystemVoltage(unsigned char uchChannel);
void SetExternalRAM(void);
void WriteExternFlash(unsigned char xdata *destination, unsigned char xdata *Source, unsigned int uiLength);
void ReadExternFlash(unsigned char xdata *destination,unsigned char xdata *source,unsigned int uiLength);
void ReadFlashDefaultPara(unsigned char xdata *destination,unsigned char code *source,unsigned int uiLength);
unsigned char GetCANAdress(void);
void InitRuningLEDControl(void);
void RuningLEDStart(void);
void RuningLEDStop(void);
void LEDCommunicationControl(void);
void ADC0_Init (void);
void SetSampleRate(int counts);
void InitHardWareModule(void);
void InitHardWareParaVariable(void);
void SetInitChannel(void);
void SampleStartControl(void);
void SampleStopControl(void);



void InitSampleType(void);   //20080322
void SoftReset(void);   //20080322


//********************************************************
//CAN硬件函数声明
//********************************************************
void CAN_ReSendInitial(void);
//void Initial_Timer4(void); 
//unsigned char CAN_ReSendSetInitia(unsigned int count);
//void CAN_ReSendReVal(unsigned int time4value);
//void Close_CANReSend(void);
unsigned char readCANreg(unsigned char xdata *regAddr);
unsigned char readCANregRemote(unsigned char xdata *regAddr);
void writeCANreg(unsigned char xdata *regAddr, unsigned char value);
void writeCANregRemote(unsigned char xdata *regAddr, unsigned char value);
void CAN_Init(unsigned char soID, unsigned char check);
void writeCANdata(unsigned char *canData);
void writeCANdataRemateFrame(unsigned char xdata *data uchCanData);
void SetSampleTypeHW(unsigned char uchChannelType);
void StartCan(void);
void StopCan(void);
void RunLEDStartControl(void);
void RunLEDStopControl(void);
//----------------------------------------------------------------
//其他模块的声明函数
//--------------------------------------------------------------------
extern void SetSampleCompleteStatusMain(unsigned char uchCompleteStatus);
extern unsigned int CaculateCheckSum(unsigned char xdata *Source, unsigned int uiLength);
extern void DelayTimeCount(unsigned int uiTime);
extern void SetSampleCompleteStatusAD(unsigned char uchSampleCompleteStatus);
extern void SetSampleBuffer0(unsigned int *pSampBuffer);
extern void SetSampleBuffer1(unsigned int *pSampBuffer);
extern void SetSampleBuffer2(unsigned int *pSampBuffer);
extern void SetSampleBuffer3(unsigned int *pSampBuffer);
extern void SendPackage(unsigned char pID, unsigned char desID, unsigned char* SendData);
extern void SetHWTripleStatusMain(unsigned int uchHWTripleStatus);
extern void SetHWBypassStatusMain(unsigned char uchBypassStatus);
extern void SetHWConfigStatusMain(unsigned char uchHWConfigStatus);
void CanFrameInterrupt(unsigned char *uchReceiData);
extern void AlarmIOControl(unsigned char uchChannel, unsigned char uchAlarmStatus, unsigned char uchOKStatus);
extern unsigned char ReadCANAddress(void);

//extern void SetRMSCompleteStatusAD(unsigned char uchRMSCompleteFlag);


extern void SetSampleLocationStatus(unsigned char uchSampleLocationFlag);

extern void SetCurProcessingIndex(void);



#endif







⌨️ 快捷键说明

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