[PIC®/AVR®/dsPIC®产品] PIC16F18446开发板测评__A/D转换与显示

[复制链接]
2418|22
 楼主| jinglixixi 发表于 2019-12-18 08:22 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2019-12-19 12:07 编辑

前面介绍了OLED屏的驱动显示,在此基础上若添加上A/D转换则可对模拟信号进行采集及显示,其效果如图1所示。

图1 模拟信号采集

为能使用PB6和PC2作为模拟信号采集口,通过MCC可对引脚功能加以配置,其内容如图2所示。

图2 MCC引脚配置

对应的引脚命名见图3,为使A/D正常进行,其时钟设置见图4。

图3 引脚命名


图4 时钟设置

在使用MCC生成框架代码后,实现图示效果的主程序如下:
  1. void main(void)
  2. {
  3.     unsigned int jg;
  4.     SYSTEM_Initialize();
  5.     OLED_Init();
  6.     __delay_ms(1);
  7.     OLED_CLS();
  8.     OLED_P8x16Str(0,0,"PIC16F18446");
  9.     OLED_P8x16Str(0,2,"OLED Display");
  10.     ADCC_Initialize();
  11.     ADCC_StartConversion(channel_ANC2);
  12.     while (1)
  13.     {
  14.       led0_Toggle();
  15.       __delay_ms(200);
  16.       jg=ADCC_GetSingleConversion(channel_ANC2);   //channel_ANB6
  17.       OLED_P8x16ch(0,6,'A');
  18.       OLED_P8x16ch(8,6,'D');
  19.       OLED_P8x16ch(16,6,'C');
  20.       OLED_P8x16ch(24,6,'=');                  // 可按4095对应一定电压值的方式进行转换,然后直接显示电压值。
  21.       OLED_P8x16ch(32,6,jg/10000+'0');         // A/D为12位,该语句可注释掉。
  22.       OLED_P8x16ch(40,6,jg%10000/1000+'0');
  23.       OLED_P8x16ch(48,6,jg%1000/100+'0');
  24.       OLED_P8x16ch(56,6,jg%100/10+'0');
  25.       OLED_P8x16ch(64,6,jg%10+'0');     
  26.     }
  27. }


本帖子中包含更多资源

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

×
hu9jj 发表于 2019-12-18 17:32 | 显示全部楼层
支持!抽空我也来测试一下,学习AD转换。
 楼主| jinglixixi 发表于 2019-12-19 12:01 | 显示全部楼层
hu9jj 发表于 2019-12-18 17:32
支持!抽空我也来测试一下,学习AD转换。

哈哈,共同探索!
jimmhu 发表于 2019-12-19 22:01 | 显示全部楼层
OLED很不错。         
lihuami 发表于 2019-12-19 22:01 | 显示全部楼层
这个是申请的开发板吗?  
xiaoyaozt 发表于 2019-12-19 22:01 | 显示全部楼层
谢谢楼主分享的资料。  
uptown 发表于 2019-12-19 22:01 | 显示全部楼层
自带的ADC吗?      
cehuafan 发表于 2019-12-19 22:01 | 显示全部楼层
主要是看转换的速度   
wwppd 发表于 2019-12-19 22:01 | 显示全部楼层
OLED屏的驱动是SPI吗  
maqianqu 发表于 2019-12-19 22:02 | 显示全部楼层
刷新的速度怎么样呢   
dspmana 发表于 2019-12-19 22:02 | 显示全部楼层
                  
eefas 发表于 2019-12-19 22:02 | 显示全部楼层
PIC16F18446怎么样  
pl202 发表于 2019-12-19 22:02 | 显示全部楼层
模拟信号进行采集可以吗?  
 楼主| jinglixixi 发表于 2019-12-19 23:52 | 显示全部楼层
lihuami 发表于 2019-12-19 22:01
这个是申请的开发板吗?

是11月的
 楼主| jinglixixi 发表于 2019-12-19 23:53 | 显示全部楼层
本帖最后由 jinglixixi 于 2019-12-19 23:57 编辑

是MCU内部的
 楼主| jinglixixi 发表于 2019-12-19 23:54 | 显示全部楼层
wwppd 发表于 2019-12-19 22:01
OLED屏的驱动是SPI吗

是i2c的
 楼主| jinglixixi 发表于 2019-12-19 23:55 | 显示全部楼层
本帖最后由 jinglixixi 于 2019-12-19 23:57 编辑
maqianqu 发表于 2019-12-19 22:02
刷新的速度怎么样呢

不是很快,调整一下时钟设置可能会快一些。
 楼主| jinglixixi 发表于 2019-12-19 23:56 | 显示全部楼层

还可以,正学习和探索中。
 楼主| jinglixixi 发表于 2019-12-20 00:00 | 显示全部楼层
pl202 发表于 2019-12-19 22:02
模拟信号进行采集可以吗?

应该可以,我是图简单接到一个引脚上读取的采集值。
 楼主| jinglixixi 发表于 2019-12-20 08:16 | 显示全部楼层
lihuami 发表于 2019-12-19 22:01
这个是申请的开发板吗?


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

本版积分规则

521

主题

2949

帖子

39

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