91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 16.79 KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-11-22
  • 語言: 其他
  • 標簽: 舵機??

資源簡介

用51單片機控制舵機,按鍵實現左轉、右轉及歸位,程序風格采用 化為公司 標準,整潔易讀。

資源截圖

代碼片段和文件信息

/***********************************************************
版權所有 :河池學院創新實訓中心(2/3),劉歡(1/3)
程序功能 :舵機控制
生成日期 :2009年10月30日?星期五
作  者 :劉歡
聯系方式??:(QQ)281638360??(MSN)sundayboy@live.cn
說  明 :51單片機控制舵機,按鍵實現左轉、右轉及歸位
????????????占用定時/計數器1
************************************************************/

#include?
#define?Stop?0????//宏定義,停止
#define?Left?1 ??//宏定義,左轉
#define?Right?2 ??//宏定義,右轉


sbit?ControlPort?=?P1^0;??//舵機信號端口
sbit?KeyLeft?=?P1^1; ??//左轉按鍵端口
sbit?KeyRight?=?P1^2; ??//右轉按鍵端口
sbit?KeyStop?=?P1^3; ??//歸位按鍵端口

unsigned?char?TimeOutCounter?=?0LeftOrRight?=?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;
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6376??2009-10-30?22:30??舵機控制\STARTUP.A51

?????文件??????10722??2009-10-30?22:30??舵機控制\STARTUP.LST

?????文件????????750??2009-10-30?22:30??舵機控制\STARTUP.OBJ

?????文件???????4044??2009-10-30?22:30??舵機控制\SteeringEngineControl

?????文件???????2481??2009-10-30?22:30??舵機控制\SteeringEngineControl.c

?????文件????????869??2009-10-30?22:30??舵機控制\SteeringEngineControl.hex

?????文件?????????90??2009-10-30?22:30??舵機控制\SteeringEngineControl.lnp

?????文件???????6201??2009-10-30?22:30??舵機控制\SteeringEngineControl.LST

?????文件???????8242??2009-10-30?22:30??舵機控制\SteeringEngineControl.M51

?????文件???????3920??2009-10-30?22:30??舵機控制\SteeringEngineControl.OBJ

?????文件???????1062??2009-10-30?22:31??舵機控制\SteeringEngineControl.Opt

?????文件????????430??2009-10-30?22:31??舵機控制\SteeringEngineControl.plg

?????文件???????2207??2009-10-30?20:53??舵機控制\SteeringEngineControl.Uv2

????.......??????1060??2009-10-30?22:30??舵機控制\SteeringEngineControl_Opt.Bak

?????文件???????2206??2009-10-30?20:49??舵機控制\SteeringEngineControl_Uv2.Bak

?????目錄??????????0??2009-10-30?22:31??舵機控制

-----------?---------??----------?-----??----

????????????????50660????????????????????16


評論

共有 條評論