999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式的機械旋轉編碼開關信號檢測軟件設計

2020-06-21 15:33:52周首杰
河南科技 2020年11期

周首杰

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

關鍵詞:嵌入式產品;機械旋轉編碼開關;信號檢測;抗抖動;中斷;查詢

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

機械式旋轉編碼開關是通過旋轉過程中產生的觸點接通與斷開來實現信號的檢測,根據觸點接通與斷開的先后順序來檢測自身的旋轉方向。接通與斷開過程中存在觸點抖動情況,使得單片機檢測過程變得較為復雜[1-2]。本文提出兩種軟件檢測方法,討論其檢測程序的編寫。

1 編碼開關原理

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

圖2為分別向兩個方向旋轉旋鈕時產生的波形圖。當往A端子方向旋轉時,A端子與C端子的接通或斷開動作領先于B端子。如果往B端子方向旋轉時,B端子與C端子的接通與斷開動作領先于A端子與C端子的動作。人們就可以根據動作的先后順序來判斷旋鈕是左旋還是右旋。

2 編碼開關的信號檢測

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

2.1 中斷方式檢測編碼開關信號

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

2.2 查詢方式檢測編碼開關信號

將A、B兩腳都接于普通IO口,并且都設置成輸入狀態。在查詢中先設一個條件。只有檢查到兩腳都為高電平時,才允許進行第二步查詢,否則不允許進行第二步動作。接著,檢查腳電平,如果A腳先變低,則旋鈕往A端旋轉,如果B腳先變低,則旋鈕往B端旋轉。

3 軟件去抖動設計

機械旋鈕開關在觸點的接通與斷開中存在很大的抖動現象。關斷AC兩腳或關斷BC兩腳時產生的信號抖動現象如圖3所示。

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

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

5 結語

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

參考文獻:

[1]周航慈.單片機應用程序設計技術[M].北京:北京航空航天出版社,2011.

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

[3]岳巍,李杰,文方哲,等.帶按鍵的旋轉編碼開關與C8051F020單片機的接口設計[J].機電產品開發與創新,2015(2):123-125.

[4]王平安.旋轉編碼開關在單片機中的應用[J].長江大學學報(自然科學版),2013(5):88-91.

主站蜘蛛池模板: 亚洲综合在线最大成人| 伊在人亚洲香蕉精品播放| 四虎在线高清无码| 久久精品91麻豆| 日韩专区第一页| 2020极品精品国产| 最新国产精品第1页| 九九久久精品国产av片囯产区| 精品一区二区三区四区五区| 国产欧美综合在线观看第七页| 爽爽影院十八禁在线观看| 亚洲,国产,日韩,综合一区 | 欧美精品导航| 欧美97欧美综合色伦图| 91在线一9|永久视频在线| 亚洲天堂在线免费| 蜜桃视频一区二区| 精品久久久无码专区中文字幕| 免费看黄片一区二区三区| 青青操国产视频| 福利视频一区| 亚洲伦理一区二区| 亚洲综合片| 日本欧美中文字幕精品亚洲| 91激情视频| 久久香蕉国产线| 亚洲品质国产精品无码| 麻豆精品国产自产在线| 日韩精品久久久久久久电影蜜臀| 丁香婷婷激情综合激情| 无码中文字幕精品推荐| 国内精品久久人妻无码大片高| 91免费在线看| 亚洲精品色AV无码看| 三上悠亚精品二区在线观看| 91精品专区国产盗摄| 久草青青在线视频| 成人无码区免费视频网站蜜臀| 青草精品视频| 国产精品亚洲va在线观看| 国产成人调教在线视频| 日韩欧美国产精品| 香蕉综合在线视频91| 国产欧美高清| 久久99国产视频| 国产原创演绎剧情有字幕的| av大片在线无码免费| 丁香婷婷激情网| 成人小视频在线观看免费| 久久永久视频| 亚洲国产成人精品无码区性色| 青青青国产视频| 欧美中文字幕在线播放| 99视频在线看| 四虎永久在线精品影院| 91午夜福利在线观看| 国产真实乱子伦精品视手机观看| 国产理论最新国产精品视频| 久久这里只有精品8| www亚洲天堂| 欧美另类精品一区二区三区| 伊人激情综合网| 欧美亚洲一区二区三区在线| 国产99久久亚洲综合精品西瓜tv| 精品无码国产一区二区三区AV| 91毛片网| 美女免费黄网站| 欧美α片免费观看| 精品久久久久久成人AV| 色悠久久久| 欧美日韩亚洲国产主播第一区| 日韩精品无码免费一区二区三区 | 久久久久久久蜜桃| 激情综合网址| 久久成人国产精品免费软件| 亚洲福利一区二区三区| 欧美精品亚洲日韩a| 女同国产精品一区二区| 日韩无码黄色网站| 国产在线自揄拍揄视频网站| 久久精品国产在热久久2019| 天天做天天爱天天爽综合区|