旋轉(zhuǎn)編碼開關(guān)工作原理圖解

發(fā)布時間:2024-01-12
在電子產(chǎn)品設(shè)計中,經(jīng)常會用到旋轉(zhuǎn)編碼開關(guān),比如數(shù)碼電位器等,它的英文名翻譯過來就是rotary encoder switch。在寫這個元件的驅(qū)動程序之前,我百度了一些它的使用說明資料,知道了它具有左轉(zhuǎn)、右轉(zhuǎn)和按下三個功能,有五個腳,它的外形如下圖所示:
(1)1、3腳要外接上拉電阻,一般10k就足矣;
(2)2腳一般接地就行;
(3)4、5腳是下按鍵的開關(guān)接線(按下時,4腳為低電平);
我調(diào)試這個元件時的實物接線示意圖為:
其實它使用起來并不難,我看到網(wǎng)上的資料大都說操作它時判斷正轉(zhuǎn)和反轉(zhuǎn)是一個難點,在這里我希望博友在看了我的代碼后會覺得這其實只是一個“傳說”!我的代碼會把這個問題說的清清楚楚、簡簡單單的!我覺得其實判斷正轉(zhuǎn)和反轉(zhuǎn)的關(guān)鍵就是:當bma為低電平時,bmb的跳變沿是怎樣的——上升沿表示正轉(zhuǎn),下降沿表示反轉(zhuǎn)。只要用代碼把這it p27=p2^7;
sbit p26=p2^6;
sbit p25=p2^5;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar count=0;
uchar flag;
uchar last_bmb_status;
uchar current_bmb_status;
//************************************************
void delay(uchar z) //大約1ms的延時
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//************************************************
void display() //顯示子程序
{
p0=table[count%10]; //個位
p27=0;
delay(10);
p27=1;
p0=table[count%100/10]; //十位
p26=0;
delay(10);
p26=1;
p0=table[count/100]; //百位
p25=0;
delay(10);
p25=1;
}
//************************************************
void main()
{
tmod=0x01; //定時器0,工作方式1
th0=0xd8;
tl0=0xf0; //給定時器裝上初值,10ms中斷一次
et0=1; //打開定時器中斷
ea =1; //打開總中斷
tr0=1; //啟動定時器0
while(1)
{
last_bmb_status=bmb;
while(!bma) //bma為低電平時
{
current_bmb_status=bmb;
flag=1; //標志位置為1說明編碼開關(guān)被旋轉(zhuǎn)了
}
if(flag==1)
{
flag=0; //時刻要注意這一點!給標志位清零
if((last_bmb_status==0)&&(current_bmb_status==1)) //bmb上升沿表示正轉(zhuǎn)
{
count++;
if(count==255)
{
count=0;
}
}
if((last_bmb_status==1)&&(current_bmb_status==0)) //bmb下降沿表示反轉(zhuǎn)
{
count--;
if(count==0)
{
count=255;
}
}
}
}
}
//************************************************
void timer0() interrupt 1 //定時器0的中斷服務(wù)程序
{
th0=0xd8;
tl0=0xf0; //再次裝入初值
display(); //每隔10ms顯示一次
if(!bmc) //按下旋轉(zhuǎn)編碼開關(guān)則計數(shù)清零
{
count=0;
}
}
上一個:epub轉(zhuǎn)換成word(epub如何轉(zhuǎn)換pdf)
下一個:手機能投屏到筆記本上面嗎怎么弄(手機能投屏到筆記本上面嗎怎么設(shè)置)

CC0402JRNPO9BN200,NPO 0402 20pF ±5% 50V
普洱茶后發(fā)酵的兩種情形
初學者怎么學單片機?新手怎么學單片機?新手學單片機如何入手?
榮耀立方怎么樣,華為榮耀立方事件解決
加固態(tài)硬盤電腦會變快嗎,老電腦更換固態(tài)硬盤之后速度就會變快是真的嗎
網(wǎng)站推廣,學會這些幫你省一半費用
君子蘭軟腐病是什么病
喝巖茶后,為什么嘴唇和舌頭會麻
ctrl加哪個鍵可以多選圖片
gp850_(匯頂科技)gp850中文資料_價格_pdf手冊子商城
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos