| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #include <MyProject.h>
- void AMP_Init(void)
- {
- #if (Shunt_Resistor_Mode == Single_Resistor)
- {
- /* ----AMP 端口模拟功能设置---- */
- #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
- {
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
-
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #else // 内部PGA双端差分输入
- {
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
-
- ClrBit(AMP_CR0, AMP0M_GND); // 禁止运放反向输入端内部接地
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
-
- AMP_CR0 |= (1 << 6); //使能恒功率
-
-
- #if (HW_AMPGAIN == AMP2x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP4x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP8x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP16x)
- {
- SetBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
- }
- #endif
- }
- #endif
- }
- #else // 双 三电阻采样
- {
- SetBit(P1_AN, P16); //AMP1 Pin设置为模拟模式 +
- SetBit(P1_AN, P17); //AMP1 Pin设置为模拟模式 -
- SetBit(P2_AN, P20); //AMP1 Pin设置为模拟模式 O
-
- SetBit(P2_AN, P21); //AMP2 Pin设置为模拟模式 +
- SetBit(P2_AN, P22); //AMP2 Pin设置为模拟模式 -
- SetBit(P2_AN, P23); //AMP2 Pin设置为模拟模式 O
- ClrBit(P2_OE, P23); //P23_OE需要强制为0,禁止DA1输出至PAD
-
- SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
- SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
- SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
- SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
- SetBit(AMP_CR0, AMP1EN); //AMP1 Enable
- SetBit(AMP_CR0, AMP2EN); //AMP2 Enable
-
- #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #else
- {
- #if (HW_AMPGAIN == AMP2x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- SetBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP4x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- SetBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP8x)
- {
- ClrBit(AMP_CR1, AMP0_GAIN2);
- SetBit(AMP_CR1, AMP0_GAIN1);
- SetBit(AMP_CR1, AMP0_GAIN0);
-
- ClrBit(AMP_CR1, AMP_PH_GAIN2);
- SetBit(AMP_CR1, AMP_PH_GAIN1);
- SetBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #elif (HW_AMPGAIN == AMP16x)
- {
- SetBit(AMP_CR1, AMP0_GAIN2);
- ClrBit(AMP_CR1, AMP0_GAIN1);
- ClrBit(AMP_CR1, AMP0_GAIN0);
-
- SetBit(AMP_CR1, AMP_PH_GAIN2);
- ClrBit(AMP_CR1, AMP_PH_GAIN1);
- ClrBit(AMP_CR1, AMP_PH_GAIN0);
- }
- #endif
- }
- #endif
- }
- #endif
- }
|