标题:
stc8a单片机ov7670 上位机
[打印本页]
作者:
CJT224224
时间:
2020-7-26 00:52
标题:
stc8a单片机ov7670 上位机
/**************************************************************************************
实验现象: 下载程序后,打开上位机软件选择正确配置,点击连续接收图像,可看到接收到的图像。
接线说明: 1:STC8A单片机-->LED&交通灯模块
P00-->D1
2:STC8A单片机-->PZ-OV7670摄像头模块
GND-->GND
3.3V-->3.3V
P10-->SCL
P11-->SDA
P33-->WRST
P36-->RRST
P37-->OE
P20-P27-->D0-D7
P35-->RCLK
P34-->WEN
P32-->VSYNC
注意事项: USB连接线给开发板通电下载程序,STC下载软件中内部IRC时钟选择24MHZ
***************************************************************************************/
#include "STC8.H"
#include "intrins.h"
#include "uart.h"
#include "SCCB.H"
#include "ov7670.H"
#define MAIN_Fosc 11059200L //定义主时钟
#define uint32 unsigned long
#define uint16 unsigned int
#define uint8 unsigned char
/**********************
引脚别名定义
***********************/
sbit led1=P0^0; //用IO口P00
u8 ov_sta;
u8 datareadyflag=1;
void Delay2us() //@24.000MHz
{
unsigned char i;
i = 14;
while (--i);
}
/**************************************
功能描述:外部中断服务程序
入口参数:无
返回值:无
***************************************/
void INT0_int (void) interrupt 0
{
u16 i,j;
u8 t1,t2;
IE0 = 0; //将INT0中断请求标志位清"0"
ov_sta++;
if(ov_sta==1)
{
OV7670_WRST_H;
_nop_();
OV7670_WRST_L; //复位写指针
Delay2us();
OV7670_WRST_H;
OV7670_WEN_H; //允许写入FIFO
}
if(ov_sta==2)
{
OV7670_WEN_L; //禁止写入FIFO
EX0 = 0; //禁止INT0中断允许位
OV7670_RCK_H;
OV7670_RRST_L; //开始复位读指针
OV7670_RCK_L;
_nop_(); _nop_();
OV7670_RCK_H;
_nop_();_nop_();
OV7670_RCK_L;
OV7670_RRST_H;
_nop_();
Delay2us();
OV7670_CS_L;
_nop_();
SendDataByUart1(0xff);
for(i=0;i<9600;i++)
{
for(j=0;j<8;j++)
{
OV7670_RCK_L;
_nop_();
OV7670_RCK_H;
_nop_();
t1=P2;
OV7670_RCK_L;
_nop_();
OV7670_RCK_H;
_nop_();
t2=P2; //读数据
SendDataByUart1(t1);
}
datareadyflag=1;
}
OV7670_CS_H;
ov_sta=0;
EX0 = 1; //使能INT0中断允许位
}
}
/***************************************************************************
* 描 述 : 主函数
* 入 参 : 无
* 返回值 : 无
**************************************************************************/
int main()
{
P3M1 &= 0xFE; P3M0 &= 0xFE; //设置P3.0为准双向口
P3M1 &= 0xFD; P3M0 |= 0x02; //设置P3.1为推挽输出
Delay100ms();
Uart1_Init();
Delay100ms();
IE0 = 0; //将INT0中断请求标志位清"0"
EX0 = 1; //使能INT0中断允许位
IT0 = 1; //选择INT0为下降沿触发方式
EA = 1; // 总中断打开
led1=0;
while(OV7670_Init())//初始化OV7670
{
led1=1;
Delay100ms();
}
while(1)
{
}
}
复制代码
实验2:OV7670摄像头实验(串口1传输图像).7z
2020-7-26 00:51 上传
点击文件名下载附件
6.75 MB, 下载次数: 34
作者:
jemery1030
时间:
2020-10-3 21:08
正好有ov7670可用,找時間測試,先謝謝你。
作者:
jemery1030
时间:
2020-10-5 09:55
請問這個能換芯片嗎?我只有STC12xx的,剛剛換了頭文件,一堆error。
作者:
SillentWall
时间:
2025-4-29 10:32
下载了,报了一堆错
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1