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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

好用的旋轉編碼器單片機代碼分享

  [復制鏈接]
跳轉到指定樓層
樓主
ID:470490 發表于 2019-3-19 10:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
自己寫的旋轉編碼器C語言代碼,對變量num數值進行調整,正轉加,逆轉減,按下歸0。
對于快速、慢速旋轉準確率都很高。
通用性好,有的旋轉編碼器是要轉兩格才調整一個數值的,這個代碼通用。
代碼里面的c與c1比較是防止因漏碼而卡死,c1選的80000是對1T單片機的,如果用12T的就改為10000。如果要以非常慢的速度旋轉,可以在這個基礎上再把c1加大。

單片機源程序如下:
  1. /*     K1、K2、K3分別接旋轉編碼器的CLK、DT、SW,正時針、逆時針調整旋轉編碼器分別增、減
  2. */

  3. #include <stc15.h>
  4. sbit K1=P3^2;     // K1、K2、K3分別接旋轉編碼器的CLK、DT、SW
  5. sbit K2=P3^3;
  6. sbit K3=P3^4;

  7.     unsigned  long c,c1;
  8.                 unsigned  int num;         //定義變量類型
  9.           bit d;

  10. void main()
  11. {
  12.    c1=80000;
  13.         num=100;
  14.        
  15.   while (1)
  16.         {
  17.                 if(K1&&K2)
  18.         {               
  19.         c=0;                  //對c和d賦初值
  20.         d=1;
  21.         }

  22.           if(!K1&&K2&&d)          //首先判斷是否符合正轉第一特征碼,如不符合則立即進行反轉判斷
  23.          {
  24.           while (K2&&d)           //等待第二特征碼出現,如超過預設時限則直接退出,進行下一次判斷
  25.           {                                   //每循環一次,c值加1,加至c1則超過預設時限,給d賦值0,退出
  26.           c++;
  27.           if(c>c1)
  28.           d=0;
  29.           }
  30.           if (!K1&&!K2&&d)                 //判斷是否符合正轉第二特征碼
  31.           {
  32.            while (!K1&&d)
  33.            {
  34.           c++;
  35.           if(c>c1)
  36.           d=0;
  37.           }
  38.        if (K1&&!K2&&d)                   //判斷是否符合正轉第三特征碼
  39.            {
  40.                           num++;
  41.                                  }
  42.         while (!K2&&d)           //等待正轉第三特征碼結束
  43.            {
  44.           c++;
  45.           if(c>c1)
  46.           d=0;
  47.           }                 
  48.                 }
  49.     }
  50.        
  51.                  if(K1&&!K2&&d)           //判斷是否符合反轉第一特征碼
  52.          {
  53.           while (K1&&d)
  54.            {
  55.           c++;
  56.           if(c>c1)
  57.           d=0;
  58.           }
  59.           if (!K1&&!K2&&d)
  60.           {
  61.            while (!K2&&d)
  62.             {
  63.           c++;
  64.           if(c>c1)
  65.           d=0;
  66.           }
  67.        if (!K1&&K2&&d)
  68.            {
  69.                 num--;
  70.                           while (!K1&&d)
  71.                   {
  72.           c++;
  73.           if(c>c1)
  74.           d=0;
  75.           }         
  76.                 }
  77.     }
  78.                 }
  79.                        
  80.                 if(!K3)
  81.                  {
  82.                  num=0;
  83.                   }
  84.                                   
  85.                         }
  86.                   }
復制代碼

所有資料51hei提供下載:
旋轉編碼器.rar (30.82 KB, 下載次數: 354)


評分

參與人數 2黑幣 +80 收起 理由
世紀21電源 + 30
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:558833 發表于 2019-7-20 11:05 | 只看該作者
正需要這個來參考學習。謝謝。
回復

使用道具 舉報

板凳
ID:135805 發表于 2019-9-24 13:16 | 只看該作者
謝謝分享,剛好需要這個程序。
回復

使用道具 舉報

地板
ID:599538 發表于 2019-10-1 08:01 來自手機 | 只看該作者
感謝分享
回復

使用道具 舉報

5#
ID:620617 發表于 2019-10-8 17:21 | 只看該作者
正需要這個來參考學習。謝謝。
回復

使用道具 舉報

6#
ID:190720 發表于 2020-3-6 15:28 | 只看該作者
謝謝分享
回復

使用道具 舉報

7#
ID:190720 發表于 2020-3-6 15:29 | 只看該作者
謝謝分享,看一下
回復

使用道具 舉報

8#
ID:686739 發表于 2020-3-7 06:30 來自手機 | 只看該作者
謝謝分享
回復

使用道具 舉報

9#
ID:106422 發表于 2020-3-7 17:03 | 只看該作者
感謝分享!
回復

使用道具 舉報

10#
ID:706421 發表于 2020-3-11 16:10 | 只看該作者
用的是51單片機嗎?
回復

使用道具 舉報

11#
ID:145036 發表于 2020-4-12 20:51 | 只看該作者
謝謝奉獻分享~
回復

使用道具 舉報

12#
ID:470490 發表于 2021-2-9 23:50 來自手機 | 只看該作者
好久沒來論壇了
回復

使用道具 舉報

13#
ID:607312 發表于 2021-3-19 08:59 | 只看該作者
感謝分享,正在學習中
回復

使用道具 舉報

14#
ID:413769 發表于 2021-5-30 20:26 | 只看該作者
目前還用不到,先看看
回復

使用道具 舉報

15#
ID:568756 發表于 2024-6-29 09:55 | 只看該作者
這個程序真的不錯,快調慢調都很準確。
回復

使用道具 舉報

16#
ID:350682 發表于 2024-11-4 09:59 | 只看該作者
myhj 發表于 2024-6-29 09:55
這個程序真的不錯,快調慢調都很準確。

我的快調不是每次都識別
回復

使用道具 舉報

17#
ID:1143011 發表于 2025-1-16 12:24 | 只看該作者
謝謝分享,剛好需要這個程序。
回復

使用道具 舉報

18#
ID:1143011 發表于 2025-1-16 12:25 | 只看該作者
兩個以上編碼器
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99pao成人国产永久免费视频 | 污视频免费在线观看 | 国产精品美女久久久久久免费 | 欧美啪啪 | 1区2区3区视频 | 一区二区三区亚洲视频 | 成年人精品视频 | 中文字幕精品一区 | 日韩欧美字幕 | 午夜影院在线免费观看视频 | 亚洲欧洲色视频 | 欧美在线a | 亚洲人在线观看视频 | 国产精品日韩欧美一区二区三区 | 国产丝袜一区二区三区免费视频 | 欧美成年黄网站色视频 | 天天影视色综合 | 欧美成人一区二区三区 | 国产精品亚洲一区二区三区在线观看 | 欧美在线国产精品 | www精品美女久久久tv | 日韩精品成人免费观看视频 | 国产一区 | 国产区在线观看 | 玖玖玖在线 | 99精品久久| 男女激情网站免费 | 日韩欧美中文在线 | 欧美日韩精品在线一区 | 天天干干 | 国精日本亚洲欧州国产中文久久 | 99精品观看 | 日韩在线一区二区三区 | 国产高清免费视频 | xxxxxx国产 | 日韩福利在线观看 | 成人h动漫亚洲一区二区 | 国产在线播放av | 国产激情在线观看视频 | 色呦呦网站 | 自拍偷拍亚洲欧美 |