找回密码
 立即注册
楼主: 神***

ADC的转换参考电压永远是ADC_VRef+ 和 1.19V 辅助固定信号源无关,如何接 ?

[复制链接]
  • TA的每日心情
    擦汗
    前天 09:46
  • 签到天数: 79 天

    [LV.6]常住居民II

    0

    主题

    120

    回帖

    228

    积分

    禁止发言

    积分
    228
    发表于 2024-3-27 09:07:46 | 显示全部楼层
    专业的知识
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    22 分钟前
  • 签到天数: 116 天

    [LV.6]常住居民II

    2

    主题

    276

    回帖

    572

    积分

    高级会员

    积分
    572
    发表于 2024-4-11 11:05:01 | 显示全部楼层
    大侠们,帮找错误来,用ADC控制LED闪烁延时的例子
    #include <STC32G.H>

    typedef unsigned char u8;                                        //unsigned char 用 u8 表示
    typedef unsigned int u16;                                        //unsigned int 用 u16 表示
    typedef unsigned long int u32;                //unsigned long int 用 u32 表示

    #define MAIN_Fosc  35000000UL                //定义主频 35MHz,请按实际频率修改(用于delay函数自适应主频)

    #define ON         0                                //定义0 为 开
    #define        OFF        1                                //定义1 为 关

    sbit LED1 = P2^0;                //引脚定义:LED1->P20
    P2M1 = 0x00;P2M0 = 0x00;                //设置P2口为准双向口模式 //00:准双向口 01:推挽输出 10:高阻输入 11:开漏输出

    sbit ADC_PIN=P1^0;//定义ADC引脚
    P1M1 = 0xFF;P1M0 = 0x00;                //设置P1口为高阻输入模式 //00:准双向口 01:推挽输出 10:高阻输入 11:开漏输出

    void init_adc()//初始化ADC
            {
        ADC_CHS = 0x00; // 设置ADC引脚为输入P1^0
        ADC_CONTR = 0x80; // 开启ADC,使用内部参考电压  
      }


    unsigned int read_adc();    // 读取ADC值
    void delay(unsigned int ms);  // 延时函数


    unsigned int read_adc() // 读取ADC值
            {
        unsigned int adc_value;
                    ADC_RES = 0;
        ADC_RESL = 0;

        ADC_CONTR = (ADC_CONTR & 0xf0) | channel; //设置ADC转换通道
        ADC_START = 1;//启动ADC转换
        _nop_();// 等待转换完成
        _nop_();
        _nop_();
        _nop_();// 等待转换完成
        while(ADC_FLAG == 0);   //wait for ADC finish 结束转换
        ADC_FLAG = 0;     //清除ADC结束标志
        adc_value =(((u16)ADC_RES << 8) | ADC_RESL);// 读取ADC值
                    return adc_value;
    }
    // 延时函数
    void delay(unsigned int ms)
    {
        unsigned int i, j;
        for (i = 0; i < ms; i++)
                    {
            for (j = 0; j < 110; j++)
                            {
           _NOP_();}
        }
    }

    void main(void)
    {
              WTST = 0;  //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
        EAXFR = 1; //扩展寄存器(XFR)访问使能
        CKCON = 0; //提高访问XRAM速度
           
                    init_adc(); // 初始化ADC
              unsigned int adc_value;
        while (1)
                      {
           adc_value = ADC_RESL(); // 读取ADC值
           LED1 = ON;
                             delay(adc_value); // 根据ADC值控制延时
                             LED1 = OFF;
                             delay(adc_value); // 根据ADC值控制延时
          }
    }       

    点评

    连个问题描述都没有,我们无法猜测你的程序有什么问题。  详情 回复 发表于 2024-4-11 16:49
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3174

    回帖

    7171

    积分

    超级版主

    积分
    7171
    发表于 2024-4-11 16:49:44 | 显示全部楼层
    科学妞妞 发表于 2024-4-11 11:05
    大侠们,帮找错误来,用ADC控制LED闪烁延时的例子
    #include

    连个问题描述都没有,我们无法猜测你的程序有什么问题。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    22 分钟前
  • 签到天数: 116 天

    [LV.6]常住居民II

    2

    主题

    276

    回帖

    572

    积分

    高级会员

    积分
    572
    发表于 2024-4-11 16:53:28 | 显示全部楼层
    梁工 发表于 2024-4-11 16:49
    连个问题描述都没有,我们无法猜测你的程序有什么问题。

    问题描述

    问题描述

    点评

    提示有语法错误,你双击错误提示,看看是哪里的错误。  详情 回复 发表于 2024-4-11 17:39
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3174

    回帖

    7171

    积分

    超级版主

    积分
    7171
    发表于 2024-4-11 17:39:55 | 显示全部楼层

    提示有语法错误,你双击错误提示,看看是哪里的错误。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-29 15:36
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    2

    回帖

    36

    积分

    新手上路

    积分
    36
    发表于 2024-4-24 10:36:20 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    昨天 09:59
  • 签到天数: 162 天

    [LV.7]常住居民III

    3

    主题

    114

    回帖

    237

    积分

    中级会员

    积分
    237
    发表于 2024-4-27 08:17:43 | 显示全部楼层
    建议开下硬件方面的教学
    You can you up!~No can no BB!~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:05
  • 签到天数: 63 天

    [LV.6]常住居民II

    6

    主题

    274

    回帖

    481

    积分

    中级会员

    积分
    481
    发表于 2024-4-29 14:27:25 | 显示全部楼层
    回复 送花

    使用道具 举报

  • TA的每日心情
    擦汗
    前天 09:46
  • 签到天数: 79 天

    [LV.6]常住居民II

    0

    主题

    120

    回帖

    228

    积分

    禁止发言

    积分
    228
    发表于 2024-5-10 14:55:39 | 显示全部楼层
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-14 08:11 , Processed in 0.091082 second(s), 64 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表