智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 15556|回复: 49
打印 上一主题 下一主题

摄像头采集代码(7620数字摄像头)CW5.0

  [复制链接]

22

主题

242

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2785

优秀会员奖章

威望
534
贡献
1925
兑换币
20
注册时间
2009-10-12
在线时间
163 小时
跳转到指定楼层
1#
发表于 2011-2-25 13:01:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <hidef.h> /* common defines and macros */
  2. #include "derivative.h" /* derivative-specific definitions */
  3. #include <MC9S12XS128.h>

  4. void SCI0_Transmit(void);
  5. void IOC_Contrl(void);

  6. byte Image_data[38][120];
  7. byte Point_C, YSYN_C, Line_Flag, m = 0,n=0;
  8. byte Line_C=0;
  9. unsigned char jiange;

  10. //PLL初始化
  11. void PLL_INC(void)
  12. {
  13. CLKSEL=0x00; //48mhz
  14. SYNR=0XC0 | 0X05;
  15. REFDV=0XC0 | 0X03;
  16. PLLCTL_PLLON=1;
  17. POSTDIV=0X00;
  18. asm(nop);
  19. asm(nop);
  20. while(0==CRGFLG_LOCK); //锁相环锁定
  21. CLKSEL_PLLSEL=1; //选定PLL时钟
  22. }

  23. /*-------串口初始化----------------------*/
  24. void SCI0_Init()
  25. {
  26. SCI0BDL = (byte)((48000000 /* OSC freq *//2) / 57600 /* baud rate */ / 16 /*factor*/);
  27. SCI0CR1 = 0X00; /*normal,no parity*/
  28. SCI0CR2 = 0X0C; /*RIE=1,TE=1,RE=1, */
  29. }

  30. //输入捕捉初始化
  31. void IOC_Init(void)
  32. {
  33. TIOS =0x00;//定时器通道0,1 为输入捕捉
  34. TSCR1=0x80;//定时器使能
  35. TCTL4=0x09;//通道0 捕捉上升沿通道1 捕捉下降沿
  36. TIE=0x03; //通道0,1 中断使能
  37. TFLG1=0xFF;//清中断标志位
  38. }

  39. //中断定义
  40. #pragma CODE_SEG NON_BANKED

  41. //IC1通道中断 场中断
  42. interrupt 9 void VSYN_Interrupt(void)
  43. {
  44. TFLG1_C1F = 1; //清场中断
  45. TFLG1_C0F = 1; //清行中断
  46. Point_C = 0;
  47. Line_C = 0; //行计数器
  48. YSYN_C++;
  49. SCI0DRL = 0X0A; //回车
  50. while (!(SCI0SR1&0x80));
  51. SCI0DRL = 0X0D;
  52. while (!(SCI0SR1&0x80));
  53. }

  54. //IC0通道中断 行中断
  55. interrupt 8 void HREF_Count(void)
  56. {
  57. TFLG1_C0F = 1;
  58. Line_Flag = 0;
  59. m++;
  60. if ( m<12 || m>288 )
  61. {
  62. return;//判断是否从新的一场开始
  63. }
  64. if(m<=132)jiange=12;
  65. else if(m>132&&m<=200) jiange=8;
  66. else if(m>200&&m<=248) jiange=6;
  67. else jiange=4;
  68. if(m%jiange==0)

  69. {
  70. IOC_Contrl();
  71. SCI0_Transmit();

  72. Line_C++;
  73. }
  74. }

  75. #pragma CODE_SEG DEFAULT

  76. /*-------发射端程序----------------------*/
  77. void SCI0_Transmit()
  78. {
  79. byte i, temp;
  80. temp = SCI0SR1; //清零
  81. SCI0DRH = 0;
  82. for(i = 0;i < 119 ;i++)
  83. {
  84. if(Image_data[Line_C][i]>30 & Image_data[Line_C][i+1]>30)
  85. SCI0DRL = 0x30;
  86. else SCI0DRL = 0X31;

  87. while (!(SCI0SR1&0x80)); /* wait for output buffer empty */
  88. }
  89. SCI0DRL = 0X0A; //回车
  90. while (!(SCI0SR1&0x80));
  91. SCI0DRL = 0X0D; //换行
  92. while (!(SCI0SR1&0x80));
  93. }

  94. //计数控制
  95. void IOC_Contrl(void)
  96. {
  97. //TIE = 0X00;
  98. Image_data[Line_C][0] = PORTA;
  99. Image_data[Line_C][1] = PORTA;
  100. Image_data[Line_C][2] = PORTA;
  101. Image_data[Line_C][3] = PORTA;
  102. Image_data[Line_C][4] = PORTA;
  103. Image_data[Line_C][5] = PORTA;
  104. Image_data[Line_C][6] = PORTA;
  105. Image_data[Line_C][7] = PORTA;
  106. Image_data[Line_C][8] = PORTA;
  107. Image_data[Line_C][9] = PORTA;
  108. Image_data[Line_C][10] = PORTA;
  109. Image_data[Line_C][11] = PORTA;
  110. Image_data[Line_C][12] = PORTA;
  111. Image_data[Line_C][13] = PORTA;
  112. Image_data[Line_C][14] = PORTA;
  113. Image_data[Line_C][15] = PORTA;
  114. Image_data[Line_C][16] = PORTA;
  115. Image_data[Line_C][17] = PORTA;
  116. Image_data[Line_C][18] = PORTA;
  117. Image_data[Line_C][19] = PORTA;
  118. Image_data[Line_C][20] = PORTA;
  119. Image_data[Line_C][21] = PORTA;
  120. Image_data[Line_C][22] = PORTA;
  121. Image_data[Line_C][23] = PORTA;
  122. Image_data[Line_C][24] = PORTA;
  123. Image_data[Line_C][25] = PORTA;
  124. Image_data[Line_C][26] = PORTA;
  125. Image_data[Line_C][27] = PORTA;
  126. Image_data[Line_C][28] = PORTA;
  127. Image_data[Line_C][29] = PORTA;
  128. Image_data[Line_C][30] = PORTA;
  129. Image_data[Line_C][31] = PORTA;
  130. Image_data[Line_C][32] = PORTA;
  131. Image_data[Line_C][33] = PORTA;
  132. Image_data[Line_C][34] = PORTA;
  133. Image_data[Line_C][35] = PORTA;
  134. Image_data[Line_C][36] = PORTA;
  135. Image_data[Line_C][37] = PORTA;
  136. Image_data[Line_C][38] = PORTA;
  137. Image_data[Line_C][39] = PORTA;
  138. Image_data[Line_C][40] = PORTA;
  139. Image_data[Line_C][41] = PORTA;
  140. Image_data[Line_C][42] = PORTA;
  141. Image_data[Line_C][43] = PORTA;
  142. Image_data[Line_C][44] = PORTA;
  143. Image_data[Line_C][45] = PORTA;
  144. Image_data[Line_C][46] = PORTA;
  145. Image_data[Line_C][47] = PORTA;
  146. Image_data[Line_C][48] = PORTA;
  147. Image_data[Line_C][49] = PORTA;
  148. Image_data[Line_C][50] = PORTA;
  149. Image_data[Line_C][51] = PORTA;
  150. Image_data[Line_C][52] = PORTA;
  151. Image_data[Line_C][53] = PORTA;
  152. Image_data[Line_C][54] = PORTA;
  153. Image_data[Line_C][55] = PORTA;
  154. Image_data[Line_C][56] = PORTA;
  155. Image_data[Line_C][57] = PORTA;
  156. Image_data[Line_C][58] = PORTA;
  157. Image_data[Line_C][59] = PORTA;
  158. Image_data[Line_C][60] = PORTA;
  159. Image_data[Line_C][61] = PORTA;
  160. Image_data[Line_C][62] = PORTA;
  161. Image_data[Line_C][63] = PORTA;
  162. Image_data[Line_C][64] = PORTA;
  163. Image_data[Line_C][65] = PORTA;
  164. Image_data[Line_C][66] = PORTA;
  165. Image_data[Line_C][67] = PORTA;
  166. Image_data[Line_C][68] = PORTA;
  167. Image_data[Line_C][69] = PORTA;
  168. Image_data[Line_C][70] = PORTA;
  169. Image_data[Line_C][71] = PORTA;
  170. Image_data[Line_C][72] = PORTA;
  171. Image_data[Line_C][73] = PORTA;
  172. Image_data[Line_C][74] = PORTA;
  173. Image_data[Line_C][75] = PORTA;
  174. Image_data[Line_C][76] = PORTA;
  175. Image_data[Line_C][77] = PORTA;
  176. Image_data[Line_C][78] = PORTA;
  177. Image_data[Line_C][79] = PORTA;
  178. Image_data[Line_C][80] = PORTA;
  179. Image_data[Line_C][81] = PORTA;
  180. Image_data[Line_C][82] = PORTA;
  181. Image_data[Line_C][83] = PORTA;
  182. Image_data[Line_C][84] = PORTA;
  183. Image_data[Line_C][85] = PORTA;
  184. Image_data[Line_C][86] = PORTA;
  185. Image_data[Line_C][87] = PORTA;
  186. Image_data[Line_C][88] = PORTA;
  187. Image_data[Line_C][89] = PORTA;
  188. Image_data[Line_C][90] = PORTA;
  189. Image_data[Line_C][91] = PORTA;
  190. Image_data[Line_C][92] = PORTA;
  191. Image_data[Line_C][93] = PORTA;
  192. Image_data[Line_C][94] = PORTA;
  193. Image_data[Line_C][95] = PORTA;
  194. Image_data[Line_C][96] = PORTA;
  195. Image_data[Line_C][97] = PORTA;
  196. Image_data[Line_C][98] = PORTA;
  197. Image_data[Line_C][99] = PORTA;
  198. Image_data[Line_C][100] = PORTA;
  199. Image_data[Line_C][101] = PORTA;
  200. Image_data[Line_C][102] = PORTA;
  201. Image_data[Line_C][103] = PORTA;
  202. Image_data[Line_C][104] = PORTA;
  203. Image_data[Line_C][105] = PORTA;
  204. Image_data[Line_C][106] = PORTA;
  205. Image_data[Line_C][107] = PORTA;
  206. Image_data[Line_C][108] = PORTA;
  207. Image_data[Line_C][109] = PORTA;
  208. Image_data[Line_C][110] = PORTA;
  209. Image_data[Line_C][111] = PORTA;
  210. Image_data[Line_C][112] = PORTA;
  211. Image_data[Line_C][113] = PORTA;
  212. Image_data[Line_C][114] = PORTA;
  213. Image_data[Line_C][115] = PORTA;
  214. Image_data[Line_C][116] = PORTA;
  215. Image_data[Line_C][117] = PORTA;
  216. Image_data[Line_C][118] = PORTA;
  217. Image_data[Line_C][119] = PORTA;
  218. // TIE = 0X03;
  219. }

  220. void main(void)
  221. {
  222. /* put your own code here */

  223. DisableInterrupts;
  224. //DDRA = 0X00;
  225. PLL_INC();

  226. SCI0_Init();

  227. IOC_Init();

  228. EnableInterrupts;
  229. for(;;)
  230. {
  231. _FEED_COP(); /* feeds the dog */
  232. } /* loop forever */
  233. /* please make sure that you never leave main */
  234. }
复制代码

7

主题

261

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4370

优秀会员奖章

威望
1034
贡献
3110
兑换币
232
注册时间
2010-10-3
在线时间
113 小时
2#
发表于 2011-2-26 01:00:46 | 只看该作者
沙发……
回复 支持 反对

使用道具 举报

2

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
397
威望
232
贡献
31
兑换币
0
注册时间
2011-1-4
在线时间
67 小时
3#
发表于 2011-2-26 09:08:37 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
威望
200
贡献
56
兑换币
12
注册时间
2010-11-11
在线时间
3 小时
4#
发表于 2011-2-26 10:36:06 | 只看该作者
不错,谢了哈
回复 支持 反对

使用道具 举报

22

主题

242

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2785

优秀会员奖章

威望
534
贡献
1925
兑换币
20
注册时间
2009-10-12
在线时间
163 小时
5#
 楼主| 发表于 2011-2-26 11:18:36 | 只看该作者
回复 4# lddzzhengfeng


    客气,呵呵
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
196
贡献
40
兑换币
0
注册时间
2011-2-24
在线时间
1 小时
6#
发表于 2011-2-27 00:57:31 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
QQ
威望
281
贡献
59
兑换币
0
注册时间
2009-12-28
在线时间
17 小时
7#
发表于 2011-3-2 16:58:29 | 只看该作者
参考参参
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
QQ
威望
254
贡献
40
兑换币
0
注册时间
2010-12-3
在线时间
7 小时
8#
发表于 2011-3-4 10:34:56 | 只看该作者
多谢多谢
回复 支持 反对

使用道具 举报

1

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
威望
341
贡献
83
兑换币
4
注册时间
2010-2-23
在线时间
37 小时
9#
发表于 2011-3-4 12:50:04 | 只看该作者
谢了哈
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

金牌会员

新手

Rank: 6Rank: 6

积分
2275

优秀会员奖章

威望
338
贡献
1897
兑换币
0
注册时间
2011-1-9
在线时间
20 小时
10#
发表于 2011-3-16 14:26:57 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 03:34 , Processed in 0.801472 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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