资源简介
基于FPGA的图像采集,摄像头是OV7670,可以在7寸屏上显示,参数已经改过,可以更好地显示。亲测可用
代码片段和文件信息
/*
* 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; //写标志拉低,可读SRAM
MCU_CLK = 0;
MCU_CMD = 0;
MCU_Data = 0;
}
/*****************VGA 坐标设定************************/
void Write_Addr(alt_u16 Xposalt_u16 Ypos)
{
MCU_Flag = 0;
MCU_CMD = 0; //写X坐标
MCU_Data = Xpos;
Write_CLK;
MCU_CMD = 1; //写Y坐标
MCU_Data = Ypos;
Write_CLK;
MCU_CMD = 2; //定位
Write_CLK;
}
/***************写数据准备***********************/
void Write_DataPrep(void)
{
MCU_Flag = 1;
MCU_CMD = 3;
}
/************写数据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测试 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测试 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测试 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测试 16Bit
{
for(j=0;j<256;j++) Write_Data((j&0xfc)<<3|RGB_0X0);
for(j=0;j<256;j++) Write_Data((j&0x
相关资源
- FPGA实现PID.v
- 基于FPGA的sdi视频传输工程(k7_sdi_rx
- FPGA彩条显示
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- 为什么工程师要掌握FPGA开发知识?
- 数字频率合成dds正弦波基于FPGA的DDS产
- Verilog FPGA UART串口控制器
- gmsk调制在FPGA上实现
- 一个简单的verilog编写的DMA IP CORE,和
- FPGA在步进电机驱动上的应用实例及代
- fpga实现频率测量
- FPGA开发-ChipScope教程
- 红外循迹小车VHDL程序
- 基于FPGA的USB接口设计
- DE2模拟的交通红绿灯
- 一种抗SEU存储器电路的FPGA设计
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- nRF24L01无线模块在单片机与FPGA上的应
- 基于FPGA多协议转换网关设计
- fpga数字钟
- FPGA按键消抖
- 具有可编程环路补偿功能高密度电源
- FPGA系统中有源电容放电电路设计需注
- 玩转Altera FPGA:基于PLL分频计数的LE
- 二院型号FPGA 硬件描述语言编程准则
- ETC中FM0解码器的设计
- 基于FPGA和万兆网的GigE Vison设计方案
- Xilinx FPGA底层资源架构与设计规范
评论
共有 条评论