新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的智能儀器前面板的設(shè)計實現(xiàn)

基于單片機的智能儀器前面板的設(shè)計實現(xiàn)

作者: 時間:2011-12-07 來源:網(wǎng)絡(luò) 收藏

引言:

本文引用地址:http://m.butianyuan.cn/article/172361.htm

許多板通常是由諸多的旋鈕、按鍵組成的混合界面。傳統(tǒng)的板上通常有兩種旋鈕,一種是電位器,用于調(diào)節(jié)連續(xù)變化的量;另一種是檔位開關(guān),用于調(diào)節(jié)間隔變化的量。它們嵌入在測量電路中,可以直接改變的參數(shù)和設(shè)置。而在現(xiàn)代儀器[1]中,這兩類調(diào)節(jié)均可以通過數(shù)字旋鈕由微控制器將用戶操作的變化量反饋給儀器的主處理器,再由主處理器改變儀器的參數(shù)和設(shè)置。所以,儀器上的數(shù)字旋鈕和傳統(tǒng)儀器上的旋鈕在原理和處理方法上有很大不同。為了節(jié)省成本,面板處理往往采用體積小、性價比高的(MCU)。運用不但經(jīng)濟靈活,并可充分利用MCU邏輯處理的優(yōu)勢,大大簡化外圍連線,對旋鈕按鍵混合控制系統(tǒng)[2]的處理尤為突出。

采用LPC900系列的P89LPC922FLASH軟件處理。P89LPC922采用高性能的處理器結(jié)構(gòu),6倍于標(biāo)準(zhǔn)80C51器件的速率,并自帶波特率發(fā)生器。充分考慮單片機的資源和處理速度,分模塊——按鈕電路,旋鈕電路,串口電路,掃描電路。用protel完成電路原理圖,制作電路板,在KeilC環(huán)境下編寫軟件。軟件和硬件相結(jié)合,協(xié)同整個面板。

1 硬件及原理

1.1 旋鈕電路設(shè)計

1.1.1 數(shù)字旋鈕的工作原理

本設(shè)計選用常見的編碼器EC16系列作為數(shù)字旋鈕,如圖1。4、5腳供固定之用,3腳接VCC(+5V),1、2腳在轉(zhuǎn)動時輸出連續(xù)脈沖。這種旋鈕只有兩種操作,即正旋和反旋。通過示波器可以觀察到如圖所示的旋鈕轉(zhuǎn)動時1、2腳的波形。

110.jpg

每次轉(zhuǎn)動1、2腳都會產(chǎn)生脈沖信號,正旋時1腳先變高,反旋時2腳先變高。也就是說,正旋和反旋輸出信號的相位不同,只要檢測出相位,就可以識別正旋和反旋。

1.1.2鑒相電路設(shè)計

本文設(shè)計的鑒相電路見圖2,附箭頭所指數(shù)字標(biāo)號對應(yīng)的波形(以正旋為例)。旋鈕的1、2腳分別與D觸發(fā)器的D端和CLK端連接,根據(jù)上面所述旋鈕的工作原理,正旋時1腳(D)先變高,2腳(CLK)上升沿時Q端輸出1,反旋轉(zhuǎn)時輸出0, 端則相反。因此根據(jù)Q、 輸出為10還是01就可以判斷出轉(zhuǎn)動方向。但是,如果繼續(xù)正旋,Q、 將維持現(xiàn)狀(圖2中的④③),因此還必須檢測脈沖個數(shù)來反映轉(zhuǎn)動量。這時不用考慮1、2腳的相位,可將2個信號相與產(chǎn)生新的信號(圖2中的⑤),可利用該信號分別和Q、 相與即可分辨出每次旋鈕的轉(zhuǎn)動。

111.jpg

最后的輸出為⑥和⑦,正旋時⑦線有脈沖,⑥線一直為低,反旋則兩根線相反。至此完成了鑒相,下面要解決如何與單片機接口的問題。

1.2 掃描電路設(shè)計

用戶操作面板時,為了能及時準(zhǔn)確地識別哪個按鈕和哪個旋鈕動作,將按鈕和旋鈕統(tǒng)一掃描和編碼,發(fā)送給主機。綜合按鈕和旋鈕特點,根據(jù)實際需要采用了8×8的矩陣式鍵盤結(jié)構(gòu)[3],前4行為按鈕,后4行為旋鈕。以列信號為掃描輸出信號,行信號為檢測輸入信號。

掃描電路的核心是單片機。一般掃描電路用一個I/O口輸出掃描信號,另一個I/O口讀入檢測信號。P89LPC922只有兩組I/O雙向口:P0口和P1口。P1口需要定義一些讀寫控制信號,所以只用一個P0口輸出掃描信號及輸入檢測信號,這樣P0口就存在讀寫控制和時序問題。既要輸出列值又要讀入行值,必須要有數(shù)據(jù)鎖存器和緩沖器之類的芯片配合完成。設(shè)計時采用了數(shù)據(jù)鎖存器74ALS373和總線接收/發(fā)送器74ALS245。單片機的引腳P1.4控制74ALS245的輸出使能端,如圖3中的②;P1.7控制74ALS373的數(shù)據(jù)鎖存端,如圖3中的①;P1.3控制74ALS245的數(shù)據(jù)傳送方向,如圖3中的③(這里為恒為低,從245到單片機的P0口)。

112.jpg

掃描電路的工作原理是:單片機先讓②為高,使74ALS245輸出為高阻態(tài),然后從P0口輸出列掃描數(shù)據(jù),再給①高電平,延時后將①變低,使74ALS373鎖存列掃描信號,將②變低使74ALS245輸出有效,由于數(shù)據(jù)方向恒定,這樣行值數(shù)據(jù)就從245輸入到單片機的P0口。

為了將按鈕和旋鈕的掃描統(tǒng)一起來,我們把正旋和反旋當(dāng)做不同的兩個按鈕按下,旋鈕的正旋或反旋也對應(yīng)唯一的行值和列值。這里的巧妙之處就是采用了三態(tài)緩沖器74LS240,每個旋鈕電路的輸出信號⑥和⑦(即圖2鑒相電路輸出)分別接到74LS240的兩組輸入端,兩組數(shù)據(jù)的輸出都接到4根行線,由列掃描線控制輸出哪一組數(shù)據(jù)。比如:掃描第二列,⑦對應(yīng)那組輸出到4根行線供單片機讀入,此時⑥對應(yīng)那組的輸出被禁止。若第二列有旋鈕正旋,則其對應(yīng)的⑦上有脈沖,經(jīng)240反相后,單片機檢測到低電平數(shù)據(jù),與按鈕按下的情況一致。圖3中只用了一片74LS240,可以接4個旋鈕,這個電路可以擴充到四片74LS240接16個旋鈕。

1.3 與主機通信電路設(shè)計

用串口與PC機通信要用串口連線,我們將其3、5腳引出,通過一片MAX232,即可與單片機的串口連接,其電路相對簡單,這里不多做敘述了。外部晶振頻率選用高頻晶振12MHZ,用922自帶的波特率發(fā)生器,設(shè)置波特率為9600,每個字節(jié)發(fā)送時間約1ms,可以滿足高速率和準(zhǔn)確性的要求。波特率太低影響速度,太高影響串口數(shù)據(jù)傳輸?shù)恼_性。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉