Ov7620.h
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:6k
源码类别:

uCOS

开发平台:

C/C++

  1. /*************************************
  2.  * FILE : Ov7620.h
  3.  * Description: Initial register of OV7620 CIS.
  4.  * History:
  5.  * 119/xx/2002 for 2420. S.J.Lee
  6.  *************************************/
  7. #define CAM_ID (0x42)
  8. #define CAM_HSIZE (664)
  9. #define CAM_VSIZE (492)
  10. #define CAM_ACT_HSIZE (640) // Max 640
  11. #define CAM_ACT_VSIZE (480) // Max 480
  12. #define CAM_STX (0x2f) //47
  13. #define CAM_STY (6) //6
  14. #define CAM_ENDX (((CAM_ACT_HSIZE)/4) + CAM_STX)
  15. #define CAM_ENDY ((CAM_ACT_VSIZE/2) + CAM_STY-1)
  16. const unsigned char Ov7620_Rgb8bit[][2] = {
  17. {0x12, 0x80}, // Camera Soft reset. Self cleared after reset.
  18. {0x00, 0x00}, // gain
  19. {0x01, 0x80}, // set blue gain
  20. {0x02, 0x80}, // set red gain
  21. {0x06, 0x80}, // set brightness
  22. {0x0c, 0x24}, // set blue background
  23. {0x0d, 0x24}, // set red background
  24. {0x10, 0xb0}, // set exposure time, default:ff *************** when 80: so dark
  25. {0x11, 0x41}, // set frame rate, 27Mhz/(0+1)=27MHz
  26. {0x12, 0x6e}, // set RGB mode, enable AGC and AWB, mirror image
  27. {0x13, 0x01}, // 8-bit data format, Enable auto adjust mode
  28. {0x14, 0x94}, //QVGA format 640x480, GAMMA on.
  29. {0x15, 0x01}, // Use PCLK rising edge to latch data, UVUV(16-bit), UYVY(8-bit)
  30. {0x16, 0x03}, //
  31. {0x17, CAM_STX }, //
  32. {0x18, CAM_ENDX }, // (207-47)*4 = 640
  33. {0x19, CAM_STY }, //
  34. {0x1a, CAM_ENDY }, // ((244-5)+1)*2=480
  35. {0x1b, 0x00}, // pixel shift
  36. {0x20, 0x00}, //
  37. {0x21, 0x80}, //
  38. {0x22, 0x80}, //
  39. {0x23, 0x00}, //
  40. {0x28, 0xa2}, // 1-Line, Progressive mode.
  41. {0x24, 0x10}, // 3a
  42. {0x25, 0x8a}, // 60
  43. {0x26, 0xa2}, //
  44. {0x27, 0xe2}, //
  45. {0x29, 0x00}, //
  46. {0x2a, 0x00}, // frame rate high, 60Hz, 50Hz:0x80
  47. {0x2b, 0x00}, // frame rate low, 60Hz, 50Hz:0xac
  48. {0x2c, 0x88}, //
  49. {0x2d, 0x85}, //
  50. {0x2e, 0x80}, //
  51. {0x2f, 0x44}, //
  52. {0x60, 0x27}, //
  53. {0x61, 0x02}, // 0a
  54. {0x62, 0x5f}, //
  55. {0x63, 0xd5}, //
  56. {0x64, 0x57}, // Disable Y Gamma
  57. {0x65, 0x83}, //
  58. {0x66, 0x55}, //
  59. {0x67, 0x92}, //
  60. {0x68, 0xca}, //
  61. {0x69, 0x76}, //
  62. {0x6a, 0x22}, //
  63. {0x6b, 0x00}, //
  64. {0x6c, 0x08}, //
  65. {0x6d, 0x48}, //
  66. {0x6e, 0x80}, //
  67. {0x6f, 0x0c}, //
  68. {0x70, 0x89}, //
  69. {0x71, 0x00}, //
  70. {0x72, 0x14}, //
  71. {0x73, 0x54}, //
  72. {0x74, 0x20}, //
  73. {0x75, 0x0e}, //
  74. {0x76, 0x00}, //
  75. {0x77, 0xff}, //
  76. {0x78, 0x80}, //
  77. {0x79, 0x80}, //
  78. {0x7a, 0x80}, //
  79. {0x7b, 0xe6}, //
  80. {0x7c, 0x00}, //
  81. {0x06, 0x60}, //
  82. {0x12, 0x6C} // set RGB mode, enable AGC and AWB, mirror image
  83. };
  84. const unsigned char Ov7620_Yuv16bit[][2] = {
  85. {0x12, 0x80}, // Camera Soft reset. Self cleared after reset.
  86. {0x17, CAM_STX}, //
  87. {0x18, CAM_ENDX}, // (207-47)*4 = 640
  88. {0x19, CAM_STY}, //
  89. {0x1a, CAM_ENDY}, // ((244-5)+1)*2=480
  90. {0x01, 0x80}, // set blue gain
  91. {0x02, 0x80}, // set red gain
  92. {0x03, 0xb0},
  93. {0x06, 0x70}, // set brightness
  94. {0x07, 0x00},
  95. {0x0c, 0x24}, // set blue background
  96. {0x0d, 0x24}, // set red background
  97. {0x10, 0xff}, // set exposure time, brightness control
  98. {0x11, 0x40}, // set frame rate 27Mhz/[(0+1)*2]=13.5MHz
  99. {0x12, 0x24}, // set YUV mode, enable AGC/AWB, mirror image.
  100. {0x15, 0x01}, // Use PCLK rising edge to latch data
  101. {0x16, 0x03}, //
  102. {0x12, 0x64}, // set YUV mode, enable AGC/AWB, mirror image.
  103. {0x13, 0x01}, // YUV 16-bit format, Disable AEC/AGC/AWB
  104. {0x14, 0x84}, // turn off GAMMA
  105. {0x24, 0x3a}, //
  106. {0x25, 0x60}, //
  107. {0x28, 0x20}, // Progressive mode.
  108. {0x2d, 0x95}, //
  109. {0x67, 0x92}, //
  110. {0x74, 0x00} //
  111. };
  112. const unsigned char Ov7620_YCbCr8bit[][2] = {
  113. {0x12, 0x80}, // Camera Soft reset. Self cleared after reset.
  114. {0x00, 0x00},
  115. {0x01, 0x80}, // set blue gain
  116. {0x02, 0x80}, // set red gain
  117. {0x03, 0xb0},
  118. {0x06, 0x60}, // set brightness
  119. {0x0c, 0x24}, // set blue background
  120. {0x0d, 0x24}, // set red background
  121. {0x10, 0xff}, // set exposure time, brightness control
  122. {0x11, 0x80}, // set frame rate CLK_input = PCLK
  123. {0x12, 0x34}, // set 8 Bit YUV mode, enable AGC/AWB, mirror image.
  124. {0x15, 0x01}, // Use PCLK falling edge to latch data, 8 Bit UYVY....
  125. {0x16, 0x03}, //
  126. {0x17, 0x2f}, //
  127. {0x18, 0xcf}, // (207-47)*4 = 640
  128. {0x19, 0x06}, //
  129. {0x1a, 0xf5}, // ((244-5)+1)*2=480
  130. {0x1b, 0x00},
  131. {0x20, 0x00},
  132. {0x21, 0x80},
  133. {0x22, 0x80},
  134. {0x23, 0x00},
  135. {0x26, 0xa2},
  136. {0x27, 0xea},
  137. {0x29, 0x00},
  138. {0x2a, 0x00},
  139. {0x2b, 0x00},
  140. {0x2c, 0x88},
  141. {0x2e, 0x80},
  142. {0x2f, 0x44},
  143. {0x60, 0x27},
  144. {0x61, 0x82},
  145. {0x62, 0x5f},
  146. {0x63, 0xd5},
  147. {0x64, 0x57},
  148. {0x65, 0x83},
  149. {0x66, 0x55},
  150. {0x68, 0xcf},
  151. {0x69, 0x76},
  152. {0x6a, 0x22},
  153. {0x6b, 0x00},
  154. {0x6c, 0x08},
  155. {0x6d, 0x48},
  156. {0x6e, 0x80},
  157. {0x6f, 0x0c},
  158. {0x70, 0x89},
  159. {0x71, 0x00},
  160. {0x72, 0x14},
  161. {0x73, 0x54},
  162. {0x75, 0x0e},
  163. {0x76, 0x00},
  164. {0x77, 0xff},
  165. {0x78, 0x80},
  166. {0x79, 0x80},
  167. {0x7a, 0x80},
  168. {0x7b, 0xe6},
  169. {0x7c, 0x00},
  170. {0x13, 0x21},
  171. {0x14, 0x94},
  172. {0x24, 0x10},
  173. {0x25, 0x8a},
  174. {0x12, 0x34} // set 8 Bit YUV mode, enable AGC/AWB, mirror image.
  175. };
  176. /*
  177. const unsigned char Ov7620_YCbCr8bit[][2] = {
  178. {0x12, 0x80}, // Camera Soft reset. Self cleared after reset.
  179. {0x17, CAM_STX}, //
  180. {0x18, CAM_ENDX}, // (207-47)*4 = 640
  181. {0x19, CAM_STY}, //
  182. {0x1a, CAM_ENDY}, // ((244-5)+1)*2=480
  183. {0x01, 0x40}, // set blue gain
  184. {0x02, 0x40}, // set red gain
  185. // {0x01, 0x80}, // set blue gain
  186. // {0x02, 0x80}, // set red gain
  187. {0x03, 0xb0},
  188. {0x06, 0x60}, // set brightness
  189. // {0x06, 0x70}, // set brightness
  190. {0x07, 0x00},
  191. {0x0c, 0x24}, // set blue background
  192. {0x0d, 0x24}, // set red background
  193. {0x10, 0xff}, // set exposure time, brightness control
  194. {0x11, 0x80}, // set frame rate CLK_input = PCLK
  195. // {0x11, 0x40}, // set frame rate 27Mhz/[(0+1)*2]=13.5MHz
  196. {0x12, 0x34}, // set 8 Bit YUV mode, enable AGC/AWB, mirror image.
  197. // {0x12, 0x24}, // set YUV mode, enable AGC/AWB, mirror image.
  198. {0x15, 0x01}, // Use PCLK falling edge to latch data, 8 Bit UYVY....
  199. {0x16, 0x03}, //
  200. // {0x12, 0x64}, // set YUV mode, enable AGC/AWB, mirror image.
  201. {0x13, 0x21}, // YUV 16-bit format, Disable AEC/AGC/AWB
  202. // {0x13, 0x01}, // YUV 16-bit format, Disable AEC/AGC/AWB
  203. {0x14, 0x94}, // turn off GAMMA
  204. // {0x14, 0x84}, // turn off GAMMA
  205. {0x24, 0x10}, //
  206. // {0x24, 0x3a}, //
  207. {0x25, 0x8a}, //
  208. // {0x25, 0x60}, //
  209. {0x28, 0x20}, // Progressive mode.
  210. {0x2d, 0x95}, //
  211. {0x67, 0x92}, //
  212. {0x74, 0x00} //
  213. };
  214. */