欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

舵機實物不成功,求大神幫忙看下代碼

[復制鏈接]
跳轉到指定樓層
樓主
疑問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. }
復制代碼


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

使用道具 舉報

沙發
ID:123289 發表于 2019-8-13 13:02 | 只看該作者
本帖最后由 yzwzfyz 于 2019-8-13 15:28 編輯

七竅通了六竅了。
回復

使用道具 舉報

板凳
ID:505677 發表于 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
回復

使用道具 舉報

地板
ID:492679 發表于 2019-8-13 16:46 | 只看該作者
emmm......我不知道你那個定時器中斷是多少時間,而且,,,你按鍵連最基本的10ms消抖都沒有。用51的IO口直接PWM輸出的話,確實簡單點。你可以檢查下占空比是不是不夠?建議你在調試的時候直接將PWM輸出的占空比比例調大一點,這樣下載后觀察到的現象更明顯,便于調試。
回復

使用道具 舉報

5#
ID:515908 發表于 2019-8-13 21:06 | 只看該作者
32寫  比較簡單
回復

使用道具 舉報

6#
ID:599517 發表于 2019-8-13 22:49 來自觸屏版 | 只看該作者
在中斷里面加點燈程序看中斷工作了嗎,在while里面分別加點燈程序看循環正常嗎,根據我的經驗判斷,你這個情況應該飛到“溢出”中斷區了
回復

使用道具 舉報

7#
ID:542954 發表于 2019-8-14 11:12 | 只看該作者
按鍵不消抖的后果是你按了一次鍵,結果程序已經跑了不知道多少遍了,x的值并不是你所想的+1或-1,而是經過了無數次這樣子的運算
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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