华盛顿娱乐手机下载直营网: [活动专区] 【赛元95F】 + 8、SC95F8617 ADC测试

永利游戏开户直营
139|1
楼主
    测试下ADC功能。

    一、硬件电路

    使用ADC3端口来采集模拟电压。
     

    二、程序

    2.1、main.c


  1. #include "config.h"

  2. void main(void)
  3. {
  4.         uint i=0;
  5.         uint adc_val;
  6.         Init_led();
  7.         Init_key();
  8.         Init_uart(32, 9600);
  9.         Init_rs485();
  10.         uart_chl(1);   //usb-ttl
  11.         adc_test();
  12.         while(1)
  13.         {
  14.         }
  15. }
复制代码

    2.2、adc.c
  1. #include "config.h"

  2. bit adcflag = 0;

  3. void Init_adc(uchar chl)
  4. {
  5.         ADCCON = 0X80|chl;
  6.         if(chl<8)     //EADC
  7.         {
  8.                 ADCCFG0=1<<chl;
  9.         }
  10.         else
  11.         {
  12.                 ADCCFG1=1<<(chl-8);
  13.         }
  14.         //EADC=1;
  15.         ADCCON &= ~(0X20);
  16.         //IE |= 0X40;
  17.         EA=1;
  18. }

  19. void ADC_Interrupt(void) interrupt 6
  20. {
  21.         ADCCON &= ~(0X20);   
  22.         adcflag = 1;
  23. }

  24. //uint ADC_Readdata(uchar chl)
  25. //{
  26. //        uint adcvalue=0;
  27. //        Init_adc(chl);
  28. //        ADCCON |= 0X40;   
  29. //        while(!adcflag);
  30. //        adcflag=0;
  31. //        adcvalue = (ADCVH<<4)+(ADCVL>>4);
  32. //        return adcvalue;
  33. //}

  34. void  adc_test(void)
  35. {
  36.         uint adcvalue=0;
  37.         uint i;
  38.        
  39.         Init_adc(3);
  40.         while(1)
  41.         {
  42.                 ADCCON |= 0x40;   
  43.                 //while(!adcflag);
  44.                 while(!(ADCCON&0x20));
  45.                 ADCCON &= ~(0X20);
  46.                 adcflag=0;
  47.                 adcvalue = (ADCVH<<4)+(ADCVL>>4);
  48.                 uart_send_char(adcvalue>>8);
  49.                 uart_send_char(adcvalue);
  50.                 for(i=0;i<50000;i++);
  51.         }
  52.        
  53. }
复制代码


    2.3、adc.h
  1. #ifndef _ADC_H_
  2. #define _ADC_H_

  3. #define IC_MODEL  SC95F8617

  4. void  adc_test(void);
  5.        

  6. #endif
复制代码



    三、测试结果

    调整电位器,华盛顿娱乐手机下载直营网:串口输出的数据变化。
   












沙发
| 2020-3-25 14:31 | 只看该作者
感谢分享,奖励您100家园币,家园币可以兑换礼品或抽奖,欢迎体验~
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
澳门哪里能玩德州扑克 EB易博亚游官方网址 赌场筹码能造假吗网上娱乐场 维多利亚天津快乐十分时时彩开奖记录 同升国际WM棋牌
tt代理加盟 菲律宾永利彩票游戏 OBO亚洲馆娱乐手机app 大奖娱乐88pt88导航 全民彩票是真是假官网
t6娱乐126最高返水 千亿国际会员中心 金木棉游戏亚洲游戏最高占成 全新升级版尊龙娱乐城 齐博国际集团
www.sun516.com 澳门美高梅网下载 63沙龙现金直营网登入 菲律宾m5彩票投注 5588msc.com