找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5415|回復: 3
打印 上一主題 下一主題
收起左側(cè)

mega128單片機定時器控制舵機正反轉(zhuǎn)的程序及proteus仿真

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:137190 發(fā)表于 2016-9-12 00:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
mega128單片機是一款控制舵機很好的芯片,這里給51黑電子論壇的朋友們分享一個我做的舵機仿真,帶程序源碼.下面是仿真原理圖:


程序源碼:
  1. #include<avr/io.h>
  2. #include<util/delay.h>
  3. //實現(xiàn)舵機正轉(zhuǎn)反轉(zhuǎn),proteus中舵機是按照高電平1ms到2ms控制位置,可修改
  4. void pwm_init()
  5. {
  6.         DDRE|=(1<<PE5);
  7.         TCCR3A=0X0A;//PE5輸出pwm,快速14模式,匹配時清零,PE5輸出
  8.         TCCR3B=0x1a;//14模式,64分頻
  9.         OCR3C=6000;//
  10.         ICR3=6000;
  11. }
  12. void xz( unsigned int r)//按從0到180角度位置輸出,就是proteus電機里的-90到+90
  13. {
  14.         OCR3C=2000+r*200/18;//2000是高電平1ms
  15. }
  16. int main()
  17. {
  18.         pwm_init();
  19.         unsigned char r=0;
  20.         while(1)
  21.         {
  22.                 xz(r);//改變角度
  23.                 r++;//角度增加
  24.                 _delay_ms(5);//實際應用應中考慮具體延時,5ms太快
  25.                 if(r==180)
  26.                 {
  27.                         _delay_ms(1000);
  28.                         while(r!=0)
  29.                         {
  30.                                 xz(r);
  31.                                 r--;
  32.                                 _delay_ms(5);
  33.                         }
  34.                         _delay_ms(1000);
  35.                 }
  36.         }
  37.         return 0;        
  38. }
復制代碼


mega128用定時器控制舵機正反轉(zhuǎn).rar

25.77 KB, 下載次數(shù): 29, 下載積分: 黑幣 -5

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

相關(guān)帖子

回復

使用道具 舉報

沙發(fā)
ID:140483 發(fā)表于 2016-9-26 11:11 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

板凳
ID:140483 發(fā)表于 2016-9-26 11:23 | 只看該作者
仿真報錯了
回復

使用道具 舉報

地板
ID:148913 發(fā)表于 2016-11-19 22:28 | 只看該作者
報錯呀,可以提供新的嗎?
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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