爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
正常编译的程序:
#include<reg51.h> #define uchar unsigned char #define uint unsigned int
uchar codetable0[]="ABCDEFGHIJKLMNOPQRST"; //20字符 uchar code table1[]="01234567890123456789"; uchar num; sbit lcden=P2^7; sbit lcdrs=P2^6; void delay(uint z)//延时函数 { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
void write_com(uchar com)//往LCD写指令函数 { lcdrs=0;//LCDRS为低时写指令 P0=com;//往LCD数据口送指令 delay(5);//延时5毫秒 lcden=1; delay(5); lcden=0; }
void write_data(uchar date)//往LCD写数据函数 { lcdrs=1;//LCDRS为低时写数据 P0=date;//往LCD数据口送数据 delay(5);//延时5毫秒 lcden=1; delay(5); lcden=0; }
void init()//初始化函数 {
lcden=0;//LCD使能信号端置零 write_com(0x38);//往LCD写显示模式设置的指令 write_com(0x0c);//LCD开显示,光标不显示、不闪烁 write_com(0x06);//当读或写一个字符后地址指针加一且光标加一,整屏显示不移动 write_com(0x01);//数据指针和所有显示清零 }
void main() { init(); //第一行显示 write_com(0x80+0x00); for(num=0;num<20;num++) { write_data(table0[num]); delay(200); } //第二行显示 write_com(0x80+0x40); for(num=0;num<20;num++) { write_data(table1[num]); delay(200); }
while(1); } 只把下面这两行改动了一下,增加了现实字符数,就编译不过去了是啥原因请高手指点一下。
uchar code table0[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456"; //20字符
uchar code table1[]="01234567890123456789abcdefghijklmnopqrst";
谢谢! |