資源簡(jiǎn)介
用FPGA當(dāng)主控芯片來采集攝像頭OV7670的數(shù)據(jù),模塊化設(shè)計(jì)程序,模塊之間有詳細(xì)講解!

代碼片段和文件信息
/*
?*?vga_ctrl.c
?*
?*??Created?on:?2010-11-27
?*??????Author:?Administrator
?*/
#include?“system.h“?????????????????????????//包含基本的硬件描述信息
#include?“unistd.h“
#include?“alt_types.h“
#include?“vga_ctrl.h“
#define Write_CLK { MCU_CLK?=?0;MCU_CLK?=?1; }
/*****************VGA?初始化************************/
void?VGA_Init(void)
{
MCU_Flag?=?0; //寫標(biāo)志拉低,可讀SRAM
MCU_CLK?=?0;
MCU_CMD?=?0;
MCU_Data?=?0;
}
/*****************VGA?坐標(biāo)設(shè)定************************/
void?Write_Addr(alt_u16?Xposalt_u16?Ypos)
{
MCU_Flag?=?0;
MCU_CMD?=?0; //寫X坐標(biāo)
MCU_Data?=?Xpos;
Write_CLK;
MCU_CMD?=?1; //寫Y坐標(biāo)
MCU_Data?=?Ypos;
Write_CLK;
MCU_CMD?=?2; //定位
Write_CLK;
}
/***************寫數(shù)據(jù)準(zhǔn)備***********************/
void?Write_DataPrep(void)
{
MCU_Flag?=?1;
MCU_CMD?=?3;
}
/************寫數(shù)據(jù)MCU_Flag=1********************/
void?Write_Data(alt_u16?Data)
{
MCU_Data?=?Data;
Write_CLK;
}
/************打開VGA顯示********************/
void?Display_VGA(void)
{
MCU_Flag?=?0;
}
/**************ColorTest****************/
void?ColorTest(void)
{
//定義各塊色度
#define RGB_x00 0x0000
#define RGB_x01 0x000f
#define RGB_x10 0x03e0
#define RGB_x11 0x03ef
#define RGB_0x0 0x0000
#define RGB_0x1 0x000f
#define RGB_1x0 0x7800
#define RGB_1x1 0x780f
#define RGB_00x 0x0000
#define RGB_01x 0x03e0
#define RGB_10x 0x7800
#define RGB_11x 0x7be0
????#define RGB_X00 0x0000
#define RGB_X01 0x001f
#define RGB_X10 0x07e0
#define RGB_X11 0x07ff
#define RGB_0X0 0x0000
#define RGB_0X1 0x001f
#define RGB_1X0 0xf800
#define RGB_1X1 0xf81f
#define RGB_00X 0x0000
#define RGB_01X 0x07e0
#define RGB_10X 0xf800
#define RGB_11X 0xffe0
alt_u16?ij;
/***************ColorTest***************
?*? 第一列 第二列 第三列 第四列
?*? 第一行 x00 x01 x10 x11
?*? 第二行 X00 X01 X10 X11
?*? 第三行 0x0 0x1 1x0 1x1
?*? 第四行 0X0 0X1 1X0 1X1
?*? 第五行 00x 01x 10x 11x
?*? 第六行 00X 01X 10X 11X
?*?***************0~~MAX變化*************/
Write_Addr(00);
Write_DataPrep();
for(i=0;i<128;i++) //第一行ColorTest測(cè)試 16Bit
{
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_x00);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_x01);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_x10);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_x11);
}
for(i=0;i<128;i++) //第二行ColorTest測(cè)試 16Bit
{
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_X00);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_X01);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_X10);
for(j=0;j<256;j++) Write_Data((j&0xf8)<<8|RGB_X11);
}
for(i=0;i<128;i++) //第三行ColorTest測(cè)試 16Bit
{
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_0x0);
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_0x1);
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_1x0);
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_1x1);
}
for(i=0;i<128;i++) //第四行ColorTest測(cè)試 16Bit
{
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_0X0);
for(j=0;j<256;j++) Write_Data((j&0x
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3161??2013-03-19?21:22??06_sdram_ov7670_rgb_640480\core\osd_rom.bsf
?????文件????????280??2013-03-19?21:22??06_sdram_ov7670_rgb_640480\core\osd_rom.qip
?????文件???????6545??2013-03-19?21:22??06_sdram_ov7670_rgb_640480\core\osd_rom.v
?????文件???????6555??2013-03-19?21:22??06_sdram_ov7670_rgb_640480\core\osd_rom.v.bak
?????文件??????92543??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\osd_rom_wave0.jpg
?????文件????????957??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\osd_rom_waveforms.html
?????文件???????4374??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\sdram_pll.bsf
?????文件????????367??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\sdram_pll.qip
?????文件??????18225??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\sdram_pll.v
?????文件???????3158??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\vip_rom.bsf
?????文件????????280??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\vip_rom.qip
?????文件???????6544??2013-03-19?21:23??06_sdram_ov7670_rgb_640480\core\vip_rom.v
?????文件???????2902??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\altsyncram_1l81.tdf
?????文件??????24656??2015-07-12?19:43??06_sdram_ov7670_rgb_640480\dev\db\altsyncram_5r71.tdf
?????文件??????23722??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\altsyncram_drg1.tdf
?????文件??????45517??2015-07-12?19:43??06_sdram_ov7670_rgb_640480\dev\db\altsyncram_k381.tdf
?????文件???????2158??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\alt_synch_pipe_qdb.tdf
?????文件???????2153??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\alt_synch_pipe_rdb.tdf
?????文件???????2096??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\alt_synch_pipe_ud8.tdf
?????文件???????2091??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\alt_synch_pipe_vd8.tdf
?????文件???????1696??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\a_gray2bin_kdb.tdf
?????文件???????3874??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\a_graycounter_egc.tdf
?????文件???????3903??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\a_graycounter_fgc.tdf
?????文件???????3713??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\a_graycounter_o96.tdf
?????文件???????2365??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\cmpr_536.tdf
?????文件???????6833??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\dcfifo_5an1.tdf
?????文件???????6847??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\dcfifo_i9n1.tdf
?????文件???????1642??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\dffpipe_kec.tdf
?????文件???????1744??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\dffpipe_ngh.tdf
?????文件???????1580??2015-07-23?21:21??06_sdram_ov7670_rgb_640480\dev\db\dffpipe_oe9.tdf
............此處省略304個(gè)文件信息
評(píng)論
共有 條評(píng)論