为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 咳咳咳51单片机控制舵机程序

咳咳咳51单片机控制舵机程序

2017-09-27 5页 doc 15KB 17阅读

用户头像

is_682974

暂无简介

举报
咳咳咳51单片机控制舵机程序咳咳咳51单片机控制舵机程序 Xxxxx #include #define Stop 0 //宏定义,停止 #define Left 1 //宏定义,左转 #define Right 2 //宏定义,右转 sbit ControlPort = P2^0; //舵机信号端口 sbit KeyLeft = P1^0; //左转按键端口 sbit KeyRight = P1^1; //右转按键端口 sbit KeyStop = P1^2; //归位按键端口 unsigned char TimeOutCounte...
咳咳咳51单片机控制舵机程序
咳咳咳51单片机控制舵机程序 Xxxxx #include #define Stop 0 //宏定义,停止 #define Left 1 //宏定义,左转 #define Right 2 //宏定义,右转 sbit ControlPort = P2^0; //舵机信号端口 sbit KeyLeft = P1^0; //左转按键端口 sbit KeyRight = P1^1; //右转按键端口 sbit KeyStop = P1^2; //归位按键端口 unsigned char TimeOutCounter = 0,LeftOrRight = 0; //TimeOutCounter:定时器溢出计数 LeftOrRight:舵机左右旋转标志 void InitialTimer ( void ) { TMOD=0x10; //定时/计数器1工作于方式1 TH1 = ( 65535 - 500 ) / 256; //0.25ms TL1 = ( 65535 - 500 ) % 256; EA=1; //开总中断 ET1=1; //允许定时/计数器1 中断 TR1=1; //启动定时/计数器1 中断 } void ControlLeftOrRight ( void ) //控制舵机数 { if( KeyStop == 0 ) { //while ( !KeyStop ); //使标志等于Stop(0),在中断函数中将用到 LeftOrRight = Stop; } if( KeyLeft == 0 ) { //while ( !KeyLeft ); //使标志等于Left(1),在中断函数中将用到 LeftOrRight = Left; } if( KeyRight == 0 ) { //while ( !KeyRight ); //使标志等于Right(2),在中断函数中将用到 LeftOrRight = Right; } } void main ( void ) //主函数 { InitialTimer(); for(;;) { ControlLeftOrRight(); } } void Timer1 ( void ) interrupt 3 //定时器中断函数 { TH1 = ( 65535 - 500 ) / 256; TL1 = ( 65535 - 500 ) % 256; TimeOutCounter ++; switch ( LeftOrRight ) { case 0 : //为0时,舵机归位,脉宽1.5ms { if( TimeOutCounter <= 6 ) { ControlPort = 1; } else { ControlPort = 0; } break; } case 1 : //为1时,舵机左转,脉宽1ms(理论值),实际可以调试得出 { if( TimeOutCounter <= 2 ) { ControlPort = 1; } else { ControlPort = 0; } break; } case 2 : //为2时,舵机右转,脉宽2ms(理论值),实际可以调试得出 { if( TimeOutCounter <= 10 ) { ControlPort = 1; } else { ControlPort = 0; } break; } default : break; } if( TimeOutCounter == 80 ) //周期20ms(理论值),比较可靠,最好不要修改 { TimeOutCounter = 0; } }
/
本文档为【咳咳咳51单片机控制舵机程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索