打印
[技术问答]

N76E003的ADC程序怎么写?

[复制链接]
6986|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rwbycc|  楼主 | 2017-1-12 11:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
例程里怎么没有初始化设置通道,要怎么转换数据
沙发
cybers| | 2017-1-12 13:16 | 只看该作者

/******************************************************************************
The main C function.  Program execution starts
here after stack initialization.
******************************************************************************/
void main (void)
{
    Set_All_GPIO_Quasi_Mode;
                InitialUART0_Timer1(115200);
          
/*-------------------------------------------
        ADC simply initial setting
--------------------------------------------*/
//                Enable_ADC_AIN3;                                                                                                                // Enable AIN0 P1.7 as ADC input
                Enable_ADC_BandGap;

                while(1)
    {
                        clr_ADCF;
                        set_ADCS;                                                                                                                                        // Each time ADC start trig signal
      while(ADCF == 0);
                        printf ("\n Value = 0x%bx",ADCRH);
                                printf ("\n Value = 0x%bx",ADCRL);
                        Timer0_Delay1ms(100);
    }
}

使用特权

评论回复
评论
jack5288 2018-7-17 16:16 回复TA
大师:我是初学好的,我试验这个程序在编译时有两处错误, InitialUART0_Timer1(115200)和Timer0_Delay1ms(100)说没有定义,这两个头文件我已经加上。 
板凳
rwbycc|  楼主 | 2017-1-12 14:22 | 只看该作者
Enable_ADC_BandGap这是什么意思,ADCRH,ADCRL怎么转换成实际测量出的数据

使用特权

评论回复
地板
643757107| | 2017-1-12 22:54 | 只看该作者
应该看看源程序,看看那个是什么函数,怎么实现。

使用特权

评论回复
5
dongnanxibei| | 2017-1-12 23:35 | 只看该作者
这个去官方下载例程开发包啊。

使用特权

评论回复
6
huangcunxiake| | 2017-1-13 23:57 | 只看该作者
这个看手册啊,就是51单片机,很容易弄。

使用特权

评论回复
7
zhuotuzi| | 2017-1-14 12:32 | 只看该作者
那个例程是没法看出来门道的。

使用特权

评论回复
8
dongnanxibei| | 2017-1-14 18:55 | 只看该作者
确认一下参考电压,按等比例的形式转换。

使用特权

评论回复
9
14小瑞| | 2017-10-14 14:49 | 只看该作者
可是数据手册里好像没有教怎么确定参考电压,请指教

使用特权

评论回复
10
Andy003| | 2017-10-14 15:18 | 只看该作者
欢迎来勾搭,代理新唐产品、技术大力支持

使用特权

评论回复
11
zhuomuniao110| | 2017-10-14 22:11 | 只看该作者
参考电压看手册啊,看例程也行

使用特权

评论回复
12
秦川牛| | 2018-1-11 15:38 | 只看该作者
我的问题是ADC 数值不稳定,测试的是个很稳定的电压源,2.5v,还没头绪:
0C17
0C15
0C1C
0C1B
0C15
0C19
0C0F
0C18
0C16
0C13
0C16
0C19
0C16
0C16
0C1E
0C19
0C18
0C1F
0C1B
0C0D
0C28
0C18
0C1E
0C13
0C09
0C0F
0C13
0C26
0BFD
0C13
0C15
0C16

使用特权

评论回复
13
smilefenfen| | 2018-4-17 11:17 | 只看该作者
同感,有相关资料的伙伴可以分享一下吗,谢谢了

使用特权

评论回复
14
捉虫天师| | 2018-4-17 22:46 | 只看该作者
使能通道那个不是吗

使用特权

评论回复
15
找到规格书,写的也不是很清楚。

使用特权

评论回复
16
huangcunxiake| | 2018-6-6 20:40 | 只看该作者
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 ADC 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) *******
//***********************************************************************************************
#if 0
//#define Enable_ADC_AIN0                        ADCCON0&=0xF0;P17_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT0;ADCCON1|=SET_BIT0                                                                        //P17
//#define Enable_ADC_AIN1                        ADCCON0&=0xF0;ADCCON0|=0x01;P30_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT1;ADCCON1|=SET_BIT0                //P30
//#define Enable_ADC_AIN2                        ADCCON0&=0xF0;ADCCON0|=0x02;P07_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT2;ADCCON1|=SET_BIT0                //P07
//#define Enable_ADC_AIN3                        ADCCON0&=0xF0;ADCCON0|=0x03;P06_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT3;ADCCON1|=SET_BIT0                //P06
//#define Enable_ADC_AIN4                        ADCCON0&=0xF0;ADCCON0|=0x04;P05_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT4;ADCCON1|=SET_BIT0                //P05
//#define Enable_ADC_AIN5                        ADCCON0&=0xF0;ADCCON0|=0x05;P04_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT5;ADCCON1|=SET_BIT0                //P04
//#define Enable_ADC_AIN6                        ADCCON0&=0xF0;ADCCON0|=0x06;P03_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT6;ADCCON1|=SET_BIT0                //P03
//#define Enable_ADC_AIN7                        ADCCON0&=0xF0;ADCCON0|=0x07;P11_Input_Mode;AINDIDS=0x00;AINDIDS|=SET_BIT7;ADCCON1|=SET_BIT0                //P11
//#define Enable_ADC_BandGap        ADCCON0|=SET_BIT3;ADCCON0&=0xF8;                                                                                                                                                                                                                                                        //Band-gap 1.22V

//#define PWM0_FALLINGEDGE_TRIG_ADC                ADCCON0&=~SET_BIT5;ADCCON0&=~SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1&=~SET_BIT2;ADCCON1|=SET_BIT1
//#define PWM2_FALLINGEDGE_TRIG_ADC                ADCCON0&=~SET_BIT5;ADCCON0|=SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1&=~SET_BIT2;ADCCON1|=SET_BIT1
//#define PWM4_FALLINGEDGE_TRIG_ADC                ADCCON0|=SET_BIT5;ADCCON0&=~SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1&=~SET_BIT2;ADCCON1|=SET_BIT1
//#define PWM0_RISINGEDGE_TRIG_ADC                ADCCON0&=~SET_BIT5;ADCCON0&=~SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1|=SET_BIT2;ADCCON1|=SET_BIT1
//#define PWM2_RISINGEDGE_TRIG_ADC                ADCCON0&=~SET_BIT5;ADCCON0|=SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1|=SET_BIT2;ADCCON1|=SET_BIT1
//#define PWM4_RISINGEDGE_TRIG_ADC                ADCCON0|=SET_BIT5;ADCCON0&=~SET_BIT4;ADCCON1&=~SET_BIT3;ADCCON1|=SET_BIT2;ADCCON1|=SET_BIT1

//#define P04_FALLINGEDGE_TRIG_ADC                ADCCON0|=0x30;ADCCON1&=0xF3;ADCCON1|=SET_BIT1;ADCCON1&=~SET_BIT6
//#define P13_FALLINGEDGE_TRIG_ADC                ADCCON0|=0x30;ADCCON1&=0xF3;ADCCON1|=SET_BIT1;ADCCON1|=SET_BIT6
//#define P04_RISINGEDGE_TRIG_ADC                        ADCCON0|=0x30;ADCCON1&=~SET_BIT3;ADCCON1|=SET_BIT2;ADCCON1|=SET_BIT1;ADCCON1&=~SET_BIT6
//#define P13_RISINGEDGE_TRIG_ADC                        ADCCON0|=0x30;ADCCON1&=~SET_BIT3;ADCCON1|=SET_BIT2;ADCCON1|=SET_BIT1;ADCCON1|=SET_BIT6
#endif

/******************************************************************************
The main C function.  Program execution starts
here after stack initialization.
******************************************************************************/
void main (void)
{
                InitialUART0_Timer1(115200);

                Enable_ADC_AIN3;                                                // Enable AIN0 P1.7 as ADC input, Find in "Function_define.h" - "ADC INIT"
                while(1)
    {
                        clr_ADCF;
                        set_ADCS;                                                                        // ADC start trig signal
      while(ADCF == 0);
                        printf ("\n Value = 0x%bx",ADCRH);
                        printf ("\n Value = 0x%bx",ADCRL);
                        Timer0_Delay1ms(100);
    }
}


使用特权

评论回复
17
huangcunxiake| | 2018-6-6 20:40 | 只看该作者
这个是单通道的例子,通道3

使用特权

评论回复
18
yiyigirl2014| | 2018-6-7 16:45 | 只看该作者
这个ADC不是很容易用吗

使用特权

评论回复
19
捉虫天师| | 2018-6-7 23:08 | 只看该作者
使能不就是初始化吗

使用特权

评论回复
20
mintspring| | 2018-6-8 17:26 | 只看该作者
一个使能指令就搞定了。

使用特权

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

本版积分规则

8

主题

30

帖子

0

粉丝