微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机1602显示的一个程序运行错误问题

单片机1602显示的一个程序运行错误问题

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
#define uchar unsigned char
uchar code table1[]="  I LOVE YOU  "
uchar code table2[]="     mcu      "
sbit lcde=P2^7;
sbit lcdrs=P2^6;
sbit lcdwr=P2^5;
uchar num;
void delay(ms)
{
        uchar i;
        while(ms--)
        {for(i=0;i<=110;i++);}
}
void write_com(com)
{
        lcdrs=0;
        lcdwr=0;
        P0=com;
        delay(5);
        lcde=1;
        delay(5);
        lcde=0;
}
void write_data(uchar dat)
{
        lcdrs=1;
        lcdwr=0;
        P0=dat;
        delay(5);
        lcde=1;
        delay(5);
        lcde=0;
}
void init()
{
        lcde=0;
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
        write_com(0x80);
}
void main()
{
        init();
        for(num=0;num<=16;num++)
        {
                write_dat(table1[num]);
                delay(5);
        }
        write_com(0x80+0x40);
        for(num=0;num<=16;num++)
        {
                write_dat(table2[num]);
                delay(5);
        }
        while(1);
}
LCD1602-1.C(21): error C183: unmodifiable lvalue
一直显示红色的部分有上面的错误,这个是1602的使能段,请大神叫我,感激不尽!

让1602显示两个字符串,我是新手,1602的时序大致了解,只是这个程序我不知道为什么会错

那个使能不需要关断吗?一直给高电平吗?

而且这个程序首先有问题,我不知道为啥定义的这个变量就不能被重新赋值?

都是一些最基本的语法方面的错误,自己仔细检查吧。
3,4,49,55行。

code应表示为数组形式吧

恩恩,谢谢,我已经发现了,定义字符数组时漏了分号,谢谢各位啊!

这个就是字符数组吧

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

网站地图

Top