[DemoCode下载] ML51基于寄存器的ADC多通道配置

[复制链接]
800|2
 楼主| 捉虫天师 发表于 2019-11-29 21:28 | 显示全部楼层 |阅读模式
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/

  6. //***********************************************************************************************************
  7. //  Website: http://www.nuvoton.com
  8. //  E-Mail : MicroC-8bit@nuvoton.com
  9. //  Date   : Jan/21/2019
  10. //***********************************************************************************************************

  11. //***********************************************************************************************************
  12. //  File Function: ML51 ADC multi channel input demo code
  13. //***********************************************************************************************************
  14. #include "ML51.H"


  15. unsigned char xdata ADCdataAIN5H, ADCdataAIN5L;
  16. unsigned char xdata ADCdataVBGH, ADCdataVBGL;

  17. /******************************************************************************
  18. The main C function.  Program execution starts
  19. here after stack initialization.
  20. ******************************************************************************/
  21. void main (void)
  22. {
  23.   /* UART0 settting for printf function */
  24.     MFP_P31_UART0_TXD;
  25.     P31_PUSHPULL_MODE;
  26.     UART_Open(24000000,UART0_Timer3,115200);
  27.     ENABLE_UART0_PRINTF;
  28.   
  29. /*Enable channel 5 */
  30.       ENABLE_ADC_AIN5;
  31.       ADCCON1|=0X30;            /* clock divider */
  32.       ADCCON2|=0X0E;            /* AQT time */
  33.       AUXR1|=SET_BIT4;          /* ADC clock low speed */
  34.       clr_ADCCON0_ADCF;
  35.       set_ADCCON0_ADCS;                                
  36.       while(ADCCON0&0x10 == 0);
  37.       ADCdataAIN5H = ADCRH;
  38.       ADCdataAIN5L = ADCRL;
  39.       DISABLE_ADC;
  40. //      printf("\n ADC channel 5 =0x%bx", ADCdataAIN5H);

  41. /*Enable Bandgap */     
  42.       ENABLE_ADC_BANDGAP;
  43.       ADCCON1|=0X30;            /* clock divider */
  44.       ADCCON2|=0X0E;            /* AQT time */
  45.       AUXR1|=SET_BIT4;          /* ADC clock low speed */
  46.       clr_ADCCON0_ADCF;
  47.       set_ADCCON0_ADCS;                                
  48.       while(ADCCON0&0x10 == 0);
  49.       ADCdataVBGH = ADCRH;
  50.       ADCdataVBGL = ADCRL;
  51.       DISABLE_ADC;
  52. //      printf("\n ADC channel bandgap =0x%bx", ADCdataVBGH);
  53.       
  54.     while(1);  
  55. }


jiekou001 发表于 2019-11-29 21:41 | 显示全部楼层
看起来代码挺亲切的,51代码还是不错的。
小明的同学 发表于 2019-12-1 19:16 | 显示全部楼层
这种宏定义很容易理解啥意思,根本用不到备注了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

213

主题

3276

帖子

7

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