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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7704|回復: 3
打印 上一主題 下一主題
收起左側

51單片機控制MG996R舵機源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:580450 發表于 2019-7-20 20:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
記得要用變壓器不然  供電會有問題

單片機源程序如下:
  1. #include "reg52.h"
  2. unsigned char count;      //0.5ms次數標識
  3. sbit pwm =P2^7 ;          //PWM信號輸出
  4. sbit jia =P3^4;           //角度增加按鍵檢測IO口
  5. sbit jan =P3^5;           //角度減少按鍵檢測IO口
  6. unsigned char jd;         //角度標識
  7. sbit led=P1^4;
  8. void delay(unsigned char i)//延時
  9. {
  10.   unsigned char j,k;
  11.   for(j=i;j>0;j--)
  12.     for(k=125;k>0;k--);
  13. }
  14. void Time0_Init()          //定時器初始化
  15. {
  16. TMOD = 0x01;           //定時器0工作在方式1   
  17. IE   = 0x82;
  18. TH0  = 0xfe;
  19. TL0  = 0x33;     //11.0592MZ晶振,0.5ms
  20.     TR0=1;                 //定時器開始
  21. }
  22. void Time0_Int() interrupt 1 //中斷程序
  23. {
  24. TH0  = 0xfe;             //重新賦值
  25. TL0  = 0x33;
  26.     if(count< jd)              //判斷0.5ms次數是否小于角度標識
  27.       pwm=1;                  //確實小于,PWM輸出高電平
  28.     else
  29.       pwm=0;                  //大于則輸出低電平
  30.     count=(count+1);          //0.5ms次數加1
  31.     count=count%40;     //次數始終保持為40 即保持周期為20ms
  32. }

  33. void keyscan()              //按鍵掃描
  34. {
  35.    if(jia==0)               //角度增加按鍵是否按下
  36.   {        led=0;
  37.     delay(10);              //按下延時,消抖
  38.     if(jia==0)              //確實按下
  39.      {
  40.       jd++;                 //角度標識加1
  41.       count=0;              //按鍵按下 則20ms周期從新開始
  42.       if(jd==6)
  43.         jd=5;               //已經是180度,則保持
  44.       while(jia==0);        //等待按鍵放開
  45.      }
  46.   }
  47.   if(jan==0)                //角度減小按鍵是否按下
  48.   {
  49.     delay(10);
  50.     if(jan==0)
  51.      {
  52.       jd--;                 //角度標識減1
  53.       count=0;
  54.       if(jd==0)
  55.         jd=1;               //已經是0度,則保持
  56.       while(jan==0);
  57.      }
  58.   }
  59. }
  60. void main()
  61. {
  62. jd=1;
  63. count=0;
  64. Time0_Init();              
  65. while(1)
  66. {
  67.   keyscan();               //按鍵掃描
  68.    
  69. }
  70. }
復制代碼

所有資料51hei提供下載:
舵機.zip (21.49 KB, 下載次數: 124)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:601248 發表于 2019-8-18 10:22
你好  我看到了你發的關于51單片機控制mg996r舵機的帖子  我有一些問題 想請教你  如果方便的話   請加我qq  2963648058  或者微信 13832122352 拜托了  

板凳
ID:638524 發表于 2019-11-29 15:09 | 只看該作者
我覺得應該要要計時器更短一點,然后就可以精準一點,比如說,我上面的代碼是0.5ms的,我其余不變,把定時器改成0.25ms一次,jd的數字就可以改成兩倍,原來的1和2對應現在的2和4,之間就多一個可以保持的角度了,多了個半角。就比原來多幾個角度可以控制,當周期越來越小,最后就會越來越準確
回復

使用道具 舉報

地板
ID:348676 發表于 2019-12-11 16:29 | 只看該作者
謝謝正在學習很有用
回復

使用道具 舉報

5#
ID:479765 發表于 2020-1-5 20:37 來自手機 | 只看該作者
mg996r舵機 需要初始化程序嗎 樓主大大
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍偷拍亚洲视频 | 日韩视频免费在线 | 欧美一区二区三区四区在线 | 神马久久久久久久久久 | av电影手机在线看 | 国产精品高清一区二区三区 | 96久久久久久 | 国产精品视频在线播放 | 国产 欧美 日韩 一区 | 国产激情视频在线 | 亚洲欧洲精品在线 | 婷婷桃色网 | 亚洲第一福利网 | 青青草华人在线视频 | 亚洲精品在线播放 | 日本免费在线 | www.欧美 | 中文字幕av网 | av中文在线播放 | 国产精品1区2区 | www.日本精品 | 国产精品久久久久久吹潮日韩动画 | 在线一区视频 | 久久成人国产精品 | 日韩在线一区二区 | 污片在线观看 | 日本综合在线观看 | 日韩一区二区福利视频 | 国产精品久久久久久妇女6080 | 一区二区三区不卡视频 | 国产精品国产三级国产aⅴ原创 | 国产高清在线精品一区二区三区 | 欧美成年视频 | 91看片在线观看 | 精品福利在线视频 | 亚洲综合久久精品 | 精品国产欧美一区二区三区成人 | 日本小电影在线 | 91国产视频在线观看 | 久久久久久国产精品免费免费狐狸 | 国产精品久久久久无码av |