久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于TINYM0 LPC1114的ov7670圖像采集源程序
[打印本頁]
作者:
leeyeeng
時間:
2018-8-16 16:31
標題:
基于TINYM0 LPC1114的ov7670圖像采集源程序
經過一個月的醞釀,兩周的程序調試,實現了應用TINYM0開發板(LPC1114芯片),經過OV7670帶FIFO圖像采集模塊采集圖像并顯示在ili9325驅動的LCD液晶屏上。實驗程序移植正點原子STM32 圖像采集程序。
在調試過程中發現,LCD液晶屏與OV7670共用數據線,導致花屏現象出現,目前還沒有解決,所以沒有采用共用端口方式。(端口具體配置見LCD和OV7670初始化部分)。
單片機源程序如下:
/******************************************************************/
/* 名稱:OV7670圖像采集及顯示程序 */
/* 作者:李穎 */
/* ccutchi */
/* 歡迎來學習 */
/******************************************************************/
#include "nxplpc11xx.h"
#include "ili9325.h"
#include "w25x16.h"
#include "gui.h"
#include "xpt2046.h"
#include "delay.h"
#include "ov7670.h"
#include "gui.h"
extern uint8_t ov_sta; //幀次數 置位標志位
void EXTI2_Init(void);
//更新LCD顯示
void camera_refresh(void)
{
uint32_t j;
uint16_t color,temp_color;
if(ov_sta==2) //判斷緩存區是否存好攝像數據
{
OV7670_RRST_0; //開始復位讀指針
OV7670_RCK_0;
OV7670_RCK_1;
OV7670_RCK_0;
OV7670_RRST_1; //復位讀指針結束
OV7670_RCK_1;
OV7670_CS_L; //fif 開
for(j=0;j<76800;j++) //分辨率為240x320 每個顏色點要兩個字節 所以 240x320x2=76800 次
{
// GPIO2->DIR &=0x00F; // 設置P2口高8位引腳為輸入,用作OV76708位并行數據輸入
// GPIO2->DATA = 0XFF0; // P2口高8位引腳置高
OV7670_RCK_0; //每一次時鐘跳變 讀一次數據
color=GPIO0->DATA&0X1FE; //color=GPIOC->IDR&0XFF; //P0.0~P0.8讀數據 讀取顏色高字節數據
OV7670_RCK_1;
color<<=7; //左移8位 將高字節移到高8位 為接收低8位字節做準備
temp_color=color;
OV7670_RCK_0;
color=GPIO0->DATA&0X1FE; //color=GPIOC->IDR&0XFF; //讀數據 讀取顏色低字節數據
OV7670_RCK_1;
color>>=1;
color|=temp_color;
LCD_WR_DATA(color);
}
GPIO1->IC = 0x3FF; // 清除GPIO1上的中斷
ov_sta=0; //開始下一次采集
}
}
/*
unsigned int Image_Buffer;
unsigned char Image[104][14];//圖像數組
unsigned int OrgRow=0,OrgColumn=0;//行列初值設置
unsigned int sampleRow=0,samleColumn=0;//行列初值設置
unsigned int sampleRow_Max=239,samleColumn_Max=239;//行列初值設置最大值
void ImagePlay(void);//圖像顯示函數
void ImageProcess(void);//圖像處理函數
void AutoControl(void);//控制函數
void OV5116_INIT(void);
*/
int main(void)
{
//uint8_t lightmode=0,saturation=2,brightness=2,contrast=2;
//uint8_t effect=0;
SysCLK_config(); // 時鐘配置
SCCB_Init();
LCD_Init(); // 液晶顯示器初始化
SCCB_Start();
while(OV7670_Init())//初始化OV7670
{
Draw_TextBox(20, 20, 100, 100);
}
//攝像頭 參數設置 屏蔽后為默認效果
OV7670_Light_Mode(0);//lightmode
OV7670_Color_Saturation(2);//saturation
OV7670_Brightness(2);//brightness
OV7670_Contrast(2);//contrast
OV7670_Special_Effects(0); //effect
OV7670_Window_Set(10,174,240,320); //設置窗口
//OV7670_CS_L; //使能攝像頭片選
EXTI2_Init(); //初始化中斷線
LCD_Clear(BLUE); // 全屏顯示白色
while(1)
{
camera_refresh();
}
}
void EXTI2_Init(void)
{
SYSCON->SYSAHBCLKCTRL |= (1<<16); // 使能IOCON時鐘(bit16)
IOCON->PIO1_0 = 0XD1; //把PIN33設置為P1.0腳
SYSCON->SYSAHBCLKCTRL &= ~(1<<16); // 禁能IOCON時鐘(bit16)
//把P1.0和P1.1設置為輸入
GPIO1->DIR &= ~(1<<0);
GPIO1->DATA |= (1<<0);
GPIO1->IS &= ~(1<<0); //選擇P1.0為邊沿觸發
GPIO1->IEV |=(1<<0);//選擇P1.0為 上升沿觸發
GPIO1->IE |= (1<<0); //設置P1.0中斷不被屏蔽
NVIC_EnableIRQ(EINT1_IRQn); // 使能GPIO1中斷
}
//GPIO1中斷服務函數
void PIOINT1_IRQHandler(void)
{
if((GPIO1->MIS&0x001)==0x001) // 檢測是不是P1.0引腳產生的中斷
{
if(ov_sta<2)
{
if(ov_sta==0)
{
OV7670_WRST_L;//=0; //復位寫指針
OV7670_WRST_H;//=1;
OV7670_WREN_H;//=1; //允許寫入FIFO
}
else
{
// OV7670_WRST_L;//=0; //復位寫指針
// OV7670_WRST_H;//=1;
OV7670_WREN_L;//=0; //禁止寫入FIFO
}
ov_sta++;
}
GPIO1->IC = 0x3FF; // 清除GPIO1上的中斷
}
}
復制代碼
所有資料51hei提供下載:
ov7670圖像顯示正確.rar
(393.87 KB, 下載次數: 12)
2018-8-16 16:30 上傳
點擊文件名下載附件
程序
下載積分: 黑幣 -5
作者:
leeyeeng
時間:
2019-8-6 15:20
把TFT 數據線和 OV7670數據線分開,不共用數據線就OK了
作者:
GG276192978
時間:
2019-8-9 09:18
如果數據線復用, 你中間數據傳輸時,判斷總線是否忙不就可以解決問題了嗎
作者:
Simon_Z
時間:
2022-8-17 20:53
好老的MCU啊,用點新的MCU就更棒了。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美影院
|
久久国产精品久久久久久
|
中文字幕日韩欧美一区二区三区
|
日韩欧美国产精品
|
国产黄色大片在线免费观看
|
国产激情一区二区三区
|
国产精品视频一区二区三区不卡
|
一级毛片在线视频
|
91亚洲国产
|
国产美女免费视频
|
午夜寂寞福利视频
|
午夜天堂精品久久久久
|
超碰网址
|
国产极品车模吞精高潮呻吟
|
国产小网站
|
视频一区二区三区在线观看
|
欧美人成在线视频
|
亚洲人成免费
|
日本不卡免费新一二三区
|
一级欧美
|
国产露脸对白88av
|
中国美女撒尿txxxxx视频
|
色婷婷在线视频
|
国产 欧美 日韩 一区
|
午夜看片网站
|
日日噜噜噜夜夜爽爽狠狠视频,
|
国产精品178页
|
日日夜夜免费精品
|
成人免费激情视频
|
老司机精品福利视频
|
国产精品久久国产愉拍
|
在线国产一区二区
|
中文二区
|
久久在线
|
欧美精品1区
|
在线成人一区
|
中文字幕不卡
|
精品国产乱码久久久久久蜜退臀
|
亚洲成人在线视频播放
|
国产成人精品免费视频大全最热
|
国产高清精品在线
|