51单片机控制舵机程序文档格式.doc

上传人:wj 文档编号:8430320 上传时间:2023-05-11 格式:DOC 页数:3 大小:31.50KB
下载 相关 举报
51单片机控制舵机程序文档格式.doc_第1页
第1页 / 共3页
51单片机控制舵机程序文档格式.doc_第2页
第2页 / 共3页
51单片机控制舵机程序文档格式.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

51单片机控制舵机程序文档格式.doc

《51单片机控制舵机程序文档格式.doc》由会员分享,可在线阅读,更多相关《51单片机控制舵机程序文档格式.doc(3页珍藏版)》请在冰点文库上搜索。

51单片机控制舵机程序文档格式.doc

sbitKeyLeft=P1^0;

//左转按键端口

sbitKeyRight=P1^1;

//右转按键端口

sbitKeyStop=P1^2;

//归位按键端口

unsignedcharTimeOutCounter=0,LeftOrRight=0;

//TimeOutCounter:

定时器溢出计数 LeftOrRight:

舵机左右旋转标志

voidInitialTimer(void)

{

TMOD=0x10;

//定时/计数器1工作于方式1

TH1=(65535-500)/256;

//0.25ms

TL1=(65535-500)%256;

EA=1;

//开总中断

ET1=1;

//允许定时/计数器1中断

TR1=1;

//启动定时/计数器1中断

}

voidControlLeftOrRight(void)//控制舵机函数

if(KeyStop==0)

{

//while(!

KeyStop);

//使标志等于Stop(0),在中断函数中将用到

LeftOrRight=Stop;

}

if(KeyLeft==0)

KeyLeft);

//使标志等于Left

(1),在中断函数中将用到

LeftOrRight=Left;

if(KeyRight==0)

KeyRight);

//使标志等于Right

(2),在中断函数中将用到

LeftOrRight=Right;

voidmain(void) //主函数

InitialTimer();

for(;

;

ControlLeftOrRight();

voidTimer1(void)interrupt3//定时器中断函数

TimeOutCounter++;

switch(LeftOrRight)

case0:

//为0时,舵机归位,脉宽1.5ms

{

if(TimeOutCounter<

=6)

{

ControlPort=1;

}

else

ControlPort=0;

break;

}

case1:

//为1时,舵机左转,脉宽1ms(理论值),实际可以调试得出

=2)

case2:

//为2时,舵机右转,脉宽2ms(理论值),实际可以调试得出

=10)

default:

break;

if(TimeOutCounter==80) //周期20ms(理论值),比较可靠,最好不要修改

TimeOutCounter=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2