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

        ?

        旋轉編碼開關在單片機中的應用

        2013-12-01 05:06:46王平安
        長江大學學報(自科版) 2013年13期
        關鍵詞:電位器中斷端口

        王平安

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

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

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

        1 旋轉編碼開關

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

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

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

        2 編碼開關信號的處理

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

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

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

        3 單片機定時器T2處理旋轉編碼開關輸入

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

        3.1 T2處理旋轉編碼開關的原理

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

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

        圖3 采用T2讀取旋轉編碼開關的硬件電路

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

        3.2 T2旋轉編碼開關輸入的硬件電路

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

        3.3 T2處理旋轉編碼開關的程序

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

        4 中斷方式處理旋轉編碼開關

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

        4.1 INT0旋轉編碼開關輸入的硬件電路

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

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

        4.2 INT0處理旋轉編碼開關的程序

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

        5 IO端口處理旋轉編碼開關的程序

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

        5.1 IO端口處理旋轉編碼開關硬件電路

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

        圖5 IO口處理編碼開關的流程圖

        5.2 IO端口處理旋轉編碼開關的程序

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

        6 結 語

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

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

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

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

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

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

        猜你喜歡
        電位器中斷端口
        一種端口故障的解決方案
        科學家(2021年24期)2021-04-25 13:25:34
        端口阻塞與優(yōu)先級
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        Mixly開源項目設計10:用自制多量程歐姆表測量電位器的電阻
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實例探討
        電位器在直線步進電機中的應用
        機械工程師(2014年4期)2014-07-01 23:36:27
        Varian Clinic 23EX 加速器電位器故障維修一例
        AT89C51與中斷有關的寄存器功能表解
        成人欧美日韩一区二区三区| 亚洲国产成人无码电影| 亚洲精品久久久中文字 | 免费观看人妻av网站| 成人亚洲精品777777| 美女高潮无遮挡免费视频| 人妻中文字幕不卡精品| 视频女同久久久一区二区| 亚洲精品少妇30p| 国产精品后入内射日本在线观看 | 国产丝袜无码一区二区三区视频| 精品国产免费久久久久久| 一级黄片草逼免费视频| 亚洲精品宾馆在线精品酒店| 欧美饥渴熟妇高潮喷水水| 无遮挡中文毛片免费观看| 中文字幕色一区二区三区页不卡 | 日射精情感性色视频| 国产欧美日韩综合在线一区二区| 女优免费中文字幕在线| 白浆国产精品一区二区| 国产成熟人妻换╳╳╳╳| 亚洲AV无码一区二区二三区我| 骚货人妻视频中文字幕| 肉色丝袜足j视频国产| 国产成人亚洲精品无码h在线| 日本不卡在线一区二区三区视频| 福利视频偷拍一区二区| 先锋中文字幕在线资源| 成人三级在线| 久久五月精品中文字幕| 激情综合五月| 国模少妇一区二区三区| 亚洲最稳定资源在线观看| 中文字幕乱码日本亚洲一区二区 | 亚洲欧美国产成人综合不卡| 论理视频二区三区四区在线观看| 国产在线 | 中文| 免费毛片性天堂| 中文字幕亚洲高清精品一区在线| 国产播放隔着超薄丝袜进入|