找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3890|回复: 7
打印 上一主题 下一主题
收起左侧

STC12单片机驱动OV7670带fifo摄像头程序 屏幕ILI9486

  [复制链接]
跳转到指定楼层
楼主
使用屏幕ILI9486(就是arduino的3.5寸320*480的屏)

单片机源程序如下:
  1. #include<STC12C5A60S2.h>
  2. #include "ov7670_fifo.h"
  3. #include "lcd.h"

  4. void main_init()
  5. {
  6.         EX0=1;          //红外中断
  7.         IT0=1;    //下降沿有效
  8.         //EA=1;
  9. }
  10. unsigned char bn=0;

  11. void main(void)
  12. {
  13.         unsigned int  a,b;
  14.         unsigned int  c_data;
  15.        
  16.         unsigned char tmp;
  17.        
  18.         main_init();
  19.         LCD_Init();
  20.        
  21.         FIFO_CS_L();
  22.         FIFO_WE_L();
  23.         do
  24.         {
  25.                 tmp = Sensor_init();
  26.         }
  27.         while(!tmp);         
  28.         //UART1_Send_String("OV7670初始化成功!\r\n");  
  29.        
  30.         EA=1;          //总中断
  31. //        LCD_Clear(GREEN);
  32.         //while(1);
  33.        
  34.         while(1)
  35.         {
  36.                 while(bn!=2)
  37.                 {
  38.                
  39.                 }
  40.                
  41.                 FIFO_RRST_L();        //复位FIFO读指针
  42.                 FIFO_RD_L();
  43.                 FIFO_RD_H();
  44.                 FIFO_RD_L();
  45.                 FIFO_RRST_H();
  46.                 FIFO_RD_H();
  47.                
  48.                 //LCD_SetPos(0,239,0,319);
  49.                 LCD_SetWindows(0,0,239,319);//设置显示窗口
  50.                 EA=0;
  51.                 for(a=0;a<320;a++)
  52.                 {
  53.                         for(b=0;b<240;b++)
  54.                         {
  55.                                 FIFO_RD_L();
  56.                                 c_data = CAMERA2MCU_Data;//读高位
  57.                                 //SBUF=CAMERA2MCU_Data;
  58.                                 c_data <<= 8;
  59.                                 FIFO_RD_H();
  60.                                 FIFO_RD_L();
  61.                                 //SBUF=CAMERA2MCU_Data;
  62.                                 c_data |= CAMERA2MCU_Data;//读低位
  63.                                 FIFO_RD_H();
  64.                                
  65.                                 LCD_WR_DATA(c_data);
  66.                         }
  67.                 }
  68.                 EA=1;
  69.                 LCD_SetWindows(0,0,479,639);//设置显示窗口
  70.                 bn=0;
  71.         }       
  72. }
  73.        
  74. void int0() interrupt 0
  75. {  
  76.         if(bn==0)
  77.         {
  78.                 FIFO_WRST_L();    //复位FIFO写指针
  79.                 FIFO_RD_L();
  80.                 FIFO_RD_H();
  81.                 FIFO_RD_L();
  82.                 FIFO_WRST_H();
  83.                 FIFO_RD_H();
  84.                 bn=1;
  85.                 FIFO_WE_H();
  86.         }
  87.         else if(bn==1)
  88.         {
  89.                 FIFO_WE_L();
  90.                 bn=2;
  91.         }
  92. }
复制代码

所有程序51hei提供下载:
摄像头OV7670带FIFO.zip (79.02 KB, 下载次数: 107)



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:689324 发表于 2021-2-17 01:26 | 只看该作者
感谢分享,请问楼主VSYNC引脚上升沿怎么检测?需要另接反相器么?
回复

使用道具 举报

板凳
ID:466381 发表于 2021-2-21 17:49 | 只看该作者
zhuzd 发表于 2021-2-17 01:26
感谢分享,请问楼主VSYNC引脚上升沿怎么检测?需要另接反相器么?

不用接反相器,直接外部中断检测下降沿就可以了

捕获.PNG (256.09 KB, 下载次数: 96)

捕获.PNG
回复

使用道具 举报

地板
ID:585455 发表于 2021-7-7 16:52 | 只看该作者
非常感謝,之前只用stm32才能run,這個範例讓我精神一振。
回复

使用道具 举报

5#
ID:984600 发表于 2021-11-25 13:24 | 只看该作者
有没有老哥知道stm32f103的ov9486加ov7725的程序
回复

使用道具 举报

6#
ID:984600 发表于 2021-12-13 13:51 | 只看该作者
厉害,希望大佬继续分享
回复

使用道具 举报

7#
ID:1012499 发表于 2022-4-14 14:40 | 只看该作者
这个晶振必须是30MHz吗?
回复

使用道具 举报

8#
ID:525244 发表于 2022-4-15 12:18 来自手机 | 只看该作者
读的带缓存的摄像头吗?能做物体识别码?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表