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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機控制舵機 總框

[復制鏈接]
跳轉到指定樓層
樓主
ID:148905 發表于 2016-11-19 20:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大概寫了一下控制程序  希望對你們有幫助
  1. tpyedef i8 signed char
  2. tpyedef u8 unsigned char

  3. tpyedef i16 signed short int
  4. tpyedef u16 unsigned short int

  5. tpyedef i32 signed long int
  6. tpyedef u32 unsigned long int

  7. #define ELEVEL_LOW                        0                        //低電平
  8. #define ELEVEL_HIGH                        1                        //高電平

  9. #define TIMER_INIT                        10                        //定時器初始時間  單位US

  10. #define STRENG_MINTIME                500                        //舵機最小角度時間 0.5MS
  11. #define STRENG_MAXTIME                2500                //舵機最大角度時間 2.5MS
  12. #define STRENG_TIMERPRO                20000                //舵機周期 20MS

  13. #define STRENG_MINANGLE                0                        //最小角度
  14. #define STRENG_MAXANGLE                185                        //最大角度

  15. #define IO_STRENG10                                                // PORT引腳
  16. #define IO_STRENG20
  17. #define IO_STRENG30
  18. #define IO_STRENG40
  19. #define IO_STRENG50
  20. #define IO_STRENG60

  21. #define IO_STRENG11
  22. #define IO_STRENG21
  23. #define IO_STRENG31
  24. #define IO_STRENG41
  25. #define IO_STRENG51
  26. #define IO_STRENG61

  27. u16 TimerCount = 0;                                                //計數值

  28. float StrEngAccu = 0;                                        //舵機精度
  29. u16 StrEngZeroAngle = 0;                                //零度對應的時間       

  30. void StrEngTimer0_Init(void)                        //定時器初始化
  31. {
  32.        
  33.         StrEngAccu = STRENG_MAXANGLE/((STRENG_MAXTIME - STRENG_MINTIME)/TIMER_INIT);
  34.         StrEngZeroAngle = STRENG_TIMEUS/TimerInitValue;
  35.        
  36.         TH0 = (65535 - TIMER_INIT)/256;
  37.         TL0 = (65535 - TIMER_INIT);
  38.         EA = 1;
  39.         ET0 = 1;
  40.         TR0 = 1;
  41. }

  42. void STRENG_AngleControl(u8 angle,sbit *io)// 0-185角度控制
  43. {
  44.         float regdat = 0;
  45.         u16 angletime = 0;
  46.        
  47.         regdat = (float)angle;
  48.         angletime = (u16)(regdat/StrEngAccu) + (STRENG_MINTIME/TIMER_INIT);
  49.        
  50.         if(angletime > TimerCount)
  51.         {
  52.                 *io = ELEVEL_HIGH;
  53.         }
  54.         else
  55.         {
  56.                 *io = ELEVEL_LOW;
  57.         }
  58. }

  59. void timer0(void) interrupt 0
  60. {
  61.         TimerCount ++;
  62.         TH0 = (65535 - TIMER_INIT)/256;;
  63.         TL0 = (65535 - TIMER_INIT);

  64.         if(TimerCount > (STRENG_TIMERPRO/TIMER_INIT))
  65.         {
  66.                 TimerCount = 0;
  67.         }
  68. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区在线免费观看 | 中文福利视频 | 欧美精品久久久 | 青春草国产| 成人深夜小视频 | 欧美日韩一区二区在线 | 91丨九色丨国产在线 | 欧美a级成人淫片免费看 | 日本a视频 | 国产高清一区二区三区 | 九九久久国产精品 | 欧美日韩国产精品一区二区 | 亚洲精品久久久一区二区三区 | 91精品久久久久久久久中文字幕 | 黄色一级免费 | 日韩精品视频一区二区三区 | 在线亚洲免费 | www日本在线播放 | www.久草.com| 超碰免费在 | 一区二区三区亚洲视频 | 久久激情网 | 亚洲一二三视频 | 国产精品999 | 国产一区二区三区在线免费观看 | 天天操综合网站 | 精品欧美一区二区三区久久久 | 99精品在线 | 密色视频| 国产一区视频在线 | 欧美一区二区三区在线观看 | 日韩一区不卡 | 久久99精品久久久97夜夜嗨 | 亚洲一一在线 | 国产精品久久久久一区二区三区 | 一区二区三区四区免费在线观看 | 亚洲一区二区三区在线视频 | 婷婷综合 | 精品国产欧美一区二区 | jvid精品资源在线观看 | 精品一区二区在线观看 |