智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2760|回复: 2
打印 上一主题 下一主题

肯请大家帮帮我吧,就耽误您几分钟

[复制链接]

0

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
威望
191
贡献
22
兑换币
0
注册时间
2008-4-29
在线时间
0 小时
跳转到指定楼层
1#
发表于 2008-4-29 05:44:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>我毕设做的是CCD的路径识别,到了现在采集的程序还是调不成功。我是新手,对单片机了解较少。麻烦大家帮我看下编的这个图像采集程序。我用的是PT0捕捉行同步,PM口查询奇偶场同步信号跳变。</P><P>#include &lt;hidef.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* common defines and macros */<BR>#include &lt;mc9s12dg128.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</P><P>#define ROW_MAX 10 // number of rows needed to be sampled in each picture<BR>#define LINE_MAX 30 // number of points sampled in each row<BR>#define ROW_START 100 // begin to sample from line start<BR>#define ROW_END 320 // end flag of sampling<BR>#define INTERVAL 20 // interval between effective rows<BR>#define odd_even PTM_PTM4 // odd_even signal is sent into PortM_bit4<BR>unsigned char image_data[ROW_MAX][LINE_MAX];//data array of picture<BR>unsigned char black_mid[ROW_MAX]; // 0ne-dimensional array<BR>unsigned char black_mid_temp[ROW_MAX];<BR>unsigned char row; // x-position of the array<BR>unsigned char line; // y-position of the array<BR>unsigned int row_count; // row counter<BR>unsigned char line_sample; // used to counter in AD<BR>unsigned char row_image;<BR>unsigned char line_temp; // temperary variable used in data transfer<BR>unsigned char sample_data[LINE_MAX] ; // used to save one-dimension array got in interruption<BR>char oeflag;</P><P>void Init_PLL(void){<BR>REFDV=0x01;<BR>SYNR=0x04; // bus period=16Mhz*(SYNR+1)/(REFDV+1)<BR>while(!(CRGFLG&amp;0x08)) {}&nbsp;&nbsp; // 等待PLL稳定<BR>CLKSEL=0x80;// open PLL<BR>}</P><P>void Init_PORT(void){<BR>DDRM_DDRM4=0;&nbsp;&nbsp; // Port M4 function as odd_even signal input<BR>}</P><P>void Init_ECT(void) {<BR>TIOS = 0x00; /*select all channels as input*/<BR>TSCR1 = 0x80; /*timer enable*/<BR>TSCR2 = 0x04; /*for 32M bus clock,set prescaler to 32.76ms*/<BR>TCTL4=0x01; /* PT0 捕捉上升沿 */<BR>TFLG1=0x01; /*clear C0F interrupt flag*/<BR>DLYCT=0x03; /*delay 1024 bus clock to avoid disturb*/<BR>TIE_C0I=0x01;&nbsp;&nbsp; /*enable C0I interrupt*/<BR>}</P><P>void Init_AD(void){<BR>ATD0CTL2=0xC0;// open AD, quick clear, no wait mode, inhibit outer awake, inhibit interrupt<BR>ATD0CTL3=0x08;// one transform in one sequence, No FIFO, contine to transform under freeze mode<BR>ATD0CTL4=0x81;<BR>// 8-bit precision, two clocks, ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=1, divider=4 ;BusClock=40MHZ<BR>ATD0CTL5=0xA0; // right-algned unsigned,single channel,channel 0<BR>ATD0DIEN=0x00; // inhibit digital input<BR>}</P><P>#pragma CODE_SEG NON_BANKED<BR>void interrupt 8&nbsp; ECT0_ISR(void){<BR>TFLG1=0x01; /*clear C0F interrupt flag*/<BR>row_count++;<BR>if((row_count&gt;ROW_START)&amp;&amp;(row_count%INTERVAL==0)&amp;&amp;(row_image&lt;ROW_MAX)){<BR>Init_AD();<BR>for(line_sample=0;line_sample&lt;LINE_MAX;line_sample++){<BR>while(!ATD0STAT1_CCF0); // WAIT FOR TRANSFORM TO END<BR>sample_data[line_sample]= ATD0DR0L; // A/D transfer<BR>}<BR>ATD0CTL2=0x00; /*关ATD*/<BR>row_image++;<BR>}<BR>if((row_count&gt;ROW_START)&amp;&amp;(row_count%INTERVAL==2)&amp;&amp;(row_image&lt;ROW_MAX+1)){<BR>for(line_temp=0;line_temp&lt;LINE_MAX;line_temp++){<BR>image_data[row_image-1][line_temp]=sample_data[line_temp];}<BR>}<BR>}</P><P>#pragma CODE_SEG DEFAULT<BR>void main(void){<BR>Init_PLL();<BR>Init_PORT();<BR>Init_ECT();<BR>Init_AD();<BR>for(;;){<BR>if((odd_even==1)&amp;&amp;(oeflag==0)){ //even field transfers to odd field<BR>oeflag=1;<BR>row_count=0;<BR>row_image=0;<BR>EnableInterrupts;<BR>DisableInterrupts;<BR>}<BR>else{<BR>if((odd_even==0)&amp;&amp;(oeflag==1)){ //odd field transfers to even field<BR>oeflag=0;<BR>}<BR>row_count=0;<BR>row_image=0;<BR>EnableInterrupts;<BR>DisableInterrupts;<BR>}<BR>}<BR>}<BR></P>

0

主题

294

帖子

1

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
4137

特殊贡献奖章

QQ
威望
2664
贡献
1409
兑换币
35
注册时间
2007-11-22
在线时间
32 小时
2#
发表于 2008-4-30 00:27:47 | 只看该作者

Re:肯请大家帮帮我吧,就耽误您几分钟

建议你改变方案,图像采集虽然可以时候很多方案,但有的方案实际效果并不好。
回复 支持 反对

使用道具 举报

1

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
威望
216
贡献
46
兑换币
2
注册时间
2009-10-17
在线时间
7 小时
3#
发表于 2010-2-8 11:15:44 | 只看该作者
这是一个难题哟
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-3 01:08 , Processed in 0.066849 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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