找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6252|回復(fù): 15
收起左側(cè)

51單片機(jī)可用的舵機(jī)控制程序

  [復(fù)制鏈接]
ID:96844 發(fā)表于 2015-11-23 18:09 | 顯示全部樓層 |閱讀模式
我是新手,之前想測(cè)試一舵機(jī),在論壇沒找到可用的程序,后來在度娘找到了,在這分享一下
  1. #include<reg52.h>
  2. typedef unsigned int uint;
  3. typedef unsigned char uchar;
  4. sbit pwm=P0^3;//輸出PWM信號(hào)
  5. uint pwm_value=1500;//初值為1.5ms

  6. uint value[]={1500,1000,1500,2000,1500};//
  7. void delay_ms(uint x)
  8. {
  9.         uint i;
  10.         while(x--)for(i=0;i<125;i++);
  11. }
  12. void InitTimer(void)
  13. {
  14.         TMOD=0x11;//開定時(shí)器0,1
  15.         TH0=-20000/256;//定時(shí)20MS,20MS為一個(gè)周期
  16.         TL0=-20000%256;
  17.         TH1=-1500/256;//定時(shí)1.5MS,這時(shí)舵機(jī)處于0度
  18.         TL1=-1500%256;
  19.         EA=1;//開總斷
  20.         TR0=1;//開定時(shí)器0
  21.         ET0=1;
  22.         TR1=1;//開定時(shí)器1
  23.         ET1=1;
  24. }
  25. void timer0(void) interrupt 1//定時(shí)器0中斷函數(shù)
  26. {
  27.         pwm=1;
  28.         TH0=-20000/256;
  29.         TL0=-20000%256;
  30.         TR1=1;
  31. }

  32. void timer1(void) interrupt 3//定時(shí)器1中斷函數(shù)
  33. {
  34.         pwm=0;
  35.         TH1=-pwm_value/256;
  36.         TL1=-pwm_value%256;
  37.         TR1=0;
  38. }
  39. void main(void)//主函數(shù)
  40. {
  41.         uchar i;
  42.         InitTimer();
  43.         pwm_value=1500;
  44.         while(1)
  45.         {
  46.                 for(i=0;i<5;i++)
  47.                 {
  48.                         pwm_value=value[i];//通過數(shù)組就可以改變舵機(jī)的轉(zhuǎn)角度
  49.                         delay_ms(1000);
  50.                 }
  51.         }
  52. }
復(fù)制代碼


51舵機(jī)程序.zip

676 Bytes, 下載次數(shù): 101, 下載積分: 黑幣 -5

txt格式

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:379175 發(fā)表于 2018-12-8 22:48 | 顯示全部樓層
劉班會(huì) 發(fā)表于 2018-12-8 17:52
這個(gè)是藍(lán)牙控制的嗎

應(yīng)該是5個(gè)角度自己循環(huán)動(dòng)作的
回復(fù)

使用道具 舉報(bào)

ID:436733 發(fā)表于 2018-12-8 17:52 | 顯示全部樓層
這個(gè)是藍(lán)牙控制的嗎
回復(fù)

使用道具 舉報(bào)

ID:325537 發(fā)表于 2018-5-9 21:06 | 顯示全部樓層
嘿嘿嘿,有用,謝謝啦
回復(fù)

使用道具 舉報(bào)

ID:242730 發(fā)表于 2017-10-25 11:34 來自手機(jī) | 顯示全部樓層
請(qǐng)問需要舵機(jī)控制板嗎
回復(fù)

使用道具 舉報(bào)

ID:205873 發(fā)表于 2017-5-29 16:47 | 顯示全部樓層
請(qǐng)問這個(gè)程序是控制數(shù)字舵機(jī)還是模擬舵機(jī)的?
回復(fù)

使用道具 舉報(bào)

ID:168603 發(fā)表于 2017-3-12 20:15 | 顯示全部樓層
我是新手,想請(qǐng)教大神一下。定義的是pwm=P0^3,而在主函數(shù)中輸出的是pwm_value  。這樣信號(hào)能輸出到P0.3口嗎?
回復(fù)

使用道具 舉報(bào)

ID:130231 發(fā)表于 2017-3-8 18:30 | 顯示全部樓層
我是新手,直得學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

ID:136393 發(fā)表于 2017-3-8 17:43 | 顯示全部樓層
謝謝大神
回復(fù)

使用道具 舉報(bào)

ID:114460 發(fā)表于 2016-4-16 23:04 | 顯示全部樓層
謝謝大神
回復(fù)

使用道具 舉報(bào)

ID:96844 發(fā)表于 2015-12-29 21:56 | 顯示全部樓層
騰飛的龍 發(fā)表于 2015-11-25 13:22
你把源碼貼出來多好,何必這樣。

畢竟不是我寫的
回復(fù)

使用道具 舉報(bào)

ID:97209 發(fā)表于 2015-11-26 11:47 | 顯示全部樓層
學(xué)習(xí)一下,51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2015-11-25 13:22 | 顯示全部樓層
你把源碼貼出來多好,何必這樣。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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