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

旋轉(zhuǎn)編碼開關(guān)在單片機中的應(yīng)用

2013-12-01 05:06:46王平安
關(guān)鍵詞:單片機程序信號

王平安

(中石化西南石油工程有限公司油田工程服務(wù)分公司,四川 綿陽621000)

旋轉(zhuǎn)編碼開關(guān)又稱旋轉(zhuǎn)編碼器、數(shù)碼電位器等,在電子產(chǎn)品中經(jīng)常使用。該器件具有360°旋轉(zhuǎn)、調(diào)節(jié)范圍廣、調(diào)節(jié)速度可變、可控制、噪音小、壽命長的優(yōu)點[1],功能在一定程度上類似于電位器,但其結(jié)構(gòu)、工作原理和使用方法與普通電位器完全不同[2],在數(shù)字電路中的應(yīng)用有很多,如改變音量的大小,電機的轉(zhuǎn)速等。

在單片機電路中,通過旋轉(zhuǎn)編碼開關(guān)來實現(xiàn)相應(yīng)參數(shù)的改變使用起來非常的方便和簡單,可有效的改變或調(diào)節(jié)單片機的內(nèi)部參數(shù)及對外輸出參數(shù)等。旋轉(zhuǎn)編碼開關(guān)由于在使用過程中,其方向信號的識別和脈沖計數(shù)的增加和減少是整個設(shè)計應(yīng)用中的難點,筆者采用中斷方式、硬件自動處理、IO端口等3種方式介紹旋轉(zhuǎn)編碼開關(guān)在單片機中的具體應(yīng)用實現(xiàn)。

1 旋轉(zhuǎn)編碼開關(guān)

旋轉(zhuǎn)編碼開關(guān)是一種可用于取代模擬電位器的器件,常用的旋轉(zhuǎn)編碼開關(guān)旋轉(zhuǎn)一周輸出20個脈沖,每個脈沖代表編碼開關(guān)旋轉(zhuǎn)了一定的角度[3]。旋轉(zhuǎn)編碼開關(guān)有3個和5個引腳的,5腳的比3腳的僅多2個按鍵引腳,另外3個引腳的功能與只有3個引腳的旋轉(zhuǎn)編碼開關(guān)功能相同,分別實現(xiàn)旋轉(zhuǎn)時輸出脈沖,在對編碼器進行左旋和右旋時,其輸出波形如圖1(a)和圖1(b)所示。

旋轉(zhuǎn)編碼開關(guān)旋轉(zhuǎn)一周分別輸出固定數(shù)目的脈沖數(shù),通過對其波形的識別,可識別出編碼開關(guān)是左旋還是右旋,從而實現(xiàn)其輸入數(shù)值的增加及減少,以實現(xiàn)其在單片機中的調(diào)節(jié)功能。

圖1 旋轉(zhuǎn)編碼器旋轉(zhuǎn)方向及旋轉(zhuǎn)脈沖數(shù)的識別

2 編碼開關(guān)信號的處理

左轉(zhuǎn)和右轉(zhuǎn)的信號判別是難點,從圖1分析編碼開關(guān)左旋和右旋的波形可知,當AC相超前BC相,轉(zhuǎn)動方向為右轉(zhuǎn);當BC相超前AC相,則為左轉(zhuǎn)。在左旋時,BC波形的相位滯后于AC相位一定角度,當AC波形上升沿時,BC波形為低電平;在右旋時,BC波形超前于AC波形相位一定角度,當AC波形為上升沿時,BC波形的電平為高電平。

波形如圖1所示,AC信號超前BC信號一個時間Δt,該時間隨旋轉(zhuǎn)的快慢而不同,通過檢測AC信號上升時BC信號的電平值的高低,便能識別出其旋轉(zhuǎn)方向。在AC信號上升時,BC信號為ON,此時旋轉(zhuǎn)編碼開關(guān)右旋轉(zhuǎn);AC信號上升時BC的信號為OFF,此時旋轉(zhuǎn)編碼開關(guān)左旋轉(zhuǎn);因此,只需要在AC信號上升沿的瞬間,判斷BC信號的高低狀態(tài),便可實現(xiàn)旋轉(zhuǎn)編碼器的方向識別,通過對AC信號的脈沖數(shù)根據(jù)旋轉(zhuǎn)方向來實現(xiàn)加減計數(shù),便能實現(xiàn)旋轉(zhuǎn)編碼開關(guān)信號值的輸入。

在使用編程時,只需要判斷當輸出AC為跳變?yōu)楦唠娖綍r,輸出BC當時的電平狀態(tài)就可以判斷出是左旋還是右旋,對于查詢方式,無法直接獲取AC或BC的電平跳變狀態(tài),則通過定時查詢AC和BC的狀態(tài),便能實時對旋轉(zhuǎn)編碼開關(guān)的方向識別。由于對其方向的識別和脈沖信號的處理是應(yīng)用中的主要技術(shù)難點,下面介紹旋轉(zhuǎn)編碼開關(guān)在宏晶STC51單片機上的幾種較為典型的硬件接口及軟件識別及處理方法。

3 單片機定時器T2處理旋轉(zhuǎn)編碼開關(guān)輸入

STC51單片機的計數(shù)器T2本身只有自動遞增或遞減的功能,利用T2的該功能,便能自動實現(xiàn)對旋轉(zhuǎn)編碼開關(guān)的方向和脈沖的計數(shù),通過簡單的程序便能實現(xiàn)旋轉(zhuǎn)編碼開關(guān)的正轉(zhuǎn)或反轉(zhuǎn)的計數(shù)和方向識別。

3.1 T2處理旋轉(zhuǎn)編碼開關(guān)的原理

編碼開關(guān)信號的捕獲,通過采用計數(shù)器功能來實現(xiàn)。筆者采用STC89C54 RD單片機計數(shù)器T2來實現(xiàn)。STC單片機的計數(shù)器T2有3種工作模式:捕獲、自動重新裝載(遞增或遞減計數(shù))和波特率發(fā)生器,編碼開關(guān)的信號處理采用的是自動裝載模式,通過遞增計數(shù)和遞減計數(shù)實現(xiàn)旋轉(zhuǎn)編碼開關(guān)正反向計數(shù)。定時器的自動重裝模式如圖2所示。

圖2 定時器自動重裝模式(DCEN=1)

圖3 采用T2讀取旋轉(zhuǎn)編碼開關(guān)的硬件電路

該種方式中未采用計數(shù)器T2中斷方式,主要是由于要計數(shù)器T2產(chǎn)生中斷,需要每次中斷后改變RCAP2 H、RCAP2L中的值和TH2、TL2中的值,使得產(chǎn)生中斷的程序變得較復(fù)雜。通過T2的自動遞增和遞減計數(shù)來實現(xiàn),T2將不會產(chǎn)生中斷,在軟件中通過讀取TH2和TL2的值,便能自動讀取出旋轉(zhuǎn)編碼開關(guān)的調(diào)節(jié)值,使程序變得更為簡單。

3.2 T2旋轉(zhuǎn)編碼開關(guān)輸入的硬件電路

利用宏晶51單片機的T2的自動重裝功能,很好的解決旋轉(zhuǎn)編碼器的轉(zhuǎn)向及計數(shù)的識別,單片機的P1.0腳是T2的計數(shù)輸入端口,P1.1是T2的方向輸入端口,如圖3所示,W1為旋轉(zhuǎn)編碼器的3個引腳,中間是公共端C腳,上端為A腳,下端為B腳,旋轉(zhuǎn)時AC、BC信號如圖1(a)和圖1(b)所示,將AC信號輸入到單片機的P1.0腳,BC信號輸入到單片機的P1.1腳。該電路中,R1和R2是輸入的上拉電阻,阻值選擇為10kΩ便可以,C1和C2為濾波電容,選擇為0.1μF,可以消除A,B信號的抖動,經(jīng)過實踐證明,該電路可保證編碼開關(guān)的正常工作。

3.3 T2處理旋轉(zhuǎn)編碼開關(guān)的程序

由于程序中未能使用T2中斷,程序只需要初始化T2的工作方式和對TH2、TL2賦值便完成初始化,在主程序中,并沒使用中斷函數(shù),而是直接通過對T H2、TL2進行訪問,僅對TL2進行了數(shù)據(jù)處理。在該種方式中,TL2相當于一個寄存器使用,通過訪問TL2便能實現(xiàn)對旋轉(zhuǎn)編碼開關(guān)的數(shù)據(jù)輸入。主要實現(xiàn)程序如下:

4 中斷方式處理旋轉(zhuǎn)編碼開關(guān)

由于單片機外部中斷可以實現(xiàn)脈沖邊沿信號和電平觸發(fā)信號2種中斷功能,可以很方便捕獲旋轉(zhuǎn)編碼開關(guān)輸入信號電平的變化,能夠及時處理脈沖信號跳變時的方向信號,從而識別旋轉(zhuǎn)編碼開關(guān)的旋轉(zhuǎn)方向。該電路中采用了單片機的INT0及一個IO腳來實現(xiàn)對旋轉(zhuǎn)編碼開關(guān)的另一信號的識別,如果中斷輸入信號AC變化時,根據(jù)BC電平信號的高低便能判別旋轉(zhuǎn)編碼開關(guān)的左旋和右旋,并對中斷信號AC的值作增加或減少處理,實現(xiàn)編碼開關(guān)數(shù)值的處理。

4.1 INT0旋轉(zhuǎn)編碼開關(guān)輸入的硬件電路

INT0是單片機的中斷電路,利用該端口將在編碼開關(guān)轉(zhuǎn)動時,會產(chǎn)生中斷,由中斷程序來實現(xiàn)旋轉(zhuǎn)編碼開關(guān)輸入量的識別,其電路如圖4所示,P3.2為MCS51單片機的INT0中斷端口,P1.2為普通IO端口。

圖4 采用INT0中斷方式讀取編碼開關(guān)的硬件電路圖

4.2 INT0處理旋轉(zhuǎn)編碼開關(guān)的程序

INT0作編碼開關(guān)輸入時,采用中斷方式,在編寫程序時,需要對INT0進行中斷和初始化,在INT0產(chǎn)生中斷后,其轉(zhuǎn)向由中斷程序進行處理,該方式中,如果編碼開關(guān)沒有轉(zhuǎn)動,中斷程序?qū)⒉粫?zhí)行,可提高單片機處理其他任務(wù)的能力,通過占用1個中斷IO端口和普通IO端口便可實現(xiàn)其信息的輸入。通過中斷方式讀取的初始化實現(xiàn)程序如下:

5 IO端口處理旋轉(zhuǎn)編碼開關(guān)的程序

上述編碼開關(guān)輸入方法中,要占用計數(shù)器T2、中斷INT0等IO端口,由于單片機的計數(shù)器、中斷端口的數(shù)量有限,被輸入編碼開關(guān)占用后,有可能造成單片機該類輸入端口數(shù)量不夠,通過普通IO端口實現(xiàn)旋轉(zhuǎn)編碼開關(guān)數(shù)據(jù)輸入能夠有效解決由于單片機中斷資源不足的情況。

5.1 IO端口處理旋轉(zhuǎn)編碼開關(guān)硬件電路

該方式可采用普通的IO端口作為編碼開關(guān)的A、B輸入,電路硬件圖參考圖2所示,假設(shè)P1.2仍為編碼開關(guān)的BC端輸入,P3.2為AC端輸入,程序中不使用中斷方式,把P3.2作為普通IO端口方式,其他硬件原理同上面介紹的功能相同。

圖5 IO口處理編碼開關(guān)的流程圖

5.2 IO端口處理旋轉(zhuǎn)編碼開關(guān)的程序

在該種方式下,由于P3.2作為普通的IO端口,普通IO端口只能采用查詢方式訪問,軟件中只能采用查詢來進行訪問,如果直接采用查詢程序,必將耗費大量的單片機運算周期,降低其運行速度。通過定時查詢方式,便可有效降低程序查詢開銷,提高系統(tǒng)效率。定時查詢使用定時器產(chǎn)生定時中斷,定時查詢編碼開關(guān)AC和BC的輸入狀態(tài),從而完成對編碼開關(guān)的輸入脈沖及旋轉(zhuǎn)方向的處理。數(shù)碼電位器的采樣頻率不能太低,否則會限制旋轉(zhuǎn)編碼開關(guān)的旋轉(zhuǎn)速度[4],取的時間掃描周期為1 ms,圖5是時鐘主頻為12 MHz的程序流程圖。

6 結(jié) 語

對于旋轉(zhuǎn)編碼開關(guān)在單片機的應(yīng)用中介紹了3種常用方法,根據(jù)單片機的資源使用情況,可根據(jù)設(shè)計中的實際情況采用不同的方法來實現(xiàn)旋轉(zhuǎn)編碼開關(guān)的輸入。通過采用旋轉(zhuǎn)編碼開關(guān)實現(xiàn)控制參數(shù)的變化比采用傳統(tǒng)按鈕方式更加方便直觀。由于其硬件簡單,編程也容易實現(xiàn),且它的軟、硬件可移植性強[5],可適用于不同的單片機電路中。

[1]楊紹洲,王勝軍,陳宏文 .數(shù)碼電位器在醫(yī)學(xué)儀器的應(yīng)用和編程[J].中國醫(yī)療器械雜志,2002,26(6):447-448.

[2]陳國杰 .數(shù)碼電位器的單片機接口方法及其編程[J].計算機應(yīng)用,2000(4):38-40.

[3]王子博 .編碼器四倍頻電路的單片機高速算法設(shè)計[J].控制與檢測,2007(11):73-74,78.

[4]陳國杰 .數(shù)碼電位器的單片機接口方法及其編程[J].電子技術(shù),2000(4):38-40.

[5]方煒,任一峰 .絕對值型編碼器數(shù)據(jù)采集設(shè)計[J].中北大學(xué)學(xué)報(自然科學(xué)版),2007,28(z1):60-62.

猜你喜歡
單片機程序信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 狠狠干欧美| a色毛片免费视频| 亚洲区第一页| 伊人丁香五月天久久综合| 亚洲bt欧美bt精品| 成人久久精品一区二区三区| 久久国产高清视频| 精品少妇三级亚洲| 国产欧美精品午夜在线播放| 午夜一级做a爰片久久毛片| 人人爽人人爽人人片| 亚洲第一视频免费在线| 黄色成年视频| 亚洲AV无码乱码在线观看代蜜桃| 久久精品视频亚洲| 国产呦视频免费视频在线观看| 区国产精品搜索视频| 91综合色区亚洲熟妇p| 日本午夜视频在线观看| 免费av一区二区三区在线| 亚洲Aⅴ无码专区在线观看q| 91国语视频| 九九热免费在线视频| 日韩一区二区三免费高清| 免费中文字幕在在线不卡 | 人妻中文久热无码丝袜| 欧美性久久久久| 国产日本欧美亚洲精品视| 国产高清在线丝袜精品一区| 国产一区二区色淫影院| 全午夜免费一级毛片| 五月综合色婷婷| 午夜免费小视频| 国产凹凸视频在线观看 | 国产十八禁在线观看免费| 成年人午夜免费视频| 99尹人香蕉国产免费天天拍| 最新国产你懂的在线网址| 国产在线精品香蕉麻豆| 欧美性爱精品一区二区三区| 92午夜福利影院一区二区三区| 九九九国产| 亚洲精品国产日韩无码AV永久免费网| 精品福利一区二区免费视频| 久久久久久久97| 永久免费av网站可以直接看的| 精品伊人久久久久7777人| 亚洲综合色区在线播放2019| 欧美成人h精品网站| 久久精品一卡日本电影| 嫩草国产在线| 狠狠做深爱婷婷综合一区| 伦伦影院精品一区| 热久久综合这里只有精品电影| 玩两个丰满老熟女久久网| 91精品国产91久无码网站| 国产a在视频线精品视频下载| 国产精品毛片在线直播完整版| 成年片色大黄全免费网站久久| 青青久久91| 日韩无码真实干出血视频| 精品国产欧美精品v| 亚洲国产综合精品一区| 国产成人1024精品下载| 国产精品第一区| 国产成人啪视频一区二区三区| 青青草原国产免费av观看| 成年人视频一区二区| 欧美三级日韩三级| 中文字幕乱码二三区免费| 中文字幕在线日本| 欧美一级专区免费大片| 久久久久亚洲AV成人网站软件| 日韩中文无码av超清| 91精品国产自产91精品资源| 久久人搡人人玩人妻精品| 亚洲乱码精品久久久久..| 有专无码视频| 国产美女在线免费观看| 国产在线观看一区精品| 高清无码一本到东京热| 欧美国产精品拍自|