打印
[DemoCode下载]

N76E003多通道ADC操作

[复制链接]
531|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuotuzi|  楼主 | 2019-5-26 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Jan/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003  ADC mutli channel demo code
//***********************************************************************************************************
#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"

//*****************  The Following is in define in Fucntion_define.h  ***************************
//****** Always include Function_define.h call the define you want, detail see main(void) *******
//***********************************************************************************************
                unsigned char ADCdataH[4], ADCdataL[4];

                               
/******************************************************************************
The main C function.  Program execution starts
here after stack initialization.
******************************************************************************/
void main (void)
{
                unsigned char i;       

       
        while(1)
        {
                CKDIV = 0x02;                                                                                                                        // IMPORTANT!! Modify system clock to 4MHz ,then add the ADC sampling clock base to add the sampling timing.
                i = 0;
                        Enable_ADC_AIN0;
                        clr_ADCF;
                        set_ADCS;                                                                                                                               
      while(ADCF == 0);
                        ADCdataH[i] = ADCRH;
                        ADCdataL[i] = ADCRL;
                        Disable_ADC;
                i++;
               
                        Enable_ADC_BandGap;
                        clr_ADCF;
                        set_ADCS;                                                                                                                               
      while(ADCF == 0);
                        ADCdataH[i] = ADCRH;
                        ADCdataL[i] = ADCRL;
                        Disable_ADC;
                i++;
               
                        Enable_ADC_AIN3;
                        clr_ADCF;
                        set_ADCS;                                                                                                                               
      while(ADCF == 0);
                        ADCdataH[i] = ADCRH;
                        ADCdataL[i] = ADCRL;
                        Disable_ADC;
                CKDIV = 0x00;       
        }
               
       
}


使用特权

评论回复
沙发
zhuotuzi|  楼主 | 2019-5-26 10:59 | 只看该作者
这个例子有意思,本来可以用一个for循环实现的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

164

主题

3192

帖子

7

粉丝