久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5936|回復: 2
收起左側

stm32與51控制舵機108度來回運動的源程序與原理(動態圖片演示)

[復制鏈接]
ID:250813 發表于 2018-4-25 15:47 | 顯示全部樓層 |閱讀模式
通過stm32實現舵機108度來回運動
根據工作原理,舵機的具體控制方法就是需要一個20ms左右的時基脈沖,
該脈沖的高電平部分一般為0.5ms~2.5ms范圍內的角度控制脈沖部分。
脈沖寬度從0.5ms~2.5ms,相對應舵盤的位置為0~180度,呈線性變化。

***************一般舵機脈沖寬度20ms,高電平寬度與角度對應關系***********
0.5ms————0度;
1.0ms————45度;
1.5ms————90度;
2.0ms————135度;
2.5ms————180度;

根據上面的原理,我們知道單片機只要產生20ms的脈沖信號,通過改變高電平時間從0.5ms到2.5ms變化,就能使舵機轉動到對應的角度

舵機控制原理動態圖片演示:
Servo.gif



stm32單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "pwm.h"

  5. int main(void)
  6. {        
  7.          
  8.         
  9.         delay_init();                     //延時函數初始化         
  10.         LED_Init();                          //初始化與LED連接的硬件接口
  11.         TIM1_PWM_Init(199,7199);//不分頻。PWM頻率===(7200*200)/72000000=0.02=20ms
  12.            while(1)
  13.         {
  14.                
  15.                
  16.                   TIM_SetCompare1(TIM1,195);

  17.      delay_ms(500);

  18.     TIM_SetCompare1(TIM1,190);

  19.      delay_ms(500);

  20.     TIM_SetCompare1(TIM1,185);

  21.      delay_ms(500);
  22.                
  23.                 TIM_SetCompare1(TIM1,180);

  24.      delay_ms(500);
  25.                
  26.                 TIM_SetCompare1(TIM1,175);

  27.      delay_ms(500);
  28.                
  29.                 TIM_SetCompare1(TIM1,170);
  30.                
  31.                  delay_ms(500);
  32.                  
  33.                 TIM_SetCompare1(TIM1,175);
  34.                
  35.                  delay_ms(500);
  36.                  
  37.                  TIM_SetCompare1(TIM1,180);
  38.                
  39.                  delay_ms(500);
  40.                  
  41.                  TIM_SetCompare1(TIM1,185);
  42.                
  43.                  delay_ms(500);
  44.                  
  45.                
  46.                
  47.         }
  48. }

復制代碼
51單片機:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit pwm=P0^0;
  5. sbit key7=P3^7;
  6. uchar count=0;


  7. void delayms(uint xms)
  8. {
  9.      uint i,j;
  10.          for(i=xms;i>0;i--)
  11.          for(j=110;j>0;j--);
  12. }

  13. void Timer0_Init()
  14. {
  15.       TMOD=0x01;
  16.             TH0=(65536-200)/256;
  17.             TL0=(66636-200)%256;
  18.             EA=1;
  19.             ET0=1;
  20.             TR0=0;
  21. }
  22. void Timer0()interrupt 1
  23. {
  24.      TH0=(65536-200)/256;
  25.          TL0=(66636-200)%256;
  26.          
  27.          if(count<30)
  28.             pwm=1;
  29.          else
  30.          pwm=0;
  31.          count++;
  32.          if(count==100)
  33.          {
  34.          TR0=0;
  35.          count=0;
  36.          }
  37.          
  38. }
  39. void keyscan()
  40. {
  41.     if(key7==0)
  42.         {
  43.             delayms(10);
  44.             if(key7==0)
  45.             {
  46.               while(!key7);
  47.                  
  48.                 TR0=1;
  49.             }
  50.         }
  51. }
  52.     void main()
  53.     {
  54.         Timer0_Init();
  55. ……………………

  56. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼



0.jpg

所有資料51hei提供下載:
PWM舵機.zip (3.04 MB, 下載次數: 126)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久涩 | 国产电影一区二区 | avtt国产| 国产亚洲精品91 | 久久婷婷国产香蕉 | 日本福利片 | 精品欧美色视频网站在线观看 | 日韩欧美网 | 午夜a级理论片915影院 | 尤物在线 | 在线看亚洲 | 亚洲欧美少妇 | 天天爱爱网 | 九九天堂网 | 2021狠狠天天天| 日韩精品一区二区三区第95 | 国产精品不卡 | 日韩av成人在线 | 欧美精品99 | 成人亚洲性情网站www在线观看 | 91视频入口| 免费特黄视频 | 亚洲精品二区 | 国产精品一区二区av | 91国内产香蕉 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 91国产视频在线观看 | 国产日韩中文字幕 | 99精品视频免费观看 | 亚洲激情自拍偷拍 | 亚洲福利片 | 久久一区二区视频 | 国产精品一区二区久久久久 | av黄色在线播放 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产精品久久久久一区二区三区 | 日韩一区在线播放 | 日韩高清国产一区在线 | 免费一区| 日韩图区 | 99免费在线观看视频 |