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

標題: 舵機實物不成功,求大神幫忙看下代碼 [打印本頁]

作者: kakami    時間: 2019-8-13 10:36
標題: 舵機實物不成功,求大神幫忙看下代碼
疑問1舵機它不轉。
  1. #include<reg51.h>

  2. #define uchar unsigned char           //宏定義無符號字符型
  3. #define uint  unsigned  int           //宏定義無符號整型
  4. uint b;                //中斷值
  5. uint N=0;                //占空比計數值
  6. uint X=8;                                                   //初始角度值  (取值范2~15)
  7.                
  8. uchar key_up;
  9. uchar key_down;

  10. sbit P3_6=P3^6;//角度加30°
  11. sbit P3_7=P3^7;//角度減30°
  12. sbit PWM=P1^0;//輸出


  13. void get_key()

  14. {
  15. while(P3_6==0)           //按鍵加按下
  16. {key_up=1;
  17. }
  18. while(P3_7==0)           //按鍵減按下
  19. {key_down=1;
  20. }
  21. }





  22. void timer0( ) interrupt 1 //定時器0工作方式1
  23. {
  24. TH0=0xFF;          //重裝計數初值
  25. TL0=0x62;          //重裝計數初值
  26. b++;
  27. get_key();


  28. if (key_up==1)
  29.        {
  30.            if(X!=11)//判斷是否計數到9999
  31.               {
  32.                X=X+1;//加一
  33.                key_up=0;
  34.                            }
  35.         }
  36. if (key_down==1)
  37.        {
  38.             if(X!=5)//判斷是否計數到0
  39.               {
  40.                    X=X-1;//減一
  41.                key_down=0;
  42.                }
  43.         }

  44. }





  45. void main()
  46. {
  47. TMOD=0X01;          //定時器中斷0
  48. TH0=0xFF;          //重裝計數初值
  49. TL0=0x62;          //重裝計數初值
  50. EA=1;                                  //開CPU中斷
  51. ET0=1;                                  //開T/C0中斷
  52. TR0=1;

  53. while(1)                           //無限循環
  54. {


  55. PWM=1;                   //輸出PWM正
  56. while(1)
  57. {
  58. b=0;
  59. while(!b);
  60. if (N==X)
  61. PWM=0;
  62. if (N==100)
  63. break;
  64. N++;

  65.           }
  66.             N=0;
  67.           }
  68. }
復制代碼



作者: yzwzfyz    時間: 2019-8-13 13:02
本帖最后由 yzwzfyz 于 2019-8-13 15:28 編輯

七竅通了六竅了。
作者: 曹志成    時間: 2019-8-13 16:26
我不知道你晶振多少,用keil調試了一下
[url=][/url]
[url=][/url]
  ,要不你把這個定時改改 調到20ms,如果能輸出pwm,舵機接電和接地都沒問題,你再換個舵機,還可以再把線檢查一下,這個只能自己琢磨了,  實物做不成功是不是很絕望,哈哈    我在弄那個液晶1602的時候線接錯了弄了半天,后來又發現顯示錯位,不知道為什么單片機一根連線不通換了就好了。

IMG_20190813_161603.jpg (2.58 MB, 下載次數: 63)

IMG_20190813_161603.jpg

屏幕截圖(1).png (366.93 KB, 下載次數: 47)

屏幕截圖(1).png

作者: 愛學習的路飛    時間: 2019-8-13 16:46
emmm......我不知道你那個定時器中斷是多少時間,而且,,,你按鍵連最基本的10ms消抖都沒有。用51的IO口直接PWM輸出的話,確實簡單點。你可以檢查下占空比是不是不夠?建議你在調試的時候直接將PWM輸出的占空比比例調大一點,這樣下載后觀察到的現象更明顯,便于調試。
作者: 林野變    時間: 2019-8-13 21:06
32寫  比較簡單
作者: qzwddf    時間: 2019-8-13 22:49
在中斷里面加點燈程序看中斷工作了嗎,在while里面分別加點燈程序看循環正常嗎,根據我的經驗判斷,你這個情況應該飛到“溢出”中斷區了
作者: witheMe    時間: 2019-8-14 11:12
按鍵不消抖的后果是你按了一次鍵,結果程序已經跑了不知道多少遍了,x的值并不是你所想的+1或-1,而是經過了無數次這樣子的運算




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费看91 | 欧美精品久久 | 在线看亚洲 | 欧美一级欧美一级在线播放 | www.伊人.com| 欧美日韩手机在线观看 | 九九热精品在线视频 | 草久久 | 波多野结衣在线观看一区二区三区 | 国产91在线播放 | 91人人在线 | 日韩一区二区av | 精品久久网 | 日韩一区二区三区精品 | 日韩免费一区二区 | 日日骚视频| 日韩在线视频免费观看 | 欧美一区视频 | 日韩一区二区在线观看视频 | 成人久久18免费网站麻豆 | a级黄色片视频 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 国产精品a久久久久 | 成人欧美| 日韩欧美精品一区 | 国产中文字幕在线 | 成年网站在线观看 | 亚洲精品在线视频 | 国产精品99久久久久久动医院 | 久草www | 亚洲国产一区视频 | 波波电影院一区二区三区 | 亚洲成人免费在线观看 | 日韩一区二区三区精品 | 一级黄色毛片 | 精品久久久久久国产 | av一区在线观看 | 日韩视频免费看 | 亚洲一区二区av | 国产日韩欧美一区二区 | 精品综合久久久 |