找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 36767|回復(fù): 72
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)舵機(jī)控制系統(tǒng) 驅(qū)動(dòng)設(shè)計(jì)完整版 帶仿真和程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
分享點(diǎn)我自己的51單片機(jī)控制舵機(jī)的資料give大家,帶原理圖程序proteus仿真

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


舵機(jī)程序設(shè)計(jì)的流程圖(附件中可下載清晰版):


單片機(jī)驅(qū)動(dòng)舵機(jī)源程序如下:
  1. /*******************************************************
  2. *****************************************************
  3. StC80C51 控制舵機(jī)驅(qū)動(dòng)程序
  4. ******************************************************/


  5. #include <REG52.h> //STC80C51 單片機(jī)頭文件

  6. sbit LED_0=P2^0; //0度指示燈
  7. sbit LED_45=P2^1; //45度指示燈
  8. sbit LED_90=P2^2; //90度指示燈
  9. sbit LED_135=P2^3; //135度指示燈
  10. sbit LED_180=P2^4; //180度指示燈

  11. sbit PWM_JIA=P3^6; //角度加按鍵
  12. sbit PWM_JIAN=P3^7; //角度減按鍵

  13. sbit MOTOR_IN=P1^7; //舵機(jī)信號輸入角

  14. unsigned char count; //定時(shí)器中斷次數(shù)
  15. unsigned char jiaodu;//角度參數(shù)


  16. /************************************
  17. *********毫秒延時(shí)函數(shù)************
  18. ************************************/
  19. void Delay(unsigned char xms)
  20. {
  21.         unsigned char i,j;
  22.         for(i=xms;i>0;i--)
  23.                 for(j=125;j>0;j--);
  24. }

  25. /************************************
  26. *********定時(shí)器0初始化函數(shù)***********
  27. ************************************/
  28. void Time0_init()
  29. {
  30.   TMOD=0X01; //定時(shí)器工作在方式1
  31.   IE=0X82;
  32.   TH0=0XFE;
  33.   TL0=0X33; //定時(shí)0.5毫秒中斷一次
  34.   TR0=1;  //打開定時(shí)器
  35. }

  36. /************************************
  37. *********按鍵掃描函數(shù)***********
  38. ************************************/
  39. void KeyScan()
  40. {
  41.   if(PWM_JIA==0)  //角度增加按鍵是否按下
  42.   {
  43.       Delay(10);  //延時(shí)10毫秒消抖

  44.           if(PWM_JIA==0) //確定按鍵按下
  45.           {
  46.               jiaodu++;
  47.                   count=0;
  48.                   if(jiaodu ==6) //如果角度參數(shù)為6

  49.                    jiaodu =5; //如果角度參數(shù)復(fù)位為5

  50.          while(PWM_JIA==0); //等待按鍵松開
  51.           }
  52.    
  53.   }

  54.     if(PWM_JIAN==0)//角度減少按鍵是否按下
  55.           {
  56.       Delay(10); //延時(shí)10毫秒消抖

  57.           if(PWM_JIAN==0)//確定按鍵按下
  58.           {
  59.               jiaodu--;
  60.                   count=0;
  61.                   if(jiaodu ==0)//如果角度參數(shù)為0

  62.                    jiaodu =1;//如果角度參數(shù)復(fù)位為1

  63.          while(PWM_JIAN==0);//等待按鍵松開
  64.           }
  65.    
  66.   }
  67. }
  68. /************************************
  69. *********LED顯示函數(shù)***********
  70. ************************************/
  71. void Display()
  72. {
  73. switch(jiaodu)
  74. {
  75.     case 1:            //如果角度參數(shù)為1,LED1亮
  76.          P2=0XFF;
  77.                  LED_0=0;
  78.                  break;

  79.     case 2:           //如果角度參數(shù)為2,LED2亮
  80.          P2=0XFF;
  81.                  LED_45=0;
  82.                  break;

  83.     case 3:           //如果角度參數(shù)為3,LED3亮
  84.          P2=0XFF;
  85.                  LED_90=0;
  86.                  break;

  87.         case 4:           //如果角度參數(shù)為4,LED4亮
  88.          P2=0XFF;
  89.                  LED_135=0;
  90.                  break;

  91.         case 5:           //如果角度參數(shù)為5,LED5亮
  92.          P2=0XFF;
  93.                  LED_180=0;
  94.                  break;

  95. }
  96. }
  97. /************************************
  98. *********主函數(shù)***********
  99. ************************************/
  100. void main()
  101. {
  102. jiaodu=1;  //初始化角度參數(shù)為1
  103. count=0; //初始化定時(shí)器中斷次數(shù)為0
  104. Time0_init(); //調(diào)用定時(shí)器0初始化函數(shù)
  105. while(1)
  106. {
  107.             KeyScan(); //調(diào)用按鍵掃描函數(shù)
  108.           Display(); //調(diào)用LED顯示函數(shù)
  109. }
  110. }
  111. /************************************
  112. *********定時(shí)器0中斷服務(wù)函數(shù)***********
  113. ************************************/
  114. ……………………

  115. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
舵機(jī)驅(qū)動(dòng)設(shè)計(jì)完整版.rar (323.58 KB, 下載次數(shù): 1090)



評分

參與人數(shù) 6黑幣 +73 收起 理由
kevin666999 + 6 很給力!
zqy181818 + 5 贊一個(gè)!
xuning0000 + 2 絕世好帖!
a782127162 + 5 很給力!
。。。ww + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏21 分享淘帖 頂11 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-5-24 01:36 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:266277 發(fā)表于 2018-1-11 00:24 | 只看該作者

謝謝你,剛好是我想要的,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

地板
ID:277572 發(fā)表于 2018-1-18 23:05 | 只看該作者
大佬,51只能控制舵機(jī)以這幾個(gè)角度轉(zhuǎn)嗎?能不能調(diào)成自己想要的任意角
回復(fù)

使用道具 舉報(bào)

5#
ID:277572 發(fā)表于 2018-1-18 23:07 | 只看該作者
51能不能控制舵機(jī)以任意角度轉(zhuǎn),還是只能轉(zhuǎn)這幾個(gè)角度
回復(fù)

使用道具 舉報(bào)

6#
ID:271220 發(fā)表于 2018-1-31 19:08 | 只看該作者
15379996356 發(fā)表于 2018-1-18 23:07
51能不能控制舵機(jī)以任意角度轉(zhuǎn),還是只能轉(zhuǎn)這幾個(gè)角度

可以任意
回復(fù)

使用道具 舉報(bào)

7#
ID:239855 發(fā)表于 2018-2-11 01:05 來自手機(jī) | 只看該作者
學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

8#
ID:285282 發(fā)表于 2018-2-24 20:44 | 只看該作者
只能轉(zhuǎn)這幾個(gè)角度
回復(fù)

使用道具 舉報(bào)

9#
ID:243748 發(fā)表于 2018-3-30 20:43 來自手機(jī) | 只看該作者
非常好的資料,謝謝
回復(fù)

使用道具 舉報(bào)

10#
ID:307421 發(fā)表于 2018-4-13 17:30 | 只看該作者
為什么仿真不了呢,2個(gè)錯(cuò)誤,電源怎么加呢
回復(fù)

使用道具 舉報(bào)

11#
ID:308986 發(fā)表于 2018-4-16 09:22 | 只看該作者
謝謝~
回復(fù)

使用道具 舉報(bào)

12#
ID:310267 發(fā)表于 2018-4-17 18:00 | 只看該作者
不錯(cuò),頂
回復(fù)

使用道具 舉報(bào)

13#
ID:196106 發(fā)表于 2018-5-2 11:40 | 只看該作者
感謝樓主的分享學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

14#
ID:321184 發(fā)表于 2018-5-3 13:44 | 只看該作者
好資料,燒進(jìn)去程序試試
回復(fù)

使用道具 舉報(bào)

15#
ID:294554 發(fā)表于 2018-5-5 10:17 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

16#
ID:294554 發(fā)表于 2018-5-8 16:05 | 只看該作者
多謝樓主,多多學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

17#
ID:274077 發(fā)表于 2018-5-10 20:43 | 只看該作者
仿真提示5V電源錯(cuò)誤,需要改為VCC才可以運(yùn)行,
但是不知道為什么舵機(jī)不管怎么樣都動(dòng)不了
回復(fù)

使用道具 舉報(bào)

18#
ID:326312 發(fā)表于 2018-5-11 17:29 | 只看該作者
為什么你的舵機(jī)不轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

19#
ID:158746 發(fā)表于 2018-5-21 11:40 | 只看該作者
感謝大佬,非常棒
回復(fù)

使用道具 舉報(bào)

20#
ID:299355 發(fā)表于 2018-5-21 21:25 | 只看該作者
步進(jìn)電機(jī)連線好像錯(cuò)了,我把電機(jī)1腳接vcc;2腳接P1.7;3腳接GND勉強(qiáng)會轉(zhuǎn)了,而且轉(zhuǎn)的角度有問題
回復(fù)

使用道具 舉報(bào)

21#
ID:335855 發(fā)表于 2018-5-22 18:26 | 只看該作者
電路圖有問題哦   舵機(jī)的中間才是接信號線的吧
回復(fù)

使用道具 舉報(bào)

22#
ID:17521 發(fā)表于 2018-6-1 16:49 | 只看該作者
多謝樓主,多多學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

23#
ID:343360 發(fā)表于 2018-6-2 11:07 | 只看該作者
剛好需要這個(gè)舵機(jī)的控制程序,很及時(shí)
回復(fù)

使用道具 舉報(bào)

24#
ID:343860 發(fā)表于 2018-6-7 11:55 | 只看該作者
哎喲,不錯(cuò)啊!
回復(fù)

使用道具 舉報(bào)

25#
ID:346558 發(fā)表于 2018-6-8 15:28 | 只看該作者
老哥,如果只控制舵機(jī)自動(dòng)轉(zhuǎn)到一定角度然后回來這樣的重復(fù)運(yùn)動(dòng)改怎么搞
回復(fù)

使用道具 舉報(bào)

26#
ID:343860 發(fā)表于 2018-6-11 19:33 | 只看該作者
下載試試看,愁死了,這個(gè)舵機(jī)
回復(fù)

使用道具 舉報(bào)

27#
ID:343860 發(fā)表于 2018-6-11 19:36 | 只看該作者
發(fā)現(xiàn)和郭天祥的例程差不多一樣啊,我暈哦
回復(fù)

使用道具 舉報(bào)

28#
ID:352124 發(fā)表于 2018-6-14 21:00 | 只看該作者
贊一個(gè)!
回復(fù)

使用道具 舉報(bào)

29#
ID:372058 發(fā)表于 2018-7-17 16:40 | 只看該作者
為什么燒錄之后沒反應(yīng)
回復(fù)

使用道具 舉報(bào)

30#
ID:379175 發(fā)表于 2018-7-25 22:18 | 只看該作者
有一個(gè)地方?jīng)]看懂,sbit MOTOR_IN=P1^7; //舵機(jī)信號輸入角,整個(gè)程序里光定義了,也沒用到啊
回復(fù)

使用道具 舉報(bào)

31#
ID:44165 發(fā)表于 2018-7-31 23:29 | 只看該作者
學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

32#
ID:379175 發(fā)表于 2018-8-3 10:39 | 只看該作者
小璽 發(fā)表于 2018-7-25 22:18
有一個(gè)地方?jīng)]看懂,sbit MOTOR_IN=P1^7; //舵機(jī)信號輸入角,整個(gè)程序里光定義了,也沒用到啊

求解釋
回復(fù)

使用道具 舉報(bào)

33#
ID:379175 發(fā)表于 2018-8-3 10:40 | 只看該作者
20090909 發(fā)表于 2018-7-17 16:40
為什么燒錄之后沒反應(yīng)

有一個(gè)地方?jīng)]看懂,sbit MOTOR_IN=P1^7; //舵機(jī)信號輸入角,整個(gè)程序里光定義了,也沒用到啊
回復(fù)

使用道具 舉報(bào)

34#
ID:353228 發(fā)表于 2018-8-26 17:16 | 只看該作者
很給力
回復(fù)

使用道具 舉報(bào)

35#
ID:397113 發(fā)表于 2018-9-12 18:08 | 只看該作者
不錯(cuò)。。。。。
回復(fù)

使用道具 舉報(bào)

36#
ID:403348 發(fā)表于 2018-9-27 20:08 | 只看該作者
厲害
。。。
回復(fù)

使用道具 舉報(bào)

37#
ID:308180 發(fā)表于 2018-10-7 23:19 | 只看該作者
支持支持
回復(fù)

使用道具 舉報(bào)

38#
ID:414627 發(fā)表于 2018-10-24 14:44 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

39#
ID:414627 發(fā)表于 2018-10-24 14:44 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

40#
ID:325230 發(fā)表于 2018-11-12 10:42 | 只看該作者
太棒了!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表