求大神帮忙看看哪里错了
单片机吧
全部回复
仅看楼主
level 10
#include <reg52.h>
#include <string.h>
#include <intrins.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
sbit EN=P3^4;
sbit RS=P3^5;
sbit RW=P3^6;
void delay();
void init();
uchar code V[]="su du";
uchar code X[]="li cheng"
void LCD1602()
{
P0=0xff;
EN=0;
RW=1;
RS=1;
}
void init()
{
delay(15);
write(0x38,0);
delay(5);
write(0x38,0);
write(0x08,0);
write(0x01,0);
write(0x06,0);
write(0x0c,0);
}
void delay(uint c) //误差 0us
{
uint a,b;
for(a=0;a<c;a++)
for(b=0;b<120;b++);
}
void read()
{
P0=0xff;
RS=0;
RW=1;
EN=1;
while(P0&0x80);
EN=0;
}
void write(uchar i,bit j)
{
read();
P0=i;
RS=j;
RW=0;
EN=1;
EN=0;
}
//单个字母显示
void displayzimu(uchar y,uchar x,uchar z)//y=0 or 1,起始第几行 x起始列 z字母值
{
if(y)
{x+=0x40;}
x+=0x80;
write(x,0);
write(z,1);
}
//字符串
void displayzifuchuan(uchar y,uchar x,uchar table[z])
{
uchar z=0;
uchar t;
t=strlen(table+x);
while(x,t)
{
displayzimu(y,x,table[z]);
x++;
z++;
}
}
void main()
{
int k,i,time;
char r,pi;
char l;
pi=3.14;
r=0.3302;
LCD1602();
init();
displayzifuchuan(0,0,V); //字符串显示
displayzifuchuan(0,0,X);
delay(10);
k++; //延迟
if(P0==0X01)
{
time=k;
l+=2*pi*r*k;
V=2*pi*r/10*k;
k=0;
}
displayzifuchuan(0,10,k); //字母显示
}
大神看看,重定义是什么
2015年01月21日 09点01分 1
level 4
定义的第二个数组后面没了个分号
2015年01月21日 12点01分 2
level 11
uchar code X[]="li cheng"后面少了一个分号
2015年01月21日 12点01分 3
谢谢,但现在又说第24行delay,c2647.requires ANSI-style protopyte
2015年01月22日 01点01分
level 5
补充一个
reg52.h 中已经定义过了吧
2015年01月21日 12点01分 4
level 4
[开心]
2015年01月22日 06点01分 5
1