[DemoCode下载] 通过带隙电压测量VCC

[复制链接]
1120|7
 楼主| dongnanxibei 发表于 2019-4-25 23:58 | 显示全部楼层 |阅读模式
如果我们可以确定带隙电压和对应的ADC原始数据那么我们就可以通过比例运算知道VCC,因为满量程对应的就是VCC,也就是0x0FFF对应VCC
即VCC:0xFFF=带隙电压:带隙电压ADC

 楼主| dongnanxibei 发表于 2019-4-25 23:58 | 显示全部楼层
  1. double Bandgap_Voltage,VDD_Voltage;
  2. void ADC_Bypass (void) // The first three times convert should be
  3. bypass
  4. {
  5. unsigned char ozc;
  6. for (ozc=0;ozc<0x03;ozc++)
  7. {
  8. clr_ADCF;
  9. set_ADCS;
  10. while(ADCF == 0);
  11. }
  12. }
  13. void main (void)
  14. {
  15. double bgvalue;
  16. READ_BANDGAP();
  17. Enable_ADC_BandGap;
  18. ADC_Bypass();
  19. clr_ADCF;
  20. set_ADCS;
  21. while(ADCF == 0);
  22. bgvalue = (ADCRH<<4) + ADCRL;
  23. VDD_Voltage = (0xFFF/bgvalue)*Bandgap_Voltage;
  24. printf ("\n Bandgap voltage = %e", Bandgap_Voltage);
  25. printf ("\n VDD voltage = %e", VDD_Voltage);
  26. while(1);
  27. }
 楼主| dongnanxibei 发表于 2019-4-25 23:59 | 显示全部楼层
而带隙电压可以通过特定的操作获取
  1. #define set_IAPEN
  2. BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON|=SET_BIT0 ;EA=BIT_TMP
  3. #define set_IAPGO
  4. BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;IAPTRG|=SET_BIT0 ;EA=BIT_TMP
  5. #define clr_IAPEN
  6. BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;CHPCON&=~SET_BIT0;EA=BIT_TMP
  7. void READ_BANDGAP()
  8. {
  9. UINT8 BandgapHigh,BandgapLow;
  10. Set_IAPEN; // Enable IAPEN
  11. IAPAL = 0x0C;
  12. IAPAH = 0x00;
  13. IAPCN = 0x04;
  14. set_IAPGO; // Trig set IAPGO
  15. BandgapHigh = IAPFD;
  16. IAPAL = 0x0d;
  17. IAPAH = 0x00;
  18. IAPCN = 0x04;
  19. set_IAPGO; // Trig set IAPGO
  20. BandgapLow = IAPFD;
  21. BandgapLow = BandgapLow&0x0F;
  22. Clr_IAPEN; // Disable IAPEN
  23. Bandgap_Value = (BandgapHigh<<4)+BandgapLow;
  24. Bandgap_Voltage = 3072/(0x1000/Bandgap_Value);
 楼主| dongnanxibei 发表于 2019-4-26 00:00 | 显示全部楼层
 楼主| dongnanxibei 发表于 2019-4-26 00:01 | 显示全部楼层
gaoyang9992006 发表于 2019-4-26 11:11 | 显示全部楼层
其实官方应该直接给个封装彻底的例子,这样大家直接拿来就用,不用考虑中间原理了,也是可以的。
BigLeo8 发表于 2019-4-26 13:44 | 显示全部楼层
features 发表于 2019-4-26 19:22 | 显示全部楼层
感谢分享,学习下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

3848

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部