keil4出现错误error c141:syntax error near ‘void’
#include<at89x52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharv...
#include<at89x52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z) //延时函数
{
uint a,b;
for(a=z;a>0;a--)
for(b=120;b>0;b--);
}
sbit LcdRs = P1^0;
sbit LcdRw = P1^1;
sbit LcdEn = P1^2;
sfr DBPort = 0x80; //端口定义,LcdRs就代表P1^0口,以下同.
//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口
unsigned char LCD_Wait(void) //内部等待函数,LCD的显示需要一定的延迟时间.
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
LcdEn=0;
return DBPort;
}
//向LCD写入命令或数据
#define LCD_COMMAND 0 // Command
#define LCD_DATA 1 // Data
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光标返回原点
//以上4行为宏定义,以后出现LCD_HOMING的地方就可以用0x02来代替.
void LCD_Write(bit style, unsigned char input) //LCD写入子函数,形参为数据类型和无符号字符型输入.
{
LcdEn=0;
LcdRs=style; //数据类型传递给LcdRS
LcdRw=0; _nop_();
DBPort=input; _nop_();//写入的数据传递给DBPort
LcdEn=1; _nop_();//注意顺序
LcdEn=0; _nop_();
LCD_Wait(); //调用内部等待函数.
}
//设置显示模式
************************************************************
#define LCD_SHOW 0x04 //显示开
#define LCD_HIDE 0x00 //显示关
#define LCD_CURSOR 0x02 //显示光标
#define LCD_NO_CURSOR 0x00 //无光标
#define LCD_FLASH 0x01 //光标闪动
#define LCD_NO_FLASH 0x00 //光标不闪动
void LCD_SetDisplay(unsigned char DisplayMode) //LCD显示设置子函数
{
LCD_Write(LCD_COMMAND, 0x08|DisplayMode);
}
//设置输入模式
************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00 // default
#define LCD_MOVE 0x01 // 画面可平移
#define LCD_NO_MOVE 0x00 //default
void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND, 0x04|InputMode);
}
//初始化
LCD;***********************************************************
void LCD_Initial() //初始化函数.
{
LcdEn=0;
LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵
delay(5);
LCD_Write(LCD_COMMAND,0x38);
delay(5);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标
delay(5);
LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏
delay(5);
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动
delay(5);
}
//液晶字符输入的位置************************
void GotoXY(unsigned char x, unsigned char y)
{
if(y==0)
LCD_Write(LCD_COMMAND,0x80|x);
if(y==1)
LCD_Write(LCD_COMMAND,0x80|(x-0x40));
}
//将字符输出到液晶显示
void Print(unsigned char *str)
{
while(*str!='\0')
{
LCD_Write(LCD_DATA,*str);
str++;
delay(1);
}
} 展开
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z) //延时函数
{
uint a,b;
for(a=z;a>0;a--)
for(b=120;b>0;b--);
}
sbit LcdRs = P1^0;
sbit LcdRw = P1^1;
sbit LcdEn = P1^2;
sfr DBPort = 0x80; //端口定义,LcdRs就代表P1^0口,以下同.
//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口
unsigned char LCD_Wait(void) //内部等待函数,LCD的显示需要一定的延迟时间.
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
LcdEn=0;
return DBPort;
}
//向LCD写入命令或数据
#define LCD_COMMAND 0 // Command
#define LCD_DATA 1 // Data
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光标返回原点
//以上4行为宏定义,以后出现LCD_HOMING的地方就可以用0x02来代替.
void LCD_Write(bit style, unsigned char input) //LCD写入子函数,形参为数据类型和无符号字符型输入.
{
LcdEn=0;
LcdRs=style; //数据类型传递给LcdRS
LcdRw=0; _nop_();
DBPort=input; _nop_();//写入的数据传递给DBPort
LcdEn=1; _nop_();//注意顺序
LcdEn=0; _nop_();
LCD_Wait(); //调用内部等待函数.
}
//设置显示模式
************************************************************
#define LCD_SHOW 0x04 //显示开
#define LCD_HIDE 0x00 //显示关
#define LCD_CURSOR 0x02 //显示光标
#define LCD_NO_CURSOR 0x00 //无光标
#define LCD_FLASH 0x01 //光标闪动
#define LCD_NO_FLASH 0x00 //光标不闪动
void LCD_SetDisplay(unsigned char DisplayMode) //LCD显示设置子函数
{
LCD_Write(LCD_COMMAND, 0x08|DisplayMode);
}
//设置输入模式
************************************************************
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00 // default
#define LCD_MOVE 0x01 // 画面可平移
#define LCD_NO_MOVE 0x00 //default
void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND, 0x04|InputMode);
}
//初始化
LCD;***********************************************************
void LCD_Initial() //初始化函数.
{
LcdEn=0;
LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵
delay(5);
LCD_Write(LCD_COMMAND,0x38);
delay(5);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标
delay(5);
LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏
delay(5);
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动
delay(5);
}
//液晶字符输入的位置************************
void GotoXY(unsigned char x, unsigned char y)
{
if(y==0)
LCD_Write(LCD_COMMAND,0x80|x);
if(y==1)
LCD_Write(LCD_COMMAND,0x80|(x-0x40));
}
//将字符输出到液晶显示
void Print(unsigned char *str)
{
while(*str!='\0')
{
LCD_Write(LCD_DATA,*str);
str++;
delay(1);
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询