找回密码
 立即注册
楼主: admin

视频教学:《32位8051单片机原理及应用》,一等奖2万, 送实验箱; 冲哥版

   火... [复制链接]

0

主题

6

回帖

20

积分

新手上路

积分
20
发表于 2024-7-31 09:31:02 | 显示全部楼层
已学习
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:174
  • 最近打卡:2025-07-04 17:20:41
已绑定手机

11

主题

72

回帖

799

积分

高级会员

积分
799
发表于 2024-8-1 08:52:34 | 显示全部楼层
float ADC_PIPE_READ(u8 p)
{
        u16 dat=0;
        float v=0;
        dat =0xBD;
        ADC_CONTR &= p;
        ADC_POWER =1;
        Delay1us();
        ADC_START = 1;
        while(!ADC_FLAG);
        dat = (ADC_RES << 8)  + ADC_RESL;
        printf("ADC_RES:%x\n",ADC_RES);
        printf("ADC_RESL: %x\n",ADC_RESL);
        ADC_FLAG = 0;
        v=5/4096* (float)dat;
        ADC_RES = 0;
        ADC_RESL = 0;
        return v;
       
}这段代码读取ADC数据。ADC_RESL数据始终位零。请问冲哥是那里写错了吗,USB串口打印结果如下:
[08:51:53.410]接收←ADC_RES:fe
                    ADC_RESL: 0
                    电压:0.00
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:326
  • 最近打卡:2025-07-06 08:22:46

0

主题

205

回帖

1814

积分

金牌会员

积分
1814
发表于 2024-8-1 11:07:04 | 显示全部楼层
认真学习了pwm
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:174
  • 最近打卡:2025-07-04 17:20:41
已绑定手机

11

主题

72

回帖

799

积分

高级会员

积分
799
发表于 2024-8-1 11:14:26 | 显示全部楼层
baig*** 发表于 2024-8-1 08:52
float ADC_PIPE_READ(u8 p)
{
        u16 dat=0;

找到原因了:
        void ADC_Init( void )
        {
                P1M0 = 0x00; P1M1 = 0xff;
          P0PU = 0x00;
    P0PD = 0x00;
                ADCTIM = 0X3F;                                        //
                ADCCFG = 0X37;                                        //数据右对齐,时钟选择位SYSCLK/2/16最慢
                ADC_POWER = 1;
        }


//
float ADC_PIPE_READ(u8 p)
{
       
        u16 adcval;        //adc数值保存变量
        float v=0;
        ADC_RES =0;
        ADC_RESL =0;
                ADC_CONTR &= 0xf0;//清空通道
                ADC_CONTR |= p;
//                ADC_POWER = 1;       
                ADC_START = 1;        //开启ADC转化
                _nop_();                                                                //空操作指令
                _nop_();                       
                while(!ADC_FLAG);                                                //等待ADC转换结束
                ADC_FLAG = 0;               
        printf("ADC_RES:->0x%X\r\n",ADC_RES);
        printf("ADC_RESL:->0x%X\r\n",ADC_RESL);
                adcval = (ADC_RES << 8)  + ADC_RESL;        //计算adc的数值
                printf("ADC_Data: %x\r\n",adcval);
                v=(4.86/(float)4096)*(float)adcval;
                printf("电压值:%.2f\r\n",v);
                return v;
       
}
[11:14:16.357]接收←ADC_RES:->0x6
                    ADC_RESL:->0x13
                    ADC_Data: 613
                    电压值:1.85
                    电压:1.85
回复 支持 反对

使用道具 举报 送花

0

主题

6

回帖

20

积分

新手上路

积分
20
发表于 2024-8-2 08:28:17 | 显示全部楼层
打卡第2天
回复

使用道具 举报 送花

0

主题

6

回帖

20

积分

新手上路

积分
20
发表于 2024-8-2 09:11:52 | 显示全部楼层
第九集学习
回复 支持 反对

使用道具 举报 送花

0

主题

6

回帖

20

积分

新手上路

积分
20
发表于 2024-8-2 09:49:35 | 显示全部楼层
第十集学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-07-06 08:57:22
已绑定手机

9

主题

107

回帖

927

积分

高级会员

积分
927
发表于 2024-8-2 15:18:26 | 显示全部楼层
今天学习了第4集,不要急,不怕错,勇往直前。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:480
  • 最近打卡:2025-07-06 08:21:41

4

主题

510

回帖

2265

积分

金牌会员

积分
2265
发表于 2024-8-2 18:41:35 | 显示全部楼层
ysp5*** 发表于 2024-8-2 15:18
今天学习了第4集,不要急,不怕错,勇往直前。

点了一盏灯,就入门了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-07-06 08:57:22
已绑定手机

9

主题

107

回帖

927

积分

高级会员

积分
927
发表于 2024-8-3 08:36:35 | 显示全部楼层
科学*** 发表于 2024-8-2 18:41
点了一盏灯,就入门了

谢谢
回复 支持 反对

使用道具 举报 送花

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

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

GMT+8, 2025-7-6 23:37 , Processed in 0.123886 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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