聚元微MCU(三)-ADC

[复制链接]
 楼主| xys9190 发表于 2022-3-30 11:10 | 显示全部楼层 |阅读模式

  1. void ADC_Init(void)
  2. {
  3.   CMPCON1 |= BIT3;                // 打开内部1.2V
  4.   ADCON0 = tkc_dis|               // 禁用TKC
  5.            adc_en|                // 使能ADC
  6.            tsc_dis|               // 禁用TSC
  7.            wait_tkrd_dis|         // 禁用等待软件读 TKC 数据
  8.            freq_sel_div8|         // 8分频
  9.            scan_mode_dis;         // 关闭扫描模式
  10.   ADCON1 = accum_sel_8|           // 累计8次转换数据
  11.            avg_en|                // 使能求平均操作
  12.            trig_sel_after_adc|    // ADC数据转换完成后触发中断
  13.            func_flag_adc;         // 工作在ADC功能模式
  14.   ADCON2 = tkc_lpmod_dis|         // 禁用电容传感器低功耗
  15.            ses_gap_0_32k_clk|     // 0 个‘clk_32k’时钟周期
  16.            sta_gap_2tk_clk;       // 2 个‘tk_clk’时钟周期
  17.   ADSTA = inject_dis|            // 注入操作被禁止
  18.            iref_adj_6uA|          // 参考电流校准6uA
  19.            cont_mod_dis|          // 禁用ADC连续转换模式
  20.            adc_vref_vdd;         // ADC 参考电压选择VDD
  21.   ADCSOF = asub_dis|
  22.            ch_sw_port|
  23.            tkc_ofst_0pF;

  24.   IE1 |= BIT5;
  25. }
  1. void ADC_GetVal(void)
  2. {
  3.         //union16_t adc_val;

  4.         ADCON0 |= adc_en;                                                                                //Disable ADC  
  5.         ADCON1 |= adc_start;
  6.         //while(ADCON1&adc_start);
  7.         AdcFlag = 0;
  8.         while(!AdcFlag);
  9.         //adc_val.u8d[0] = ADDATH;
  10.         //adc_val.u8d[1] = ADDATL;
  11.         //return adc_val.u16d;
  12. }
  1. void ADC_Channel_Sel(uint16_t channel)
  2. {
  3.         union16_t ch;
  4.   
  5.         ch.u16d = channel;
  6.         ADCHS1 = ch.u8d[0];     // 高8通道选择
  7.         P2ASW  = ch.u8d[0];     // 高8通道模拟开关
  8.         ADCHS0 = ch.u8d[1];     // 低8通道选择
  9.         P1ASW         = ch.u8d[1];     // 低8通道模拟开关
  10. }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

18

主题

144

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部