书接上文:https://blog.csdn.net/m0_59113542/article/details/123590333
本篇文章主要介绍如何采集到的图像显示在TFT。
一、效果展示
有图有真相
图片比任何语言都有说服力,话不多说直接上图。
清晰度是非常高的,所以说实验还是很成功的。
二、程序实现
在第一篇文章已经完成了ov7670的初始化,我们在这里只需要从FIFO中读取数据即可。
1、discern.c 摄像头取数据并显示文件
#include "discern.h"
#include "delay.h"
#include "lcd.h"
#include "ov7670.h"
#include "algorithm.h"
void CameraScan(void)
{ //摄像头扫描测试
vu16 a = 0,b = 0;
LCD_SetWindows(0,0,320,240); //设置显示窗口
GPIO_WriteBit(LCD_RS_PORT, LCD_RS_PIN,Bit_SET); //标志:数据写入
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0)==1);
GPIO_WriteBit(FIFO_WRST_PORT, FIFO_WRST_PIN, Bit_RESET); //写重置
GPIO_WriteBit(FIFO_WRST_PORT, FIFO_WRST_PIN, Bit_SET);
GPIO_WriteBit(FIFO_WR_PORT, FIFO_WR_PIN, Bit_SET);
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0)==0);
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0)==1);
GPIO_WriteBit(FIFO_WR_PORT, FIFO_WR_PIN, Bit_RESET);
FIFO_Reset_Read_Addr(); //读数据复位
for(a = 0; a < 240; a++)
{
for(b = 0; b < 320; b++)
{ //数据手册时序图
GPIOC->BRR = 1<<4; //gpioc 4 复位 时钟
AA = GPIOA->IDR; //查看引脚电平状态
GPIOC->BSRR = 1<<4; //gpioc 4 置位
GPIOC->BRR = 1<<4;
BB = GPIOA->IDR&0x00ff;
GPIOC->BSRR = 1<<4;
color = (AA<<8)| BB; //读两次,十六位表示一个像素
LCD_DATA_PORT->ODR = color; //将颜色显示在LCD屏上
GPIOC->BRR = 1<<11; //写数据
GPIOC->BSRR = 1<<11;
}
}
}
主要是按照数据手册对相关参数进行配置。
2、discern.h
#ifndef __DISCERN_H
#define __DISCERN_H
#include "stm32f10x.h"
#include "value.h"
void CameraScan(void);
#endif
3、main.c
#include "stm32f10x.h"
#include "stm32f10x_it.h"
#include "usart.h"
#include "delay.h"
#include "lcd.h"
#include "ov7670.h"
#include "rcc.h"
#include "ShowChar.h"
#include "discern.h"
int main(void)
{
unsigned int scan_time = 0;
STM32_Clock_Init(16); //初始化时钟
LCD_Init();
OV7670_GPIO_Init(); //OV7670引脚初始化,放在串口初始化前面
//USART1_init(); //初始化串口
TIM3_Configuration(); //10Khz的计数频率,计数到5000为500ms
LCD_Fill(0x6666); //初始化刷绿色屏
while(!Sensor_Init()); //摄像头芯片初始化
LCD_Fill(0xF800); //成功后刷红色屏
delayms(100);
while(1)
{
CameraScan(); //摄像头扫描测试
LCD_ShowNum(30,220,21 - scan_time, 2);
if(scan_time == 20)
{
scan_time = 0;
}
scan_time++;
}
}
大家如果想省事的话也可直接下载全部工程资料。
完整工程链接:https://download.csdn.net/download/m0_59113542/85002160?spm=1001.2014.3001.5503
欢迎大家指正交流,有空可以一起讨论代码啊。
制作不易,感谢大家支持,感谢!!!!!!
--------------一个正在努力的人