微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新人求助!关于LCD1602的驱动程序

新人求助!关于LCD1602的驱动程序

时间:10-02 整理:3721RD 点击:
初学单片机,在清屏函数上出错了不知道怎么改,望大神指点!谢谢~
错误:
main.c(35): error C202: 'Blue2': undefined identifier
代码:
#include <AT89C52.h>  
#include <stdio.h>
#include "LCD1602.h"
#include "ov7670_fifo.h"
#include "UART.h"
//#define Blue2  0x051F
void CLR_Screen(unsigned int Blue2);

void main_init()
{
        EX0=1;          //oìía?D??
        IT0=1;    //???μ??óDD§
}
unsigned char bn=0;
void main(void)
{
       
        unsigned int  a,b;
        unsigned int  c_data;
       
        unsigned char tmp;
       
        main_init();
        UART1_init();
        UART1_Send_String("UART初始化成功!\r\n");
       
        ILI9325_Initial();
        UART1_Send_String("LCD初始化成功!\r\n");
        /*???áBlue2*/
       
          CLR_Screen(Blue2);  
       
       
        FIFO_CS_L();
        FIFO_WE_L();
        do
        {
                tmp = Sensor_init();
        }
        while(!tmp);         
        UART1_Send_String("OV7670初始化成功!\r\n");  
       
        EA=1;          //总中断
       
        while(1)
        {
                while(bn!=2)
                {
               
                }
               
                FIFO_RRST_L();        //复位FIFO读指针
                FIFO_RD_L();
                FIFO_RD_H();
                FIFO_RD_L();
                FIFO_RRST_H();
                FIFO_RD_H();
               
                LCD_SetPos(0,239,0,319);
                EA=0;
                for(a=0;a<320;a++)
                {
                        for(b=0;b<240;b++)
                        {
                                FIFO_RD_L();
                                c_data = CAMERA2MCU_Data;//读高位
                                c_data <<= 8;
                                FIFO_RD_H();
                                FIFO_RD_L();
                                c_data |= CAMERA2MCU_Data;//读低位
                                FIFO_RD_H();
                               
                                Write_Data_U16(c_data);
                        }
                }
                EA=1;
                bn=0;
        }       
}
       
void int0() interrupt 0
{  
        if(bn==0)
        {
                FIFO_WRST_L();    //复位FIFO写指针
                FIFO_RD_L();
                FIFO_RD_H();
                FIFO_RD_L();
                FIFO_WRST_H();
                FIFO_RD_H();
                bn=1;
                FIFO_WE_H();
        }
        else if(bn==1)
        {
                FIFO_WE_L();
                bn=2;
        }
}

呵呵,没看到你的CLR_Screen函数在哪里啊,而且你的是TFT屏吧,并不是1602屏嘛
把//#define Blue2  0x051F恢复了,不要屏蔽试试

提示未定义Blue2啊,根据错误提示改改吧,看起来问题不大。

看一下这三个。H文件里是否有定义
#include "LCD1602.h"
#include "ov7670_fifo.h"
#include "UART.h"

错误提示不是挺明显的嘛

你使用了未定义的blue2,找头文件定义应该就能解决

#define Blue2??0x051F;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top