查看: 3176|回复: 3

基于A3BU线性CCD图像采集(三)

[复制链接]
  • TA的每日心情
    开心
    2015-12-1 09:28
  • 签到天数: 90 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2013-4-27 01:54:10 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 ??? 于 2013-4-28 13:16 编辑

              由于学校运动会放假两天,继续做我的线性CCD采集系统,上次把CCD的基本采集原理说了一下,我的表达能力不是很好,附带的参考资料非常的详细,值得细细研究.
             闲话少说,这次主要实现一个AD采集,并且把AD的值以点的形式绘制在A3BU开发板自带的液晶屏上.
             参数说明:  AD精度是8位   
                             液晶点阵  128*32
                             采集模拟量 内部自带温度传感器
             由于AD的采集值范围在0-255而我们的液晶屏只有128*32,我是采用横屏显示,即0-128是采集次数,将AD的值量化0-32为个区间.就是说将AD的值除以8就是所在的y坐标,当然也可以把AD的值量化为0-128,呵呵,这样看起来估计有点不舒服...

    实现过程:
                       选择文件->新建->example  project form asm ,选择好开发平台以及例程,点击OK即可.

    图片1.png
    图片2.png
    图片3.png
    图片4.png
    这时会出现相应的例程,我们就可以参考这些例程来实现我们的想法了
    我们再次新建一个空白工程,选择我们的开发平台

    图片5.png
    图片6.png
    添加ASF库函数,或者说一些模块,添加进AD,LCD_7565GFX模块.
    图片7.png
    图片8.png

    图片9.png
    注意gfx有好几个模块,这里我们选着单色库,这个不用我说也知道为啥吧,接着我们对这个GFX进行一些设置选择c128*32选择finish.
    图片10.png

    图片11.png
    时间有点小长,这段时间看看例程吧,我们可以发现需要定义两个结构体变量来实现配置,
            struct adc_config         adc_conf;
            struct adc_channel_config adcch_conf;
    这是我的定义变量
            struct  adc_config             ADC0_Config;      
            struct  adc_channel_config     ADC0_Channel_Config;//
    然后进行一些资源的初始化,我直接复制过来了
            board_init();//
            sysclk_init();//初始化时钟
            pmic_init();  //
            gfx_mono_init();//初始化gfx
            cpu_irq_enable();//中断使能
    紧接着就该配置自己的AD初始化了,由于我将来CCD采集的时候不需要AD中断,所以稍作修改,注意一下我的初始化屏蔽了AD中断和回调,我设置通道0的增益为1
            adc_read_configuration(&ADCA, &ADC0_Config);
            adcch_read_configuration(&ADCA, ADC_CH0, &ADC0_Channel_Config);
            adc_enable_internal_input(&ADC0_Config, ADC_INT_BANDGAP);
            adc_set_conversion_parameters(&ADC0_Config, ADC_SIGN_OFF, ADC_RES_8,ADC_REF_VCC);
            //精度设置为8位无符号,参考电压VCC
            adc_set_clock_rate(&ADC0_Config,2000);
            //AD时钟频率配置
                    adc_set_conversion_trigger(&ADC0_Config, ADC_TRIG_MANUAL, 0, 0);
            adc_write_configuration(&ADCA,&ADC0_Config);//
            //adc_set_callback(&ADCA,&ADC0_FINISHI_INTER);
            adcch_set_input(&ADC0_Channel_Config,ADCCH_POS_PIN0, ADCCH_NEG_NONE,1);//设置管脚输入
            //adcch_set_interrupt_mode(&ADC0_Channel_Config,ADCCH_MODE_COMPLETE);//设置中断模式
    温度显示JPG.JPG

    A3BU之AD.pdf

    1.48 MB, 下载次数: 15

    USER_APPLICATION4.zip

    1.54 MB, 下载次数: 18

    点评

    楼主辛苦,附件内容非常丰富啊!!!  发表于 2013-4-27 09:52
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-5-27 16:09
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-4-27 08:41:19 | 显示全部楼层
    ???是个牛人啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-1 09:28
  • 签到天数: 90 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2013-4-27 13:13:45 来自手机 | 显示全部楼层
    不是,菜鸟一枚
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-1 09:28
  • 签到天数: 90 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2013-5-9 10:48:41 | 显示全部楼层
    powerdruy 发表于 2013-5-6 12:36
    CCD采集到一堆黑色点么?

    不是,这个是个温度计显示出来的黑点....CCD测出来是灰度值0-255之间.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-5-29 13:40 , Processed in 0.139819 second(s), 25 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.