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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么我用單片機操作SG90時,單片機會復位

[復制鏈接]
跳轉到指定樓層
樓主
ID:477828 發表于 2020-4-2 13:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我的單片機和SG90 9g舵機是用的一個電源。信號線接在了P1^0上面。但是我用按鍵控制舵機方向的時候。遇到了以下問題。困擾許久,還請51黑的大神不吝賜教。

我在程序里采用count來定時。每0.5ms進入一次中斷。count == 40為一個周期20ms。用PWM_count 控制方向。初始值為1(轉向0度)。2(轉向45度)3轉向90度。分別用s2 s3 s4按鈕對其PWM_count進行修改。但是我在使用中發現。我按下s4后舵機會正常的轉到90度,然后會自己又轉回到單片機初始值的設置值1也就是0度。按下s3也是轉45度又回到0度。通過調試發現是PWM_count的值自動變為了1造成的。這種情況是單片機復位造成的嗎?

一個星期了,還是沒有解決。下面是程序,大佬們幫看看。
  1. #include<reg52.h>
  2. sbit SG_PWM=P1^0;
  3. unsigned char count=0;
  4. unsigned char PWM_count=1;                  //初始值   1--0度,2--45度,3--90
  5. unsigned char a=0;

  6. sbit s2 = P3^0;
  7. sbit s3 = P3^1;
  8. sbit s4 = P3^2;

  9. sbit led1 = P1^2;
  10. sbit led2 = P1^3;

  11. void Timer_Init()
  12. {
  13.   TMOD=0X01;      //T0定時方式1
  14.   TH0=0xfe;
  15.   TL0=0x33;       //計數初值設置為0.5ms
  16.   ET0=1;          //打開定時器0的中斷
  17.   TR0=1;          //打開定時器0
  18.   EA=1;           //開總中斷
  19. }

  20. /**
  21. * 延時函數
  22. **/
  23. void delay(unsigned int i)
  24. {
  25.         unsigned int x,y;
  26.         for(x = i; x > 0; x--)
  27.                 for(y = 120; y > 0 ; y--);
  28. }

  29. void Timer() interrupt 1      //特別注意此處,0--外部中斷0,1--定時器中斷0,2--外部中斷1,3--定時器中斷1,4--串行口中斷1
  30. {
  31.   TR0=0;
  32.   TH0=0xfe;
  33.   TL0=0x33;       //重新賦計數初值為0.5ms
  34.   if(count<=PWM_count)
  35.   {
  36.     SG_PWM=1;
  37.   }
  38.   else
  39.   {
  40.     SG_PWM=0;
  41.   }
  42.   count++;
  43.   if(count>=40)
  44.   {
  45.     count=0;
  46.     a++;
  47.   }
  48.   TR0=1;
  49. }
  50. void main()
  51. {
  52.   Timer_Init();
  53.   while(1){
  54.                         if(s2 == 0){
  55.                                 delay(100);
  56.                                 if(s2 == 0){
  57.                                         count = 0;
  58.                                         PWM_count = 1;
  59.                                 }
  60.                         }
  61.                        
  62.                         if(s3 == 0){
  63.                                 delay(100);
  64.                                 if(s3 == 0){
  65.                                         count = 0;
  66.                                         PWM_count = 2;
  67.                                 }
  68.                         }
  69.                        
  70.                         if(s4 == 0){
  71.                                 delay(100);
  72.                                 if(s4 == 0){
  73.                                         count = 0;
  74.                                         PWM_count = 3;
  75.                                 }
  76.                         }
  77.                        
  78.                         if(PWM_count == 1){
  79.                                 led1 = 0;
  80.                                 led2 = 1;
  81.                         }
  82.                        
  83.                         if(PWM_count == 3){
  84.                                 led1 = 1;
  85.                                 led2 = 0;
  86.                         }
  87.                        
  88.                 }
  89. }
復制代碼



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

使用道具 舉報

沙發
ID:531524 發表于 2020-4-2 18:24 | 只看該作者
從代碼上看沒什么異常,你判斷是單片機復位導致的,你可以在單片機上電時串口發送一個數據,如果舵機旋轉過程中出現單片機復位,那一定會有串口數據。你這種情況導致單片機復位的可能性是有的。舵機使用外接5V電壓和單片機共地就可以解決。
回復

使用道具 舉報

板凳
ID:477828 發表于 2020-4-8 15:29 | 只看該作者
王天星 發表于 2020-4-2 18:24
從代碼上看沒什么異常,你判斷是單片機復位導致的,你可以在單片機上電時串口發送一個數據,如果舵機旋轉過 ...

感謝!確實是舵機和單片機共用電源所致。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品观看 | 国产农村妇女精品一区 | 成人免费视频网站在线看 | 精品一区二区三区在线观看 | 亚洲国产精品日韩av不卡在线 | 欧美午夜视频 | 久久久久久91香蕉国产 | 怡红院怡春院一级毛片 | 91毛片在线看 | 久久国产精品一区二区三区 | 夜夜骚 | 国产一区欧美一区 | 成人在线播放网址 | 精品91av| 另类视频区 | 亚洲成人在线视频播放 | 久久精品综合 | av中文字幕在线 | 欧美日韩国产在线观看 | 中文字幕 国产精品 | 欧美精品久久久久 | 国产激情91久久精品导航 | 亚洲第一视频网站 | 日韩在线精品 | 天堂资源最新在线 | 国产精品一区二区av | 国产精品99久久久久久久vr | www.99热这里只有精品 | 久草视频在 | 午夜影院网站 | 一区二区三区四区国产 | 亚洲一区二区在线电影 | 日本电影网站 | 久久综合国产 | 91视视频在线观看入口直接观看 | 天堂成人国产精品一区 | 99福利视频 | 日韩影音 | 日韩一区二区三区在线观看 | 久久久久亚洲国产| 精品综合网 |