欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3806|回復: 0
收起左側

單片機控制舵機扇形搖擺的源碼 循環左右搖臂動作 20ms周期

[復制鏈接]
ID:362221 發表于 2018-6-30 12:22 | 顯示全部樓層 |閱讀模式
我現在也在做舵機控制,這是控制一個舵機的程序,可以參考!
 改變單片機輸出脈沖寬度1ms~2ms,使舵機在-90°~+90°間轉動

單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:舵機控制       
  3.   編寫:shifang
  4.   修改:無
  5.   內容:舵機進行循環左右搖臂動作 20ms周期,高電平時間從0.5ms~2.5ms,最大范圍,根據不同舵機調整
  6. ------------------------------------------------*/
  7. #include<reg52.h>
  8. #include "delay.h"

  9. sbit OUT = P0^0;

  10. unsigned char TH_H,TL_H,TH_L,TL_L;//

  11. /*------------------------------------------------
  12.                     定時器初始化子程序
  13. ------------------------------------------------*/
  14. void Init_Timer0(void)
  15. {
  16. TMOD |= 0x01;          //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響        TOMD = TOMD | 0X01             
  17. TH0=0x00;              //給定初值,這里使用定時器最大值從0開始計數一直到65535溢出
  18. TL0=0x00;
  19. EA=1;            //總中斷打開
  20. ET0=1;           //定時器中斷打開
  21. TR0=1;           //定時器開關打開
  22. }
  23. /*------------------------------------------------
  24.                  數據處理
  25. ------------------------------------------------*/
  26. void DataPro(unsigned int temp)
  27. {
  28.          TH_H=(65536-temp)/256;
  29.      TL_H=(65536-temp)%256;
  30.          TH_L=(46536+temp)/256;
  31.          TL_L=(46536+temp)%256;
  32. }
  33. /*------------------------------------------------
  34.                  主程序
  35. ------------------------------------------------*/
  36. main()
  37. {
  38.   unsigned int  temp=1500;
  39.   bit flag=0;
  40.   Init_Timer0();
  41.   DataPro(temp);

  42.   while(1)
  43.      {
  44.      while(!flag){
  45.          if(temp<2300)
  46.         temp+=10;
  47.      else
  48.           flag=1;
  49.          DelayMs(3);
  50.          DataPro(temp);
  51.                   }
  52.          while(flag)
  53.            {
  54.      if(temp>700)
  55.         temp-=10;
  56.      else
  57.         flag=0;
  58.          DelayMs(3);
  59.          DataPro(temp);
  60.                 }
  61.      
  62.          }
  63. }

  64. /*------------------------------------------------
  65.                  定時器中斷子程序
  66. ------------------------------------------------*/
  67. void Timer0_isr(void) interrupt 1
  68. {
  69. if(OUT)
  70. {
  71. TH0=TH_L;                  //重新賦值
  72. TL0=TL_L;
  73. }
  74. else
  75. {
  76.   TH0=TH_H;                  //重新賦值
  77.   TL0=TL_H;
  78.   }
  79. OUT=!OUT;
  80. }


復制代碼

所有資料51hei提供下載:
127-舵機扇形搖擺.rar (23.41 KB, 下載次數: 40)


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表