AMP.c 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. /********************************************************************************
  2. **** Copyright (C), 2019, Fortior Technology Co., Ltd. ****
  3. ********************************************************************************
  4. File Name : AMP.c
  5. Author : Bruce HW&RD
  6. Date : 2019-09-11
  7. Description : .C file function description
  8. Version : 1.0
  9. Function List :
  10. Record :
  11. 1.Date : 2019-09-11
  12. Author : Bruce HW&RD
  13. Modification: Created file
  14. ********************************************************************************/
  15. #include "AMP.h"
  16. #include "FU68xx_5_MCU.h"
  17. #include "Customer.h"
  18. #include <Myproject.h>
  19. #if 0
  20. void AMP_Init(void)
  21. {
  22. #if (Shunt_Resistor_Mode == Single_Resistor)
  23. {
  24. /* ----AMP 端口模拟功能设置---- */
  25. #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
  26. {
  27. SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
  28. SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
  29. SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
  30. SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
  31. ClrBit(AMP_CR1, AMP0_GAIN2);
  32. ClrBit(AMP_CR1, AMP0_GAIN1);
  33. ClrBit(AMP_CR1, AMP0_GAIN0);
  34. }
  35. #else
  36. {
  37. SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
  38. SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
  39. SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
  40. ClrBit(AMP_CR0, AMP0M_GND); // 禁止运放反向输入端内部接地
  41. SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
  42. #if (HW_AMPGAIN == AMP2x)
  43. {
  44. ClrBit(AMP_CR1, AMP0_GAIN2);
  45. ClrBit(AMP_CR1, AMP0_GAIN1);
  46. SetBit(AMP_CR1, AMP0_GAIN0);
  47. }
  48. #elif (HW_AMPGAIN == AMP4x)
  49. {
  50. ClrBit(AMP_CR1, AMP0_GAIN2);
  51. SetBit(AMP_CR1, AMP0_GAIN1);
  52. ClrBit(AMP_CR1, AMP0_GAIN0);
  53. }
  54. #elif (HW_AMPGAIN == AMP8x)
  55. {
  56. ClrBit(AMP_CR1, AMP0_GAIN2);
  57. SetBit(AMP_CR1, AMP0_GAIN1);
  58. SetBit(AMP_CR1, AMP0_GAIN0);
  59. }
  60. #elif (HW_AMPGAIN == AMP16x)
  61. {
  62. SetBit(AMP_CR1, AMP0_GAIN2);
  63. ClrBit(AMP_CR1, AMP0_GAIN1);
  64. ClrBit(AMP_CR1, AMP0_GAIN0);
  65. }
  66. #endif
  67. }
  68. #endif
  69. }
  70. #else
  71. {
  72. SetBit(P1_AN, P16); //AMP1 Pin设置为模拟模式 +
  73. SetBit(P1_AN, P17); //AMP1 Pin设置为模拟模式 -
  74. SetBit(P2_AN, P20); //AMP1 Pin设置为模拟模式 O
  75. SetBit(P2_AN, P21); //AMP2 Pin设置为模拟模式 +
  76. SetBit(P2_AN, P22); //AMP2 Pin设置为模拟模式 -
  77. SetBit(P2_AN, P23); //AMP2 Pin设置为模拟模式 O
  78. ClrBit(P2_OE, P23); //P23_OE需要强制为0,禁止DA1输出至PAD
  79. SetBit(P3_AN, P31); //AMP0 Pin设置为模拟模式 +
  80. SetBit(P3_AN, P30); //AMP0 Pin设置为模拟模式 -
  81. SetBit(P2_AN, P27); //AMP0 Pin设置为模拟模式 O
  82. SetBit(AMP_CR0, AMP0EN); //AMP0 Enable
  83. SetBit(AMP_CR0, AMP1EN); //AMP1 Enable
  84. SetBit(AMP_CR0, AMP2EN); //AMP2 Enable
  85. #if (HW_AMP_MODE == AMP_NOMAL) //外部放大
  86. {
  87. ClrBit(AMP_CR1, AMP0_GAIN2);
  88. ClrBit(AMP_CR1, AMP0_GAIN1);
  89. ClrBit(AMP_CR1, AMP0_GAIN0);
  90. ClrBit(AMP_CR1, AMP_PH_GAIN2);
  91. ClrBit(AMP_CR1, AMP_PH_GAIN1);
  92. ClrBit(AMP_CR1, AMP_PH_GAIN0);
  93. }
  94. #else
  95. {
  96. #if (HW_AMPGAIN == AMP2x)
  97. {
  98. ClrBit(AMP_CR1, AMP0_GAIN2);
  99. ClrBit(AMP_CR1, AMP0_GAIN1);
  100. SetBit(AMP_CR1, AMP0_GAIN0);
  101. ClrBit(AMP_CR1, AMP_PH_GAIN2);
  102. ClrBit(AMP_CR1, AMP_PH_GAIN1);
  103. SetBit(AMP_CR1, AMP_PH_GAIN0);
  104. }
  105. #elif (HW_AMPGAIN == AMP4x)
  106. {
  107. ClrBit(AMP_CR1, AMP0_GAIN2);
  108. SetBit(AMP_CR1, AMP0_GAIN1);
  109. ClrBit(AMP_CR1, AMP0_GAIN0);
  110. ClrBit(AMP_CR1, AMP_PH_GAIN2);
  111. SetBit(AMP_CR1, AMP_PH_GAIN1);
  112. ClrBit(AMP_CR1, AMP_PH_GAIN0);
  113. }
  114. #elif (HW_AMPGAIN == AMP8x)
  115. {
  116. ClrBit(AMP_CR1, AMP0_GAIN2);
  117. SetBit(AMP_CR1, AMP0_GAIN1);
  118. SetBit(AMP_CR1, AMP0_GAIN0);
  119. ClrBit(AMP_CR1, AMP_PH_GAIN2);
  120. SetBit(AMP_CR1, AMP_PH_GAIN1);
  121. SetBit(AMP_CR1, AMP_PH_GAIN0);
  122. }
  123. #elif (HW_AMPGAIN == AMP16x)
  124. {
  125. SetBit(AMP_CR1, AMP0_GAIN2);
  126. ClrBit(AMP_CR1, AMP0_GAIN1);
  127. ClrBit(AMP_CR1, AMP0_GAIN0);
  128. SetBit(AMP_CR1, AMP_PH_GAIN2);
  129. ClrBit(AMP_CR1, AMP_PH_GAIN1);
  130. ClrBit(AMP_CR1, AMP_PH_GAIN0);
  131. }
  132. #endif
  133. }
  134. #endif
  135. }
  136. #endif
  137. }