初接触c语言,请大家帮忙看看问题出在哪了!
#include<reg52.h> //库文件#define uchar unsigned char //字符型宏定义
#define uint unsigned int //整型宏定义
uchar tcnt; //定时器计数初值定义
uint sec; //速度值定义
/********************************************************
控制位定义
********************************************************/
sbit shi_neng=P1^0; // 使能控制位
sbit fang_shi=P1^1; // 工作方式控制位
sbit fang_xiang=P1^2;// 旋转方向控制位
sbit mai_chong=P1^3; // 脉冲控制位
sbit zheng_zhuan=P2^0; //定义启动按键为P2.0口
sbit fan_zhuan=P2^1; //定义停止按键为P2.1口
uint y=0;
/********************************************************************
定时中断服务函数
*********************************************************************/
void t0(void) interrupt 1 using 0 //定时中断服务函数
{
tcnt++; //每过250ust tcnt 加一
if(tcnt==4) //当tcnt满足条件时
{
tcnt=0; //计满重新再计
sec++;
if(sec==5) //括号内数值越小,电机转动速度越快
{
sec=0; //计满重新再计
mai_chong=~mai_chong; //脉冲输出
}
}
}
/********************************************************
初始化
********************************************************/
void init()
{
TMOD=0x02; //定时器工作在方式2
ET0=1;
EA=1;
TH0=0x06; //对TH0 TL0 赋值
TL0=0x06;
TR0=1; //开始定时
sec=0;
mai_chong=1; // 脉冲控制位
}
/**************液晶显示子函数***************/
void display(void)
{
LCDString(0x86,"FX"); //显示方向提示词
if(fang_xiang==0){LCDString( 0x89,">");} //如果使能为1,显示方向“>”
else{LCDString(0x89,"<");} //显示方向为“<”
LCDString(0xc3,"D"); //显示线径提示词
LCDNun(0x86,z%10); //在地址“0x83”(第一行第四个字符开始显示数字)显示线径个位
LCDNum(0x85,z/10); //在地址“0x82” (第一行第三个字符开始显示数字) 显示线径十位
LCDString(0xc9,"ZS"); //显示匝数提示词
LCDNun(0xcc,x); //在地址0xc3显示总匝数
LCDChar(0xcf,"."); //lcd1602包含函数LCDChar,会出现警告提示!
// LCDNum(0x8b,fang_xiang);
}
/***************自动排线主函数*******************/
main()
{
z=1; //触发一次转一步
init(); //初始化定时器
shi_neng=0; //使能控制位
fang_shi=1; //工作方式控制位
fang_xiang=1; //旋转方向控制位
mai_chong=1; //脉冲控制位
LCDInit(); //LCD初始化,实验板测试程序时,执行一次初始化LCD第二行不显示,两次初始化后正常!
while(1)
{
bujin(); //设置线径对应步数
display(); //显示参数
/*********手控正反或设置排线方向*********/
if(zheng_zhuan==0){delay(100);shi_neng=1;fang_xiang=0;while(!zheng_zhuan);delay(100);shi_neng=0;fang_xiang=0;}
// 如果正传键按下,使能为1,电机持续正传,松开正传键,使能为0,电机停转!
if(fan_zhuan==0){delay(100);shi_neng=1;fang_xiang=1;while(!fan_zhuan);delay(100);shi_neng=0;fang_xiang=1;}
// 如果反传键按下,使能为1,电机持续正传,松开正传键,使能为0,电机停转!
if(chufa==0){while(!chufa){shi_neng=1;y=100*z;}x++;}//如果传感器被触发,计算电机步数和累计匝数
while(y>0) //执行转动条件
{ y--; //脉冲数递减
mai_chong=~mai_chong; //输出时钟脉冲
}
}
}
Build target '目标 1'
compiling bujin.c...
BUJIN.C(56): warning C206: 'LCDString': missing function-prototype
BUJIN.C(56): error C267: 'LCDString': requires ANSI-style prototype
目标未创建
就是要声明“LEDString”这个吧,那应该怎样声明?谢谢!!!