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

標題: 51單片機控制舵機 總框 [打印本頁]

作者: c505085670    時間: 2016-11-19 20:43
標題: 51單片機控制舵機 總框
大概寫了一下控制程序  希望對你們有幫助
  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. }
復制代碼







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品久久久精品 | 日韩毛片在线免费观看 | 日韩在线一区二区 | 成人在线免费电影 | 亚洲国产精品成人 | 97碰碰碰| 毛片链接| 国产成人黄色 | h小视频| 欧美 日韩 国产 在线 | 日韩国产中文字幕 | 亚洲欧洲中文日韩 | av手机免费在线观看 | 一区二区免费 | 亚洲性视频网站 | 亚洲国产精品人人爽夜夜爽 | 精品国产一级片 | 国产日韩精品久久 | 亚洲色综合 | 久久九七 | 国产精品无 | 亚洲精品久久久久久一区二区 | 国产成人精品综合 | 成年网站在线观看 | 亚洲国产成人av好男人在线观看 | 人人玩人人干 | 久久久成人精品 | 男女精品久久 | 99久久婷婷国产综合精品 | 国产一区在线免费观看视频 | 性做久久久久久免费观看欧美 | 日本人爽p大片免费看 | 成人亚洲 | 国产偷录叫床高潮录音 | 麻豆视频在线免费观看 | 91日日 | 久久精品欧美一区二区三区麻豆 | 狠狠爱免费视频 | 久久久夜色精品亚洲 | 超碰一区二区 | 狠狠久久 |