书接上文: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​​​​​​​

欢迎大家指正交流,有空可以一起讨论代码啊。

制作不易,感谢大家支持,感谢!!!!!!

--------------一个正在努力的人

基于STM32+OV7670+TFT显示(升级篇:将摄像头采集到的画面显示在TFT屏)相关推荐

  1. 基于STM32进行OLED显示

    目录 一.SPI接口简介 1.SPI的简介 2. SPI 接口4条线通信: 3.SPI的特征 4.接口框图 5.SPI整体的通讯过程 二.OLED的原理 1.OLED模块参数 2.该模块的特点: 3. ...

  2. 基于STM32的OLED显示

    基于STM32的OLED显示 一.什么是OLED 二.了解SPI SPI协议概括 同步串行口 三.学号姓名的显示 1.汉字点阵获取 代码修改 3.硬件连接 4.烧录编译结果 总结 参考文献 一.什么是 ...

  3. 毕业设计 —— 基于STM32手势控制显示系统的设计

    目录 一.前言 二.项目背景及资源分享 三.项目简介 1.项目名称 2.系统框架 3.功能简介 4.控制核心 5.最小系统: 6.外围模块: 四.相关设计原理及框图 1.系统设计的原理 2.手势识别原 ...

  4. 基于STM32单片机的差分升级(增量升级)算法移植手册V.3 STM32+BSDiff+LZ77

    基于STM32单片机的差分升级算法移植手册V.3 STM32+BSDiff+LZ77 更新时间:2022-03-10 版本V1.3 同步更新如下: 基于STM32单片机的差分升级(增量升级)算法V1. ...

  5. 基于STM32开发板实现传感数据采集-DHT11温湿度采集

    基于STM32开发板实现传感数据采集-DHT11温湿度采集 一.项目简介 本次项目是基于STM32开发板实现传感数据采集-DHT11温湿度采集.采用ARM结构中最为代表的Cortex-M4系列的芯片, ...

  6. 基于STM32单片机的差分升级(增量升级)算法

    DiffIAP – STM32单片机可用的差分升级(增量升级),适用于物联网车联网IAP升级OTA升级 应用背景 随着目前物联网,车联网,智能设备的增多,需要远程升级设备程序的场景增多,以往的IAP升 ...

  7. STM32实例——基于STM32开发板实现传感数据采集-DHT11温湿度采集

    STM32开发板实现传感数据采集-DHT11温湿度采集 一.前言 本项目是基于STM32开发板的温湿度采集,传感器采用DHT11温湿度传感器,软件采用keil5等.本项目采用ARM结构中最为代表的Co ...

  8. 基于STM32温室大棚监测系统Protues仿真设计温湿度采集光照

    仿真演示视频 基于stm32温室大棚控制系统仿真设计温湿度采集光照采集protues设计物联网定制_哔哩哔哩_bilibili 开发软件Keil5+Protues8.9,温湿度传感器DHT11. 部分 ...

  9. 毕业设计——基于STM32+OV7670的图像采集车牌识别(终极篇:车牌识别)

    书接上文:https://blog.csdn.net/m0_59113542/article/details/123592010?spm=1001.2014.3001.5502 本篇文章主要介绍如何对 ...

最新文章

  1. R语言使用ggpubr包可视化分组条形图(grouped bar plot)、并添加误差条(error bar、误差条显示平均值+/-sd)、添加分组填充色、添加jitter、自定义分组抖动数据点形状
  2. JBPM深入解析之变量设计
  3. mysql主从复制gtid_详解MySQL主从复制实战 - 基于GTID的复制
  4. 日期时间选择器-jeDate日期控件
  5. 电脑基本快捷键的使用
  6. 10款中小企业必备的开源免费安全工具
  7. WPF的ListBox的数据绑定,但需要添加控件在里面的时候
  8. 排版小知识 1.针对某个对象对齐
  9. Spring Framework--Data Access(1)--Transaction Management(2) - 声明式事务管理
  10. uiuc工程学院计算机,UIUC的ECE「伊利诺伊大学香槟分校电气与计算机工程系」
  11. 【管理心得之二十一】管得少就是管得好
  12. solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
  13. 家用宽带搭建个人服务器(一)
  14. 难倒高手了,c语言枚举end的作用是什么?
  15. 早餐吃菠萝好吗 早上可以吃菠萝吗
  16. 爆肝三天整理!2021年阿里巴巴社招面试题总结,三轮技术面+HR面,总结的明明白白!
  17. 迪杰斯特拉算法和弗洛伊德算法
  18. JAVA 制作给定时间倒计时器
  19. 双栈路由Linux,Linux模拟IPV6双栈路由器实现方案
  20. python数据拟合怎么做的,python如何实现数据的线性拟合

热门文章

  1. 【ROS】[rosrun] Couldn't find executable named
  2. python atm作业详解_Python小案例--ATM系统
  3. Python在游戏中的热更新
  4. 使用哈尔滨工业大学SCIR的开源代码训练自己的ELMo
  5. hdu6608 Fansblog(威尔逊定理)
  6. 读PPK谈javascript
  7. 义乌集训Day 6 T2
  8. dnf剑魂buff等级上限_DNF:剑魂职业改版加强,超一线剑魂职业如何技能加点?...
  9. 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 3.0 ETH数据结构篇
  10. 图像类的分类模型假阳性(FP)高的解决思路