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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3876|回復: 0
收起左側

模擬EC11系列數字旋轉編碼器旋轉方向改變數值讓數碼管顯示一個數值

[復制鏈接]
ID:171036 發表于 2019-12-9 14:47 | 顯示全部樓層 |閱讀模式
本帖最后由 51黑電子會員 于 2019-12-9 16:52 編輯

#include<reg51.h>//單片機頭文件
#define SMG P0//自定義單片機P0組端口為變量SMG
#define uchar unsigned char//自定義變量uchar為unsigned char
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽數碼管段碼顯示0~9數字的數組
int num;//共陽數碼管段碼數組下標數字變量
sbit AA = P1^0;//接編碼器A端
sbit BB = P1^1;//接編碼器B端
  void delay(uchar z)//延時函數
{
   uchar i,j;
   for(i = 0; i < z; i++)
   for(j = 0; j < 120; j++);
}
  void main()//主函數
{
   while(1)//死循環
  {  
      if(num<0)//判斷共陽數碼管段碼數組下標數字變量是否小于0
    {
       num=9;//共陽數碼管段碼數組下標數字變量變為9
     }
      if(num>9)//判斷共陽數碼管段碼數組下標數字變量是否大于9
    {
       num=0;//共陽數碼管段碼數組下標數字變量變為0
     }
     SMG=table[num];//共陽數碼管段碼顯示0~9數字的數組賦值給變量SMG,相當于賦值給單片機P0組端口,從而讓數碼管顯示出0~ 9數字。            
      if(AA == 0)//開始檢測是否旋轉了開關
    {
       delay(10);//消除抖動
       if(AA == 0) //確實是旋轉了,進行正反轉判斷。
     {
        delay(10);//消除抖動
        while(!AA);//等待開關A端復位(斷開),防止出現亂加減的現象。
        if(BB == 1)//正轉,進行正轉處理。
      {
         num++;//數碼管數值增加
       }
        if(BB == 0)//反轉,進行反轉處理。
      {
         num--;//數碼管數值減少
       }
      }
     }
    }
   }


模擬EC11系列數字旋轉編碼器旋轉方向改變數值讓數碼管顯示一個數值的Protues仿真電路圖

模擬EC11系列數字旋轉編碼器旋轉方向改變數值讓數碼管顯示一個數值的Protues仿真電路圖

模擬EC11系列數字旋轉編碼器旋轉方向改變數值讓數碼管顯示一個數值的Protues仿真電路圖操作動態圖

模擬EC11系列數字旋轉編碼器旋轉方向改變數值讓數碼管顯示一個數值的Protues仿真電路圖操作動態圖

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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