厂家提供的芯片资料

This commit is contained in:
2026-10-19 15:33:00 +08:00
commit dcee04a348
36 changed files with 7640 additions and 0 deletions

View File

@@ -0,0 +1,514 @@
/**************************************************************************
**************************************************************************/
#ifndef _SETUP_IO_H_
#define _SETUP_IO_H_
/**************************************************************************
-------------------------------- IO口配置 ---------------------------------
**************************************************************************/
//配置内容:IO脚位排序
//配置说明:有定义 = 该型号对应IO脚位排序
#define _IO_CMS79F5335 //CMS79F5335脚位
//#define _IO_CMS79F5365 //CMS79F5365脚位
//=========================================================================
//配置内容:功能对应IO脚位
//配置说明:无相应功能,可直接屏蔽或者删除
//-------------------------------------------------------------------------
#define _pBUZZ _Pin7 //蜂鸣器控制口
#define _pFAN _Pin7 //风扇控制口
//#define _pAD_TOP _Pin //顶部测温ADC口
#define _pAD_PAN _Pin8 //锅底测温ADC口
#define _pAD_IGBT _Pin12 //IGBT测温ADC口
#define _pAD_VOL _Pin11 //电压ADC口
#define _pCON1 _Pin15 //CON1口
#define _pCON2 _Pin14 //CON2口
#define _pCON3 _Pin13 //CON3口
//-------------------------------------------------------------------------
#define _pCOMM_IN _pCON2 //通信输入口(有通信)
#define _pCOMM_OUT _pCON3 //通信输出口(有通信)
#define _pSDA _pCON1 //驱动SDA口(无通信)
#define _pSCK _pCON2 //驱动SCK口(无通信)
#define _pSTB _pCON3 //驱动STB口(无通信)
//=========================================================================
//配置内容:上电初始化IO电平
//配置说明:0 = 低电平,1 = 高电平
#define C_Init_PORTA 0B00000000
#define C_Init_PORTB 0B00000000
#define C_Init_PORTC 0B00000000
/**************************************************************************
-------------------------------- AD通道配置 -------------------------------
**************************************************************************/
//配置内容:工作电流ADC通道
//配置说明:通道27 = 有RC滤波、通道28 = 无RC滤波
#define C_AdcChannel_Curr 28
/**************************************************************************
* 芯片测试脚位
**************************************************************************/
#define _Pin_CMPOUT1 0xA0 //比较器测试输出口1
#define _Pin_CMPOUT2 0xB7 //比较器测试输出口2
#define _Pin_PGAOUT 0xC0 //PGA测试输出口
/**************************************************************************
* 芯片专用脚位
**************************************************************************/
#define _pIGBT_SUP 0xB1 //IGBT辅助驱动口
#define _pIGBT_OVUV 0xB2 //IGBT驱动过欠压检测口
/**************************************************************************
* CMS79F5335脚位(16pin)
**************************************************************************/
#ifdef _IO_CMS79F5335
//#define _Pin1 VCC //Pin1
//#define _Pin2 VIN //Pin2
//#define _Pin3 GND //Pin3
//#define _Pin4 VDD //Pin4
#define _Pin5 0xA7 //Pin5
#define _Pin6 0xA5 //Pin6
#define _Pin7 0xC0 //Pin7
#define _Pin8 0xA4 //Pin8
#define _Pin9 0xA3 //Pin9
#define _Pin10 0xA2 //Pin10
#define _Pin11 0xA1 //Pin11
#define _Pin12 0xB7 //Pin12
#define _Pin13 0xB6 //Pin13
#define _Pin14 0xB4 //Pin14
#define _Pin15 0xB3 //Pin15
//#define _Pin16 PPG //Pin16
#endif
/**************************************************************************
* CMS79F5365脚位(20pin)
**************************************************************************/
#ifdef _IO_CMS79F5365
//#define _Pin1 VCC //Pin1
//#define _Pin2 VIN //Pin2
//#define _Pin3 GND //Pin3
//#define _Pin4 VDD //Pin4
#define _Pin5 0xC2 //Pin5
#define _Pin6 0xC1 //Pin6
#define _Pin7 0xA7 //Pin7
#define _Pin8 0xA5 //Pin8
#define _Pin9 0xC0 //Pin9
#define _Pin10 0xA4 //Pin10
#define _Pin11 0xA3 //Pin11
#define _Pin12 0xA2 //Pin12
#define _Pin13 0xA1 //Pin13
#define _Pin14 0xA0 //Pin14
#define _Pin15 0xB7 //Pin15
#define _Pin16 0xB6 //Pin16
#define _Pin17 0xB5 //Pin17
#define _Pin18 0xB4 //Pin18
#define _Pin19 0xB3 //Pin19
//#define _Pin20 PPG //Pin20
#endif
/**************************************************************************
* IO口定义
**************************************************************************/
#ifndef _pIGBT_SUP
ExteralPin(PORTC,7,Pin_Igbt_Sup);
#elif (_pIGBT_SUP>>4)==0xA
ExteralPin(PORTA,(_pIGBT_SUP&0xF),Pin_Igbt_Sup);
#elif (_pIGBT_SUP>>4)==0xB
ExteralPin(PORTB,(_pIGBT_SUP&0xF),Pin_Igbt_Sup);
#elif (_pIGBT_SUP>>4)==0xC
ExteralPin(PORTC,(_pIGBT_SUP&0xF),Pin_Igbt_Sup);
#else
ExteralPin(PORTC,7,Pin_Igbt_Sup);
#endif
//-------------------------------------------------------------------------
#ifndef _pIGBT_OVUV
ExteralPin(PORTC,7,Pin_Igbt_OVUV);
#elif (_pIGBT_OVUV>>4)==0xA
ExteralPin(PORTA,(_pIGBT_OVUV&0xF),Pin_Igbt_OVUV);
#elif (_pIGBT_OVUV>>4)==0xB
ExteralPin(PORTB,(_pIGBT_OVUV&0xF),Pin_Igbt_OVUV);
#elif (_pIGBT_OVUV>>4)==0xC
ExteralPin(PORTC,(_pIGBT_OVUV&0xF),Pin_Igbt_OVUV);
#else
ExteralPin(PORTC,7,Pin_Igbt_OVUV);
#endif
//-------------------------------------------------------------------------
#ifndef _pBUZZ
ExteralPin(PORTC,7,Pin_Buzz);
#elif (_pBUZZ>>4)==0xA
ExteralPin(PORTA,(_pBUZZ&0xF),Pin_Buzz);
#elif (_pBUZZ>>4)==0xB
ExteralPin(PORTB,(_pBUZZ&0xF),Pin_Buzz);
#elif (_pBUZZ>>4)==0xC
ExteralPin(PORTC,(_pBUZZ&0xF),Pin_Buzz);
#else
ExteralPin(PORTC,7,Pin_Buzz);
#endif
//-------------------------------------------------------------------------
#ifndef _pFAN
ExteralPin(PORTC,7,Pin_Fan);
#elif (_pFAN>>4)==0xA
ExteralPin(PORTA,(_pFAN&0xF),Pin_Fan);
#elif (_pFAN>>4)==0xB
ExteralPin(PORTB,(_pFAN&0xF),Pin_Fan);
#elif (_pFAN>>4)==0xC
ExteralPin(PORTC,(_pFAN&0xF),Pin_Fan);
#else
ExteralPin(PORTC,7,Pin_Fan);
#endif
//-------------------------------------------------------------------------
#ifndef _pCOMM_IN
ExteralPin(PORTC,7,Pin_CommIn);
#elif (_pCOMM_IN>>4)==0xA
ExteralPin(PORTA,(_pCOMM_IN&0xF),Pin_CommIn);
#elif (_pCOMM_IN>>4)==0xB
ExteralPin(PORTB,(_pCOMM_IN&0xF),Pin_CommIn);
#elif (_pCOMM_IN>>4)==0xC
ExteralPin(PORTC,(_pCOMM_IN&0xF),Pin_CommIn);
#else
ExteralPin(PORTC,7,Pin_CommIn);
#endif
//-------------------------------------------------------------------------
#ifndef _pCOMM_OUT
ExteralPin(PORTC,7,Pin_CommOut);
#elif (_pCOMM_OUT>>4)==0xA
ExteralPin(PORTA,(_pCOMM_OUT&0xF),Pin_CommOut);
#elif (_pCOMM_OUT>>4)==0xB
ExteralPin(PORTB,(_pCOMM_OUT&0xF),Pin_CommOut);
#elif (_pCOMM_OUT>>4)==0xC
ExteralPin(PORTC,(_pCOMM_OUT&0xF),Pin_CommOut);
#else
ExteralPin(PORTC,7,Pin_CommOut);
#endif
//-------------------------------------------------------------------------
#ifndef _pSDA
ExteralPin(PORTC,7,Pin_SDA);
ExteralPin(TRISC,7,Io_SDA);
#elif (_pSDA>>4)==0xA
ExteralPin(PORTA,(_pSDA&0xF),Pin_SDA);
ExteralPin(TRISA,(_pSDA&0xF),Io_SDA);
#elif (_pSDA>>4)==0xB
ExteralPin(PORTB,(_pSDA&0xF),Pin_SDA);
ExteralPin(TRISB,(_pSDA&0xF),Io_SDA);
#elif (_pSDA>>4)==0xC
ExteralPin(PORTC,(_pSDA&0xF),Pin_SDA);
ExteralPin(TRISC,(_pSDA&0xF),Io_SDA);
#else
ExteralPin(PORTC,7,Pin_SDA);
ExteralPin(TRISC,7,Io_SDA);
#endif
//-------------------------------------------------------------------------
#ifndef _pSCK
ExteralPin(PORTC,7,Pin_SCK);
#elif (_pSCK>>4)==0xA
ExteralPin(PORTA,(_pSCK&0xF),Pin_SCK);
#elif (_pSCK>>4)==0xB
ExteralPin(PORTB,(_pSCK&0xF),Pin_SCK);
#elif (_pSCK>>4)==0xC
ExteralPin(PORTC,(_pSCK&0xF),Pin_SCK);
#else
ExteralPin(PORTC,7,Pin_SCK);
#endif
//-------------------------------------------------------------------------
#ifndef _pSTB
ExteralPin(PORTC,7,Pin_STB);
#elif (_pSTB>>4)==0xA
ExteralPin(PORTA,(_pSTB&0xF),Pin_STB);
#elif (_pSTB>>4)==0xB
ExteralPin(PORTB,(_pSTB&0xF),Pin_STB);
#elif (_pSTB>>4)==0xC
ExteralPin(PORTC,(_pSTB&0xF),Pin_STB);
#else
ExteralPin(PORTC,7,Pin_STB);
#endif
/**************************************************************************
* PWM通道定义
**************************************************************************/
#if _pBUZZ==0xA0
#define C_PwmChannel_Buzz 0x0A
#elif _pBUZZ==0xB5
#define C_PwmChannel_Buzz 0x0B
#elif _pBUZZ==0xB2
#define C_PwmChannel_Buzz 0x0C
#elif _pBUZZ==0xC2
#define C_PwmChannel_Buzz 0x0D
#elif _pBUZZ==0xB7
#define C_PwmChannel_Buzz 0x1A
#elif _pBUZZ==0xB4
#define C_PwmChannel_Buzz 0x1B
#elif _pBUZZ==0xB1
#define C_PwmChannel_Buzz 0x1C
#elif _pBUZZ==0xC1
#define C_PwmChannel_Buzz 0x1D
#elif _pBUZZ==0xB6
#define C_PwmChannel_Buzz 0x2A
#elif _pBUZZ==0xB3
#define C_PwmChannel_Buzz 0x2B
#elif _pBUZZ==0xB0
#define C_PwmChannel_Buzz 0x2C
#elif _pBUZZ==0xC0
#define C_PwmChannel_Buzz 0x2D
#else
#define C_PwmChannel_Buzz 0xFF
#endif
//-------------------------------------------------------------------------
#if !_FAN_OUT_PWM_
#define C_PwmChannel_Fan 0xFF
#elif _pFAN==0xA0
#define C_PwmChannel_Fan 0x0A
#elif _pFAN==0xB5
#define C_PwmChannel_Fan 0x0B
#elif _pFAN==0xB2
#define C_PwmChannel_Fan 0x0C
#elif _pFAN==0xC2
#define C_PwmChannel_Fan 0x0D
#elif _pFAN==0xB7
#define C_PwmChannel_Fan 0x1A
#elif _pFAN==0xB4
#define C_PwmChannel_Fan 0x1B
#elif _pFAN==0xB1
#define C_PwmChannel_Fan 0x1C
#elif _pFAN==0xC1
#define C_PwmChannel_Fan 0x1D
#elif _pFAN==0xB6
#define C_PwmChannel_Fan 0x2A
#elif _pFAN==0xB3
#define C_PwmChannel_Fan 0x2B
#elif _pFAN==0xB0
#define C_PwmChannel_Fan 0x2C
#elif _pFAN==0xC0
#define C_PwmChannel_Fan 0x2D
#else
#define C_PwmChannel_Fan 0xFF
#endif
/**************************************************************************
* 非固定ADC通道定义
**************************************************************************/
#if _pAD_VOL==0xA0
#define C_AdcChannel_Vol 0
#elif _pAD_VOL==0xA1
#define C_AdcChannel_Vol 1
#elif _pAD_VOL==0xA2
#define C_AdcChannel_Vol 2
#elif _pAD_VOL==0xA3
#define C_AdcChannel_Vol 3
#elif _pAD_VOL==0xA4
#define C_AdcChannel_Vol 4
#elif _pAD_VOL==0xA5
#define C_AdcChannel_Vol 5
#elif _pAD_VOL==0xA6
#define C_AdcChannel_Vol 6
#elif _pAD_VOL==0xA7
#define C_AdcChannel_Vol 7
#elif _pAD_VOL==0xB0
#define C_AdcChannel_Vol 8
#elif _pAD_VOL==0xB1
#define C_AdcChannel_Vol 9
#elif _pAD_VOL==0xB2
#define C_AdcChannel_Vol 10
#elif _pAD_VOL==0xB3
#define C_AdcChannel_Vol 11
#elif _pAD_VOL==0xB4
#define C_AdcChannel_Vol 12
#elif _pAD_VOL==0xB5
#define C_AdcChannel_Vol 13
#elif _pAD_VOL==0xB6
#define C_AdcChannel_Vol 14
#elif _pAD_VOL==0xB7
#define C_AdcChannel_Vol 15
#elif _pAD_VOL==0xC0
#define C_AdcChannel_Vol 16
#elif _pAD_VOL==0xC1
#define C_AdcChannel_Vol 17
#elif _pAD_VOL==0xC2
#define C_AdcChannel_Vol 18
#else
#define C_AdcChannel_Vol C_AdcChannel_VRef
#endif
//-------------------------------------------------------------------------
#ifndef _pAD_IGBT
#define C_AdcChannel_Igbt C_AdcChannel_VRef
#elif _pAD_IGBT==0xA0
#define C_AdcChannel_Igbt 0
#elif _pAD_IGBT==0xA1
#define C_AdcChannel_Igbt 1
#elif _pAD_IGBT==0xA2
#define C_AdcChannel_Igbt 2
#elif _pAD_IGBT==0xA3
#define C_AdcChannel_Igbt 3
#elif _pAD_IGBT==0xA4
#define C_AdcChannel_Igbt 4
#elif _pAD_IGBT==0xA5
#define C_AdcChannel_Igbt 5
#elif _pAD_IGBT==0xA6
#define C_AdcChannel_Igbt 6
#elif _pAD_IGBT==0xA7
#define C_AdcChannel_Igbt 7
#elif _pAD_IGBT==0xB0
#define C_AdcChannel_Igbt 8
#elif _pAD_IGBT==0xB1
#define C_AdcChannel_Igbt 9
#elif _pAD_IGBT==0xB2
#define C_AdcChannel_Igbt 10
#elif _pAD_IGBT==0xB3
#define C_AdcChannel_Igbt 11
#elif _pAD_IGBT==0xB4
#define C_AdcChannel_Igbt 12
#elif _pAD_IGBT==0xB5
#define C_AdcChannel_Igbt 13
#elif _pAD_IGBT==0xB6
#define C_AdcChannel_Igbt 14
#elif _pAD_IGBT==0xB7
#define C_AdcChannel_Igbt 15
#elif _pAD_IGBT==0xC0
#define C_AdcChannel_Igbt 16
#elif _pAD_IGBT==0xC1
#define C_AdcChannel_Igbt 17
#elif _pAD_IGBT==0xC2
#define C_AdcChannel_Igbt 18
#else
#define C_AdcChannel_Igbt C_AdcChannel_VRef
#endif
//-------------------------------------------------------------------------
#ifndef _pAD_PAN
#define C_AdcChannel_Pan C_AdcChannel_VRef
#elif _pAD_PAN==0xA0
#define C_AdcChannel_Pan 0
#elif _pAD_PAN==0xA1
#define C_AdcChannel_Pan 1
#elif _pAD_PAN==0xA2
#define C_AdcChannel_Pan 2
#elif _pAD_PAN==0xA3
#define C_AdcChannel_Pan 3
#elif _pAD_PAN==0xA4
#define C_AdcChannel_Pan 4
#elif _pAD_PAN==0xA5
#define C_AdcChannel_Pan 5
#elif _pAD_PAN==0xA6
#define C_AdcChannel_Pan 6
#elif _pAD_PAN==0xA7
#define C_AdcChannel_Pan 7
#elif _pAD_PAN==0xB0
#define C_AdcChannel_Pan 8
#elif _pAD_PAN==0xB1
#define C_AdcChannel_Pan 9
#elif _pAD_PAN==0xB2
#define C_AdcChannel_Pan 10
#elif _pAD_PAN==0xB3
#define C_AdcChannel_Pan 11
#elif _pAD_PAN==0xB4
#define C_AdcChannel_Pan 12
#elif _pAD_PAN==0xB5
#define C_AdcChannel_Pan 13
#elif _pAD_PAN==0xB6
#define C_AdcChannel_Pan 14
#elif _pAD_PAN==0xB7
#define C_AdcChannel_Pan 15
#elif _pAD_PAN==0xC0
#define C_AdcChannel_Pan 16
#elif _pAD_PAN==0xC1
#define C_AdcChannel_Pan 17
#elif _pAD_PAN==0xC2
#define C_AdcChannel_Pan 18
#else
#define C_AdcChannel_Pan C_AdcChannel_VRef
#endif
//-------------------------------------------------------------------------
#ifndef _pAD_TOP
#define C_AdcChannel_Top C_AdcChannel_VRef
#elif _pAD_TOP==0xA0
#define C_AdcChannel_Top 0
#elif _pAD_TOP==0xA1
#define C_AdcChannel_Top 1
#elif _pAD_TOP==0xA2
#define C_AdcChannel_Top 2
#elif _pAD_TOP==0xA3
#define C_AdcChannel_Top 3
#elif _pAD_TOP==0xA4
#define C_AdcChannel_Top 4
#elif _pAD_TOP==0xA5
#define C_AdcChannel_Top 5
#elif _pAD_TOP==0xA6
#define C_AdcChannel_Top 6
#elif _pAD_TOP==0xA7
#define C_AdcChannel_Top 7
#elif _pAD_TOP==0xB0
#define C_AdcChannel_Top 8
#elif _pAD_TOP==0xB1
#define C_AdcChannel_Top 9
#elif _pAD_TOP==0xB2
#define C_AdcChannel_Top 10
#elif _pAD_TOP==0xB3
#define C_AdcChannel_Top 11
#elif _pAD_TOP==0xB4
#define C_AdcChannel_Top 12
#elif _pAD_TOP==0xB5
#define C_AdcChannel_Top 13
#elif _pAD_TOP==0xB6
#define C_AdcChannel_Top 14
#elif _pAD_TOP==0xB7
#define C_AdcChannel_Top 15
#elif _pAD_TOP==0xC0
#define C_AdcChannel_Top 16
#elif _pAD_TOP==0xC1
#define C_AdcChannel_Top 17
#elif _pAD_TOP==0xC2
#define C_AdcChannel_Top 18
#else
#define C_AdcChannel_Top C_AdcChannel_VRef
#endif
/**************************************************************************
* 固定ADC通道定义
**************************************************************************/
#define C_AdcChannel_Gnd 29 //GND-ADC通道
#define C_AdcChannel_Vdd 30 //VDD-ADC通道
#define C_AdcChannel_VRef 31 //内部参考电压(1.2V)ADC通道
/**************************************************************************
* AD检测设置(00xxxx01)
**************************************************************************/
#define C_AdcSet_Gnd 0x01 | (C_AdcChannel_Gnd<<2) //GND
#define C_AdcSet_Vdd 0x01 | (C_AdcChannel_Vdd<<2) //VDD
#define C_AdcSet_VRef 0x01 | (C_AdcChannel_VRef<<2) //内部参考电压
#define C_AdcSet_Curr 0x01 | (C_AdcChannel_Curr<<2) //工作电流
#define C_AdcSet_Vol 0x01 | (C_AdcChannel_Vol<<2) //市电电压
#define C_AdcSet_Igbt 0x01 | (C_AdcChannel_Igbt<<2) //IGBT-NTC
#define C_AdcSet_Pan 0x01 | (C_AdcChannel_Pan<<2) //锅底NTC
#define C_AdcSet_Top 0x01 | (C_AdcChannel_Top<<2) //顶部NTC
/**************************************************************************
--------------------------------- 函数声明 --------------------------------
**************************************************************************/
unsigned char SetWPUX_CommHave(unsigned char x);
unsigned char SetWPUX_CommNo(unsigned char x);
unsigned char SetTRISX_CommHave(unsigned char x);
unsigned char SetTRISX_CommNo(unsigned char x);
/**************************************************************************
**************************************************************************/
#endif