资源简介
51单片机驱动ov2640做JPEG图片采集程序实例,51单片机选用的是新华龙的C8051F380,摄像头为200W像素的OV2640,通过串口传送数据给上位机,图片格式为JPEG
代码片段和文件信息
#include “compiler_defs.h“
#include “C8051F380_defs.h“
#define uchar unsigned char
#define uint unsigned int
uchar xdata JPEG[4096];
uint Count_PCLKCount_VSYNCH;
uchar Flag;
#include “C8051F380.C“
/*****************延时程序******************************************/
void Delay10us() //@24MHz
{
uchar i;
i = 20;
while (--i);
}
void Delayms(uint k)
{
uchar j;
j = 99;
while (k--)
{
while(j--)
{
Delay10us();
}
}
}
#include “SCCB.C“
#include “ov2640.c“
void main()
{
PCA0MD = 0X08; //Disable_WDTPCA_CLK=SYSCLKDisable_CF
EMI0CF = 0X00; //Enable on-chip XRAM
Port_IO_Init();
Oscillator_Init();
UART_Init();
PCA0_Init();
CAM_Init();
SPI_Init();
Count_VSYNCH = 0;
Count_PCLK = 0;
EA=1;
while(1);
}
/******************************************************************/
void PCA0_ISR() interrupt 11
{
if(CCF1) // If Module 1 caused the interrupt
{
CCF1 = 0; // Clear module 1 interrupt flag.
if(PIN_CAM_HREF==1)
{
JPEG[Count_PCLK] = PIN_CAM_DATA;
Count_PCLK++;
}
return;
}
if(CCF2) // If Module 2 caused the interrupt
{
uint i;
CCF2 = 0; // Clear module 2 interrupt flag.
if(Count_VSYNCH == 4)
{
PCA0CPM1 = 0x20;
PCA0CPM2 = 0x20;
for(i = 0; i < Count_PCLK; i++)
{
Uart1_Send(JPEG[i]);
if((JPEG[i-1] == 0XFF)&(JPEG[i] == 0XD9))
break;
}
Count_PCLK = 0;
Count_VSYNCH = 3;
// Delayms(300);
PCA0CPM2 = 0x21;
CCF1 = 0;
return;
}
if(Count_VSYNCH == 3)
{
CCF1 = 0;
PCA0CPM1 = 0x21;
}
if(Count_VSYNCH < 4)
{
Count_VSYNCH++;
}
return;
}/***/
}
/******************************************************************/
void UART1_Interrupt() interrupt 16
{
uchar Byte;
if(SCON1&0x01) //RI1==1
{
Byte = SBUF1;
if(Byte == 0xee)
{
Flag = 0;
}
SCON1 &= 0xFE; //RI1=0
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\
文件 2137 2013-01-18 21:44 ov2640_svga_qcif_6M_ok\C8051F380.C
文件 7077 2012-11-19 16:10 ov2640_svga_qcif_6M_ok\C8051F380.LST
文件 2539 2012-11-19 16:37 ov2640_svga_qcif_6M_ok\SCCB.C
文件 47627 2013-01-18 21:44 ov2640_svga_qcif_6M_ok\main.LST
文件 30211 2013-01-18 21:44 ov2640_svga_qcif_6M_ok\main.OBJ
文件 1950 2012-11-24 19:32 ov2640_svga_qcif_6M_ok\main.c
文件 911 2012-11-22 20:07 ov2640_svga_qcif_6M_ok\ov2640.c
文件 5766 2012-11-25 19:52 ov2640_svga_qcif_6M_ok\ov2640.h
文件 5892 2012-11-20 01:21 ov2640_svga_qcif_6M_ok\ov2640.h_
文件 3752 2012-11-22 16:25 ov2640_svga_qcif_6M_ok\ov2640_.h
文件 27409 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\test
文件 21905 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\test.M51
文件 3126 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\test.Opt
文件 2093 2012-11-22 15:34 ov2640_svga_qcif_6M_ok\test.Uv2
文件 4057 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\test.hex
文件 411 2013-04-01 14:49 ov2640_svga_qcif_6M_ok\test.plg
文件 2946 2013-01-18 21:46 ov2640_svga_qcif_6M_ok\test_Opt.Bak
文件 2093 2012-11-22 13:56 ov2640_svga_qcif_6M_ok\test_Uv2.Bak
文件 4447 2012-11-21 20:59 ov2640_svga_qcif_6M_ok\复件 ov2640.h
- 上一篇:串口JPEG格式图片上位机软件
- 下一篇:自己编写ping程序
评论
共有 条评论