jennyzhaojie 发表于 2017-10-28 09:33

基于CH554开发板的多通道数据采集与显示

<div class='showpostmsg'>前面已对LCD5110液晶屏的驱动及显示做了介绍,这次就在其基础上添加多通道数据采集与显示功能,其硬件构成如图1所示。图1   4通道数据采集效果
在采样过程中,4个通道的引脚占用情况如下:AIN0--P1.1AIN1--P1.4AIN2--P1.5AIN3--P3.2 由于P1.1在原来的LCD5110显示程序中曾被使用,会导致采样时显示消失,故将原来使用PI.1的引脚改用P3.5,这样处理后两者就不冲突了,采用串口显示的效果如图2所示。图2 串口显示效果
多通道数据采集与显示的主程序如下:void main( )
{
      UINT16 i;
      UINT16 j = 0;
      CfgFsys( );                //CH554时钟选择配置   
      mDelaymS(20);
      mInitSTDIO( );             //串口0初始化
      printf("start ...\n");
      LCD_Init();
          LCD_Clear();
          LCD_write_hanzi(32,0,0);
          LCD_write_hanzi(44,0,1);
          LCD_write_hanzi(56,0,2);
          LCD_write_english_string(0,0,"CH554");
          mDelaymS(1000);
ADCInit( 0 );               //ADC时钟配置,ADC模块开启       
    while(1)   
{   //ADC 查询方式
      for(i=0;i<4;i++){                               
                printf("AIN%02x ",(UINT16)i);       
//显示采样通道
                                LCD_write_english_string(0,i+2,"AIN0");
                                LCD_write_char(i+'0');
                                LCD_write_char(':');
      ADC_ChannelSelect( i );
                //ADC采样初始化
                ADC_START = 1;                                                
//开始采样,采样完成进入中断
                while(ADC_START);
                //ADC_START变为0时,表示采样完成
                printf("DATA: %02x\n",(UINT16)ADC_DATA);
                //显示采样值
                                j=ADC_DATA;
                                LCD_set_XY(50,i+2);
                                LCD_write_char(j/100+0x30);
                                LCD_write_char(j%100/10+0x30);
                                LCD_write_char(j%10+0x30);
                                mDelaymS(100);
      }       
    }               
}
此内容由EEWORLD论坛网友jennyzhaojie原创,如需转载或用于商业用途需征得作者同意并注明出处

</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

沁恒USB单片机 发表于 2017-10-30 09:11

:):handshake

jennyzhaojie 发表于 2017-10-30 12:19

沁恒USB单片机 发表于 2017-10-30 09:11


感谢支持与鼓励!!!
页: [1]
查看完整版本: 基于CH554开发板的多通道数据采集与显示