下载此文档

单片机控制舵机程序.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
#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; //
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 )
ﻩﻩﻩ{

单片机控制舵机程序 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sanshenglu2
  • 文件大小16 KB
  • 时间2021-01-23