標題:
stc8a單片機ov7670 上位機
[打印本頁]
作者:
CJT224224
時間:
2020-7-26 00:52
標題:
stc8a單片機ov7670 上位機
/**************************************************************************************
實驗現(xiàn)象: 下載程序后,打開上位機軟件選擇正確配置,點擊連續(xù)接收圖像,可看到接收到的圖像。
接線說明: 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連接線給開發(fā)板通電下載程序,STC下載軟件中內(nèi)部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);
}
/**************************************
功能描述:外部中斷服務程序
入口參數(shù):無
返回值:無
***************************************/
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; //讀數(shù)據(jù)
SendDataByUart1(t1);
}
datareadyflag=1;
}
OV7670_CS_H;
ov_sta=0;
EX0 = 1; //使能INT0中斷允許位
}
}
/***************************************************************************
* 描 述 : 主函數(shù)
* 入 參 : 無
* 返回值 : 無
**************************************************************************/
int main()
{
P3M1 &= 0xFE; P3M0 &= 0xFE; //設(shè)置P3.0為準雙向口
P3M1 &= 0xFD; P3M0 |= 0x02; //設(shè)置P3.1為推挽輸出
Delay100ms();
Uart1_Init();
Delay100ms();
IE0 = 0; //將INT0中斷請求標志位清"0"
EX0 = 1; //使能INT0中斷允許位
IT0 = 1; //選擇INT0為下降沿觸發(fā)方式
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, 下載次數(shù): 34
作者:
jemery1030
時間:
2020-10-3 21:08
正好有ov7670可用,找時間測試,先謝謝你。
作者:
jemery1030
時間:
2020-10-5 09:55
請問這個能換芯片嗎?我只有STC12xx的,剛剛換了頭文件,一堆error。
作者:
SillentWall
時間:
2025-4-29 10:32
下載了,報了一堆錯
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1