- 相關推薦
基于單片機的選頻表自動變步長的設計實現(xiàn)
唐如松(合肥工業(yè)大學計算機與信息學院)
摘 要:關鍵詞:在小規(guī)模話路、基群、超群載波通訊中廣泛使用電頻振蕩器和選頻表來測量載波通訊設備與線路的電平、增益、衰減、防衛(wèi)度等特性,F(xiàn)在振蕩器和選頻表已經(jīng)基本上利用數(shù)字化器件產(chǎn)生頻率,得到高精度的正弦波信號,再對其進行必要的處理送給輸出或乘法器。但由于傳統(tǒng)的儀器采取的是模擬器件產(chǎn)生頻率,并采取轉動轉輪來改變頻率達到使用目的,為了滿足傳統(tǒng)用戶的使用習慣和要求,故必須在新的數(shù)字化設備上實現(xiàn)此功能,F(xiàn)在有的數(shù)字化設備上已經(jīng)實現(xiàn)此功能,但轉輪必須配合步長鍵來使用,即用戶只能先設置合適的步長,然后轉動轉輪才能達到合適的變化量,在大頻率的調(diào)節(jié)當中用戶覺得很不方便, 我們在設計中實現(xiàn)了轉動轉輪時能夠根據(jù)轉輪的轉動速度自動調(diào)節(jié)步長功能:速度越快,頻率變化的步長越大;速度越慢,則頻率變化的步長越小。這樣在調(diào)節(jié)頻率時,須大范圍變化時可快速轉動轉輪,而細調(diào)時則慢慢的轉動轉輪,達到微調(diào)效果。在實際的使用中證明:此種調(diào)節(jié)方法比較符合操作人員的習慣,因此具有較好的使用價值。
此方法采取發(fā)射接收對管加轉輪實現(xiàn)變步長,如圖1所示,電路的采樣部分由一個圓形的扇葉和兩組紅外發(fā)射接收對管組成(扇葉按圖2所示做成,空隙和葉片的寬度為1:1)。由于一組紅外發(fā)射接收對管檢測扇葉轉動時,只能檢測出輪輪是否在轉動,而無法判斷出它的轉向,所以必須采用兩組紅外發(fā)射接收對管。令兩組紅外發(fā)射接收對管分別為A和B(A和B兩點間的距離要保證小于葉片或空隙的寬度),當紅外發(fā)射接受對管工作時,若對管之間是空隙(無葉片),則接收管的輸出為”0”, 若對管之間是葉片,則接收管的輸出為“1”。
現(xiàn)在分析如何判斷出轉輪的轉向。如圖2所示,在任意時刻,A和B的輸出只存在四種狀態(tài): 0 0 , 0 1 , 1 0 , 1 1。以A和B處于 1 1狀態(tài)為例,如果轉輪正轉時,即扇葉順時針轉動,A和B的下一個狀態(tài)必然為 1 0 ;如果轉輪倒轉時,扇葉逆時針轉動,A和B的下一個狀態(tài)必然為0 1 。由此我們可判斷出轉輪的轉向。在正常工作時,先檢測A和B的狀態(tài),并將該狀態(tài)保存下來,然后一直檢測A和B的狀態(tài),一旦狀態(tài)發(fā)生變化即轉輪開始轉動,讀出A和B的狀態(tài),按表中所示的變化規(guī)律,得出轉輪的轉向,從而進行相應的處理,然后返回,刷新狀態(tài)保存,并繼續(xù)檢測,即在轉動過程中不斷檢測出A和B的狀態(tài),更新狀態(tài)保存,并根據(jù)下一個狀態(tài)不斷進行轉向判斷。由于通常單片機的指令執(zhí)行時間只有us數(shù)量級, 所以A和B的狀態(tài)一旦發(fā)生變化時,立刻就會被檢測出來,因此狀態(tài)變化情況都被包括在表1中,而不會出現(xiàn)從1 1變化到0 0之類情況。實踐當中,我們采用AMD公司的PIC16C74A單片機,使用4.000MHZ的晶振,指令的執(zhí)行時間為1us,檢測的狀態(tài)變化情況都如表1所示,沒有出現(xiàn)異,F(xiàn)象。
狀態(tài)變化表
下面簡介如何自動判斷步長,這主要由單片機的軟件實現(xiàn):當A和B的狀態(tài)發(fā)生變化時,記錄下來從一狀態(tài)變化到另一狀態(tài)所需的時間,設定一定的時間門限值,狀態(tài)變化時間越短,轉輪轉動速度越快,步長越大;相反,狀態(tài)變化時間越長,轉輪轉動速度越慢,步長越小。根據(jù)狀態(tài)變化所需的時間,判斷出屬于哪一類步長,調(diào)用相應處理即可達到自動變步長的效果。在具體的實現(xiàn)過程中,從開始讀A和B的狀態(tài)并保存狀態(tài)時開始啟動單片機的內(nèi)部計時器,一旦判斷出A和B的狀態(tài)發(fā)生變化時,關斷計數(shù)器,讀出計數(shù)器的值,算出所需的時間,然后由此時間判斷出在哪一個門限值之間,從而設置正確的步長,達到自動變步長的目的。為了使單片機盡可能地把時間花在檢測轉輪的變化上,所以在內(nèi)部計數(shù)器的設置上我們采取分頻數(shù)選大一點的措施,即執(zhí)行128條指令時內(nèi)部計數(shù)器中斷一次。圖3給出程序的框圖。
圖 3
在實際產(chǎn)品中,也有采用直流電機來實現(xiàn)變步長功能的方法。對于永磁式直流電機而言,當轉動電動機的轉子時,電動機的線圈中會流過一定的電流,表現(xiàn)在電動機的接線端口上就有一定的電壓,當電動機的轉子正轉時,電機輸出為正
【基于單片機的選頻表自動變步長的設計實現(xiàn)】相關文章:
基于JSP網(wǎng)頁自動生成工具的設計與實現(xiàn)03-18
基于Web的單片機遠程監(jiān)控系統(tǒng)的設計與實現(xiàn)03-07
基于單片機控制的數(shù)字氣壓計設計與實現(xiàn)03-18
基于單片機的自動音樂播放器的設計(一)03-07
基于信號接口的自動測試系統(tǒng)軟件的設計與實現(xiàn)03-18
基于PIC單片機的熱能表研制03-18
基于單片機的MicroDrive接口設計03-20