智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1365|回复: 0
打印 上一主题 下一主题

线性CCD采集时序讨论

[复制链接]

5

主题

23

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1491
威望
847
贡献
428
兑换币
345
注册时间
2013-8-29
在线时间
108 小时
毕业学校
广东技术师范大学
跳转到指定楼层
1#
发表于 2014-6-29 22:35:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前用着的都是直接延时来模拟CCD的SI和CLK时序,并把整个采集函数放在主函数里面循环执行 采集一次就要10ms 有人建议用中断来模拟时序,周期性中断时间是0.003 125ms,采集的图像黑白压差很低,大家一起讨论讨论怎么破

void CCD_collect(void)
{
    uint c_line;
     if(b==8255)
      {  
         if(SI==0)
         {
           
            for(a=0;a<128;a++)
             {
               while(!ATD0STAT0_SCF);
              CCD[a]ATD0DR0;
             }
         }
      }
}

#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0Interrupt(void)
{           
     PITTF_PTF0=1;
     
     
     b++;
     if(b>=16&&b<=48)
     {
       SI=1;
     }
     else  SI=0;
     if(b>=8256)     b=0;  
   

     a++;
     if(a<=32)
     {
       clk=0;
     }
     else clk=1;
     if(a>=64)
     {
     a=0;
     }
}
#pragma CODE_SEG DEFAULT


回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 23:58 , Processed in 0.112270 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表