亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式的機(jī)械旋轉(zhuǎn)編碼開關(guān)信號檢測軟件設(shè)計(jì)

        2020-06-21 15:33:52周首杰
        河南科技 2020年11期
        關(guān)鍵詞:中斷

        周首杰

        摘 要:嵌入式控制是指將單片機(jī)嵌入產(chǎn)品中,對產(chǎn)品起到控制作用。機(jī)械式旋轉(zhuǎn)編碼開關(guān)是通過人工操作旋轉(zhuǎn)方向來控制某個(gè)量的增加或減小。雖然產(chǎn)生的信號只有兩個(gè),但是干擾信號的存在使信號準(zhǔn)確檢測變得相對困難。通常使用的檢測方法有兩種,一是通過中斷方式進(jìn)行外部信號的采集,二是通過查詢方式進(jìn)行信號的檢測。本文對兩種方法進(jìn)行比較,進(jìn)而采用較好的辦法進(jìn)行軟件設(shè)計(jì),有效濾除抖動(dòng)帶來的干擾信號影響。

        關(guān)鍵詞:嵌入式產(chǎn)品;機(jī)械旋轉(zhuǎn)編碼開關(guān);信號檢測;抗抖動(dòng);中斷;查詢

        Abstract: Embedded control refers to embedding the single-chip microcomputer in the product and playing a controlling role on the product. The mechanical rotary coding switch controls the increase or decrease of a certain amount by manually operating the direction of rotation. Although only two signals are generated, the presence of interfering signals makes it relatively difficult to detect the signals accurately. There are two commonly used detection methods, one is to collect external signals by interruption, and the other is to detect signals by query. This paper compared the two methods, and then adopted a better method for software design, effectively filtering out the effects of interference signals caused by jitter.

        Keywords: embedded products;mechanical rotary coding switch;signal detection;anti-jitter;interrupt; query

        機(jī)械式旋轉(zhuǎn)編碼開關(guān)是通過旋轉(zhuǎn)過程中產(chǎn)生的觸點(diǎn)接通與斷開來實(shí)現(xiàn)信號的檢測,根據(jù)觸點(diǎn)接通與斷開的先后順序來檢測自身的旋轉(zhuǎn)方向。接通與斷開過程中存在觸點(diǎn)抖動(dòng)情況,使得單片機(jī)檢測過程變得較為復(fù)雜[1-2]。本文提出兩種軟件檢測方法,討論其檢測程序的編寫。

        1 編碼開關(guān)原理

        圖1是一種機(jī)械式旋轉(zhuǎn)編碼開關(guān)外形圖。其中,1、2腳是作為按鍵開關(guān)使用的,這里不作討論。A、B、C三腳是作為旋轉(zhuǎn)信號提供的,下面重點(diǎn)討論這三個(gè)腳的使用。在硬件接線中,人們將C腳接地,將A、B腳分別接單片機(jī)檢測腳,那么在旋動(dòng)旋鈕時(shí)會形成A腳與C腳的接通與斷開、B腳與C腳的接通與斷開。A腳與C腳的接通與斷開形成動(dòng)作1,B腳與C腳的接通與斷開形成動(dòng)作2,動(dòng)作1和動(dòng)作2是不同時(shí)發(fā)生的,有一個(gè)先后順序,如圖2所示。

        圖2為分別向兩個(gè)方向旋轉(zhuǎn)旋鈕時(shí)產(chǎn)生的波形圖。當(dāng)往A端子方向旋轉(zhuǎn)時(shí),A端子與C端子的接通或斷開動(dòng)作領(lǐng)先于B端子。如果往B端子方向旋轉(zhuǎn)時(shí),B端子與C端子的接通與斷開動(dòng)作領(lǐng)先于A端子與C端子的動(dòng)作。人們就可以根據(jù)動(dòng)作的先后順序來判斷旋鈕是左旋還是右旋。

        2 編碼開關(guān)的信號檢測

        通常,有兩種方法可以檢測編碼開關(guān)的信號[3-4]。一種是采用中斷方式來檢測編碼開關(guān)信號。另一種是采用查詢方式來檢測編碼開關(guān)信號。下面對這兩種檢測方式進(jìn)行一一討論。

        2.1 中斷方式檢測編碼開關(guān)信號

        以A腳為例說明,將A腳接于單片機(jī)的P3.2(INT0),B腳可任接于單片機(jī)的一個(gè)普通IO口。將A腳設(shè)置成外部中斷0輸入狀態(tài),并設(shè)置成下降沿觸發(fā)中斷。將B腳設(shè)置成懸空輸入狀態(tài)。如果A腳產(chǎn)生中斷,就表示A腳產(chǎn)生了電平下降,在中斷服務(wù)程序中再來檢測B腳是高電平還是低電平。如果B腳也是低電平,說明B腳已經(jīng)于A腳前下降,說明B腳動(dòng)作在前,那旋轉(zhuǎn)方向就是往B腳方向旋轉(zhuǎn)。往B端方向旋轉(zhuǎn)波形圖如圖2(b)所示,此時(shí)在[Δt5]時(shí)間內(nèi)檢測B腳電平就行。如果B腳仍然是高電平,說明B腳電平還沒有產(chǎn)生跳變,A腳跳變在前,說明旋轉(zhuǎn)方向是往A腳方向旋轉(zhuǎn)。往A端方向旋轉(zhuǎn)波形圖如圖2(a)所示,此時(shí)在[Δt2]時(shí)間內(nèi)檢測B腳電平就行。

        2.2 查詢方式檢測編碼開關(guān)信號

        將A、B兩腳都接于普通IO口,并且都設(shè)置成輸入狀態(tài)。在查詢中先設(shè)一個(gè)條件。只有檢查到兩腳都為高電平時(shí),才允許進(jìn)行第二步查詢,否則不允許進(jìn)行第二步動(dòng)作。接著,檢查腳電平,如果A腳先變低,則旋鈕往A端旋轉(zhuǎn),如果B腳先變低,則旋鈕往B端旋轉(zhuǎn)。

        3 軟件去抖動(dòng)設(shè)計(jì)

        機(jī)械旋鈕開關(guān)在觸點(diǎn)的接通與斷開中存在很大的抖動(dòng)現(xiàn)象。關(guān)斷AC兩腳或關(guān)斷BC兩腳時(shí)產(chǎn)生的信號抖動(dòng)現(xiàn)象如圖3所示。

        所以,在檢測時(shí),軟件必須有去抖動(dòng)設(shè)計(jì)。在按鍵中去抖動(dòng),是指采用多次測量,取相同值來去抖動(dòng)。這里也可以采用同樣的方法來去抖動(dòng)。例如,如果產(chǎn)生中斷服務(wù)程序,就說明A腳已經(jīng)產(chǎn)生了下降沿信號。在中斷服務(wù)程序中,人們可以延長一段時(shí)間后檢測A腳電平是否仍為低,如果A腳為低,那么確定A腳產(chǎn)生了電平下降。接著,再來檢測B腳電平。如果A腳電平為高,說明剛才是一個(gè)干擾信號,就不能用此次中斷所產(chǎn)生的檢測。延時(shí)時(shí)間不能太長,也不能太短。延時(shí)時(shí)間太長可能會影響整個(gè)程序的運(yùn)行。

        如果采用查詢方法來檢測旋轉(zhuǎn)方向,就可以利用程序循環(huán)本身的延時(shí)來解決問題。程序在循環(huán)中從頭至尾運(yùn)行一圈是需要一段時(shí)間的。一般為幾十毫秒,那么就分兩次來進(jìn)行檢測,即中間的延時(shí)是幾十毫秒。這個(gè)延時(shí)是可以接受的,因?yàn)樾D(zhuǎn)開關(guān)的旋轉(zhuǎn)速度不會太快。第一次檢測的目的是看是否產(chǎn)生了旋轉(zhuǎn)趨勢,只有產(chǎn)生了旋轉(zhuǎn)趨勢后才能進(jìn)行下一步。旋轉(zhuǎn)趨勢是指在被檢測的兩只腳A、B腳之間,產(chǎn)生了一只腳為高、另一只腳為低的變化。第二步檢測兩只腳是否真的都變低了,如果不是,證明第一步的變化是干擾信號。如果是兩只腳電平都變低了,那么根據(jù)第一步的趨勢,哪只腳電平先變低,就是往哪只腳方向旋轉(zhuǎn)。這種方法看起來簡單,但在實(shí)際使用中非常有效。

        5 結(jié)語

        經(jīng)過上述分析,筆者更傾向于采用查詢方式的檢測方法。這樣既不用占用寶貴的中斷資源,也可以有效地提高抗干擾能力。

        參考文獻(xiàn):

        [1]周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M].北京:北京航空航天出版社,2011.

        [2]樊非.采用掃描方式設(shè)計(jì)的旋轉(zhuǎn)編碼開關(guān)控制程序[J].IT時(shí)代周刊,2014(300):258-262.

        [3]岳巍,李杰,文方哲,等.帶按鍵的旋轉(zhuǎn)編碼開關(guān)與C8051F020單片機(jī)的接口設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2015(2):123-125.

        [4]王平安.旋轉(zhuǎn)編碼開關(guān)在單片機(jī)中的應(yīng)用[J].長江大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(5):88-91.

        猜你喜歡
        中斷
        在D-策略控制下服務(wù)員單重休假且休假不中斷的M/G/1排隊(duì)系統(tǒng)分析
        “單片機(jī)中斷概述”微課教學(xué)設(shè)計(jì)
        一種考慮GPS信號中斷的導(dǎo)航濾波算法
        基于FPGA的中斷控制器設(shè)計(jì)*
        Linux中斷線程化分析及中斷延時(shí)測試
        一起跨BSC切換CS域業(yè)務(wù)中斷的案例分析
        對80C51系列單片機(jī)中斷問題的研究
        電子制作(2018年2期)2018-04-18 07:13:44
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        AT89C51與中斷有關(guān)的寄存器功能表解
        阿v视频在线| 中文字幕亚洲在线第一页| 音影先锋中文字幕在线| 中国免费看的片| 国产av无码专区亚洲awww| 欧美日韩精品福利在线观看| 国产人成在线免费视频| 上海熟女av黑人在线播放| 欧美私人情侣网站| 欧美第五页| 精品少妇白浆一二三区| 色婷婷精品久久二区二区蜜桃| 漂亮人妻被中出中文字幕久久| 国产欧美日韩网站| 成人性生交大片免费看i| 国产的自拍av免费的在线观看| 免费国产成人肉肉视频大全| 国产亚洲精久久久久久无码77777| 成人无码激情视频在线观看| 久久老熟女一区二区三区福利| 亚洲av无码国产精品草莓在线| 熟妇人妻av中文字幕老熟妇| 精品人妻无码中文字幕在线| 伊人色综合九久久天天蜜桃| 男人天堂亚洲天堂av| 欲求不満の人妻松下纱荣子| 午夜色大片在线观看| 成 人 网 站 免 费 av| 人妻久久999精品1024| 日韩精品资源在线观看免费| 亚洲人成网站在线播放2019| 国产嫖妓一区二区三区无码| 久久99久久99精品观看| 一区二区三区日韩亚洲中文视频| 日本japanese丰满多毛| 国产偷2018在线观看午夜| 午夜一区二区三区福利视频| 天堂中文а√在线| 精品无码国产污污污免费| 精品国产一品二品三品| 99久久99久久精品国产片|