微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 正在学习单片机 请教高手指导

正在学习单片机 请教高手指导

时间:10-02 整理:3721RD 点击:
#include <reg52.h>
#include <intrins.h>
#define    DATAPORT P1
#define RS = P2^5
#define RW = P2^6
#define E = P2^7
unsigned char Busy_Check()
{
    unsigned char LCD_Status;
    RS = 0;
    RW = 1;
    E = 1;
    delayMS(1);
    LCD_Status = P1;
    E = 0;
    return LCD_status;
        
}
void Write_LCD_Command(unsigned char cmd)
{
    while(Busy_Check()&0x80);
    RS = 0;
    RW = 0;
    E = 0;
    P1 = cmd;
    E = 1;
    delayMS(1);
    E = 0;
}
viod Write_LCD_Data(unsigned char dat)
{
    while(Busy_Check()&0x80 == 0x80);
    RS = 1;
    RW = 0;
    E = 0;
    P1 = dat;
    E = 1;
    delayMS(1);
    E = 0;
}
viod Initialize_LCD()
{
    Write_LCD_Command(0x38);
    delayMS(1);
    Write_LCD_Command(0x01);
    delayMS(1)
    Write_LCD_Command(0x06);
    delayMS(1);
    Write_LCD_Command(0x0c);
    delayMS(1);
}
viod ShowString(unsigned char x, unsigned char y, unsigned char *str)
{
    unsigned char i = 0;
    if(y == 0)
    Write_LCD_Command(0x80|x);
    if(y == 1)
    Write_LCD_Command(0xc0|x);
    for(i = 0; i < 16; i++)
    {
        Write_LCD_Data(str);
    }
}
main(viod)
{
    unsigned char code Promt[]="HELLO WORLD! 2016-04-25";
    Initalize_lcd();
    ShowString(0,0,Prompt);
    ShowString(0,1,Prompt+16);
    while(1)
}
编译时keil4提示错误错误代码
compiling lesson1.c...
LESSON1.C(10): error C141: syntax error near '='
LESSON1.C(10): error C141: syntax error near '='
LESSON1.C(11): error C141: syntax error near '='
LESSON1.C(11): error C141: syntax error near '='
LESSON1.C(12): error C141: syntax error near '='
LESSON1.C(12): error C141: syntax error near '='
lesson1.c - 6 Error(s), 0 Warning(s).
请高手看看是哪里错了

#define RS = P2^5
#define RW = P2^6
#define E = P2^7
这个有错误,你可以试试把这个改成位定义,即就是#define改为sbit

谢谢
已经改了

定义管脚怎么是宏定义,位sbit定义试一试

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

网站地图

Top