机器人安装完后调试舵机控制原理不标准啊 怎么回事?

五自由度机器手臂舵机控制,在百度文库查,可调试不了,出现ZLG7289这个错误,请问应该怎么改~解释谢谢_百度知道
五自由度机器手臂舵机控制,在百度文库查,可调试不了,出现ZLG7289这个错误,请问应该怎么改~解释谢谢
/*****五自由度机器手臂舵机控制**********//*****中国地质大学(武汉)**************//***机械与电子信息学院 071082班 王聪***/错误提示:Build target 'Target 1'compiling 1.c...1.c(5): warning C318: can't open file 'ZLG7289.h'1.C(41): warning C206: 'ZLG7289_Key': missing function-prototype1.C(49): warning C206: 'ZLG7289_Init': missing function-prototype1.C(49): error C267: 'ZLG7289_Init': requires ANSI-style prototypeTarget not created
提问者采纳
/*****五自由度机器手臂舵机控制**********/#include&reg52.h&#include&zlg7289.h&/************************************************************/#define uint unsigned int#define uchar unsigned charsbit P00=P0^0; //底座旋转舵机sbit P01=P0^1; //腰部舵机sbit P02=P0^2; //肘部舵机sbit P03=P0^3; //腕部舵机sbit P04=P0^4; //夹持舵机uchar Key=0//默认键值uchar k=0uchar flag=0;uchar M=11;uchar dj0,dj1,dj2,dj3,dj4;uchar a=0;uchar c=0;uchar beep=1;/***********************************************************/void Delay(uchar n)//毫秒延时{
uint i,j; for(i=n;i&0;i--)
for(j=0;j&1140;j++)}void Init_Timer0(void){ TMOD |= 0x01;
//定时器初值,定时100us TL0=0x9c; EA=1;
}void INT0_SVC() interrupt 0{ Key = ZLG7289_Key(); k = K //Key 的值复制到临时变量k 中 Key = 0xFF; //Key 恢复为无按键状态 flag=1;}void Init_zlg(void){
Delay(10); //延时30ms,等待ZLG7289 复位完毕
ZLG7289_Init(4); //调用ZLG7289 的初始化函数
Delay(20);
ZLG7289_Reset();
Delay(10);}void Timer0_isr(void) interrupt 1 using 1 //中断函数内部太过复杂,影响定时器计时精度,堆栈是否会溢出出问题?有待测试...{ a+=1; c+=1; TH0=0
TL0=0x9c; if(a==M)
//高电平持续时间 { a=0; beep=0; } if(c==200)
//低电平持续时间为(200-M)*100us {
beep=1; }}void mov(uchar t ,uchar p,uchar n)//单步动作完成函数
,t为控制执行时间参数,n为舵机编号选择{
uchar i,j;
M=p;//所需位置信息赋给舵机脉宽变量
for(i=0;i&150;i++)
for(j=0;j&t;j++)
{ switch(n) {
case 0:{P00=dj0=p;}
case 1:{P01=dj1=p;}
case 2:{P02=dj2=p;}
case 3:{P03=dj3=p;}
case 4:{P04=dj4=p;}
default: }
}}void auto_mov()//自动执行一串动作{ mov(100,5,0); mov(60,7,1); mov(100,22,3); mov(200,17,4); mov(60,10,1); mov(60,8,2); mov(100,22,0); mov(80,7,1); mov(80,10,2);// mov(100,20,3); mov(200,8,4); mov(60,11,1); mov(60,11,2); mov(60,18,3);}void key_test(){
for (;;) {
if ( k != 0xFF ) //通过临时变量k 判断是否有键按下,有则显示出来
dat = k / 10;
ZLG7289_Download(1,2,0,dat);
dat = k - dat * 10;
ZLG7289_Download(1,3,0,dat);
//以下部分调节高电平脉宽,控制舵机转角
case 0:{ if(dj0&=5)dj0--;M=dj0;}
case 1:{ if(dj1&=5)dj1--;M=dj1;}
case 2:{ if(dj2&=5)dj2--;M=dj2;}
case 3:{ if(dj3&=5)dj3--;M=dj3;}
case 4:{ if(dj0&=23)dj0++;M=dj0;}
case 5:{ if(dj1&=23)dj1++;M=dj1;}
case 6:{ if(dj2&=23)dj2++;M=dj2;}
case 7:{ if(dj3&=23)dj3++;M=dj3;}
case 8:{ if(dj4&=23)dj4++;M=dj4;}
case 9:{ if(dj4&=5)dj4--;M=dj4;}
case 10:{auto_mov();k=0}
while(k==0||k==4)
while(k==1||k==5)
while(k==2||k==6)
while(k==3||k==7)
while(k==8||k==9)
Delay(5); }} void main(){ Init_Timer0();
//初始化定时器设置 Init_zlg();
//初始化周立功7289 IT0 = 1; //负边沿触发中断 EX0 = 1; dj0=dj1=dj2=dj3=dj4=M; while(k==0xff)
P00=P01=P02=P03= key_test();}在keil v5 运行下,出现错误提示:Build target 'Target 1'compiling 1.c...1.c(5): warning C318: can't open file 'ZLG7289.h'1.C(41): warning C206: 'ZLG7289_Key': missing function-prototype1.C(49): warning C206: 'ZLG7289_Init': missing function-prototype1.C(49): error C267: 'ZLG7289_Init': requires ANSI-style prototypeTarget not created 求高手帮手
提问者评价
其他类似问题
百度文库的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
多舵机控制在类人机器人上的应用
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 舵机控制程序 的文章

 

随机推荐