查看: 7701|回复: 20

[原创] 【从51到M0+】 ADC

[复制链接]
  • TA的每日心情
    慵懒
    2019-7-22 13:56
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    20

    主题

    644

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1820
    最后登录
    2020-10-13
    发表于 2016-12-12 15:13:56 | 显示全部楼层 |阅读模式
    本帖最后由 邹姆斯特朗 于 2016-12-12 17:34 编辑

    软件平台:keil5.14
    硬件平台:LPC824Lite
    目的:12bit adc采集电压,串口助手显示。


    STC89C51
          原来学习的STC89c52单片机是没有AD转换的,后来的STC12系列带有A/D转换了,10位精度ADC,共8路,转换速度可达250K/S。


    LPC824
    12位逐次比较型模数转换器,转换速率高达1.2Msample/s,两个独立触发可配置的转换序列。我利用其中的A序列,每500ms触发一次ADC转化,在中断中读取结果并发送到PC端。
    adc.png

    1. Chip_SYSCTL_PowerUp(SYSCTL_SLPWAKE_ADC_PD);//唤醒ADC
    2.         Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_ADC);//使能ADC外设时钟
    3.         Chip_ADC_EnableInt(LPC_ADC, ADC_INTEN_SEQA_ENABLE );//使能ADC的的SEQA中断
    4.         NVIC_EnableIRQ(ADC_SEQA_IRQn);//使能ADC外设的中断
    5.         
    6.         /*使能ADC引脚 */
    7.         Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM);
    8.         Chip_SWM_EnableFixedPin(SWM_FIXED_ADC3);
    9.         Chip_Clock_DisablePeriphClock(SYSCTL_CLOCK_SWM);
    10.         
    11.         /*每次上电或者Deep power-down模式下唤醒,都需要校准ADC*/
    12.   Chip_ADC_StartCalibration(LPC_ADC);
    13.   while (!(Chip_ADC_IsCalibrationDone(LPC_ADC)))
    14.                
    15.         Chip_ADC_SetClockRate(LPC_ADC, ADC_MAX_SAMPLE_RATE);//设置ADC的采样率,设置最大30Mhz               
    16.         
    17.         /* 设置、使能ADC的A序列 */
    18.         Chip_ADC_SetupSequencer(LPC_ADC, ADC_SEQA_IDX,(ADC_SEQ_CTRL_CHANSEL(3) | ADC_SEQ_CTRL_MODE_EOS));
    19.         Chip_ADC_EnableSequencer(LPC_ADC, ADC_SEQA_IDX);
    复制代码

    附件 ADC.zip (228.22 KB, 下载次数: 33)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2016-12-12 15:36:49 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-10-15 13:16
  • 签到天数: 191 天

    连续签到: 1 天

    [LV.7]常住居民III

    11

    主题

    664

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1722
    最后登录
    2017-10-15
    发表于 2016-12-12 15:39:48 | 显示全部楼层
    谢谢分享                        
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-2-5 17:05
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    28

    主题

    1814

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    5871
    最后登录
    2025-6-26
    发表于 2016-12-12 20:19:56 | 显示全部楼层
    真好,谢谢分享
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-22 13:56
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    20

    主题

    644

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1820
    最后登录
    2020-10-13
     楼主| 发表于 2016-12-12 21:22:14 | 显示全部楼层

    谢谢支持!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-22 13:56
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    20

    主题

    644

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1820
    最后登录
    2020-10-13
     楼主| 发表于 2016-12-12 21:22:36 | 显示全部楼层

    谢谢支持!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-22 13:56
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    20

    主题

    644

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1820
    最后登录
    2020-10-13
     楼主| 发表于 2016-12-12 21:22:55 | 显示全部楼层

    谢谢支持!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-12-12 21:25:47 | 显示全部楼层
    谢谢分享,学习了。我一直i在用MBED——偷懒了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-22 13:56
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    20

    主题

    644

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1820
    最后登录
    2020-10-13
     楼主| 发表于 2016-12-12 21:29:04 | 显示全部楼层
    zhjb1 发表于 2016-12-12 21:25
    谢谢分享,学习了。我一直i在用MBED——偷懒了。

    MBED用起来很方便,用过一次,魅力很大。不过师兄建议我还是从寄存器入手,结合库来使用,这样学的扎实。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-12-12 22:10:28 | 显示全部楼层
    谢谢好意见,但确实难了点。我不是做产品的,只是玩各种MCU,MPU;以前的手册以写寄存器为主,表达准确使用方便,进入ARM后,发现手册描述寄存器有点不太清楚,并且案例语句少之又少,尝试过Freescale的M4类的芯片,就很费劲了,因为在Nuvoton的M0上还写寄存器的方式编程,转眼又到了LPC,最近又在STM32F4xx上玩,感觉还是MBED来的简单——这种将底层有ARM的MBED做完了,使用者只要关心应用层的操作就可以了的方法太好了,至少在ARMmbed上已经玩了Nuvoton、LPC、Freescale、STM32F4xx的4中ARM结构的板子,感觉自己要改的很少很少就可以移植到类似的芯片上。我想MBED可能是趋势——因为谁也无法抵挡芯片厂家换芯的速度,只能关心芯上的应用了,你说呢?除非你是做产品,少量的玩一个系列的。再次谢谢!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 22:12 , Processed in 0.105623 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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