IC解密LCD液晶屏与OV7670共用数据线,导致花屏现象出现,目前还没有解决,所以没有采用共用端口方式。(端口具体配置见LCD和OV7670初始化部分)。
IC解密单片机源程序如下:
- /******************************************************************/
- /* 名称:OV7670图像采集及显示程序 */
- /* 欢迎来学习 */
- /******************************************************************/
- #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; //开始下一次采集
-
-
- }
-
- }