求大神指导用FPGA采集cameralink图像数据程序怎么写

求大神指导用FPGA采集cameralink图像数据程序怎么写,第1张

您好:首先 我要知道你是本科生的毕业设计 还是课程设计 还是研究生的研究课题。我好给你讲解不同的层次。我就通俗的讲把。第一:如果要是作出实物的话 要采集图像,你得有图像源。如果你要认真做的话你去电子市场买一个监控的CMOS相机 大概400多线的200快左右把,不必买CCD的,基本上输出都是PAL方式的,此时输出是模拟信号图像都是一行一行扫描的信号,需要把模拟信号转化为数字信号(解码器好像是NA1117把 还是什么名字的我忘了)。按照这个芯片的和相机扫描输出大小的特点 用FPGA去采集解码后的数字信号。用ARM来给FPGA发采集命令,或者用网络单片机IP2022,图像采集到的最好存在SRAM中 好在下一步在别的芯片中中做处理。图像检测属于图像处理的 图像处理要摸在电脑上的软件做 要摸在DSPC6000系列里面做。在通过DSP的网口功能输出。第二:如果是本科生的课程设计, 随便网上百度一些文章整理下给老师。主要是学会FPGA的程序罢了和模拟信号的扫描,和一些最简单的图像处理 比如边缘检测 图像灰度变化等等 有问题发我邮箱beckhamfks@126com 我找点资料发你 我嘴笨 不知道怎么表述。

89C52采集0809八位AD并显示出来的。现在估计没有人用了

#include<reg52h>

#include<absacch>

#define uchar unsigned char

#define uint unsigned int

#define LCDCOM XBYTE[0x8ffc] //LCD写命令寄存器地址

#define LCDDATA XBYTE[0x8ffd] //LCD写数据寄存器地址

#define LCDSTATUS XBYTE[0x8ffe] //LCD读状态寄存器地址

#define IN2 XBYTE[0x7ffa] //IN2通道地址

sbit ad_busy=P3^2;

sbit bflag=ACC^7;

//函数的声明部分

void delay1(uint x);

void lcd_busy();

void lcd_cmd(uchar lcd_cmd);

void lcd_data(uchar lcd_data);

void lcd_moveto(uchar position);

void init(void);

void ad0809(void);

uchar string[10]={"dianya is:"};

uchar temp[6]={0x00,0,0x00,0x00,0x00,0x0b};

uchar code dis_buf[13]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e,0x56,0x20};//为0到9的ASCLL码

void delay1(uint x) //延时1ms程序

{

uchar j;

while(x--)

{

for(j=0;j<125;j++)

{;}

}

}

void lcd_busy() //检测lcd忙程序

{

do

{

ACC=LCDSTATUS;

}

while(bflag==1); //当他忙的时候就不停的检测,直到空闲为止

}

void lcd_cmd(uchar lcd_cmd) //写命令函数

{

LCDCOM=lcd_cmd;

lcd_busy();

}

void lcd_data(uchar lcd_data) //写数据函数

{

LCDDATA=lcd_data;

lcd_busy();

}

void lcd_moveto(uchar position) //确定显示位置

{

uchar temp; //为显示位置对应的地址

if (position<16)

temp=(position+0x80-1); //为在第一行

else

temp=((position-16)+0xc0); //为第二行

lcd_cmd(temp);

}

void init(void) //lcd初始化

{

lcd_cmd(0x30); //置功能:1行,57字符

lcd_busy();

lcd_cmd(0x30); //置功能:1行,57字符

lcd_busy();

lcd_cmd(0x30); //置功能:1行,57字符

lcd_busy();

lcd_cmd(0x38); //置功能:2行,57字符

lcd_busy();

lcd_cmd(0x06); //置输入模式:地址增量,显示屏不移动

lcd_busy();

lcd_cmd(0x0c); //置显示开,不显示光标,光标不闪烁

lcd_busy();

lcd_cmd(0x01); //清显示

lcd_busy();

}

void ad0809(void)

{

uchar i;

uint a=0;

IN2=0;

i=i;

i=i;

while(ad_busy==0);

a=IN2;

a=a200/255;

a=a25;

temp[0]=a/1000;

temp[2]=a%1000/100;

temp[3]=a%100/10;

temp[4]=a%10;

}

void main(void)

{

uchar i,j;

P2=0xff;

P1=0xff;

P0=0xff;

delay1(20);

init();

while(1)

{

ad0809();

lcd_moveto(1);

for(j=0;j<10;j++)

{

lcd_data(string[j]);

}

lcd_moveto(16);

for(i=0;i<6;i++)

{

lcd_data(dis_buf[temp[i]]);

}

}

}

没多大关系啊,我也是WIN7的,我是整天做数据采集分析,我觉得你可能是程序运行太耗内存,尽量用代码,不要用控件向导,连接字符串用变量来存储,给他分配内存,连接数据库异常要处理编辑连接多线程,尽量把维护代码存放在XML中或者是记事本中,给他用符号+关键字来标记,有良好的维护方式

以上就是关于求大神指导用FPGA采集cameralink图像数据程序怎么写全部的内容,包括:求大神指导用FPGA采集cameralink图像数据程序怎么写、求一Mcs51单片机关于采集A/D转换数据的C程序、vb6.0数据采集程序运行中不定时死机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10178966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存