?

基于C8051F040的單片機自動查線系統

2015-04-14 03:05李曉斌李玲玲
火控雷達技術 2015年3期
關鍵詞:字符按鍵導線

李 磊 李曉斌 李玲玲

(西安電子工程研究所 西安 710100)

0 引言

查線工作是產品調試之前的一道關鍵工序,它能防止因接線錯誤、接線短路造成的電路功能故障或損壞。目前,我所的生產現場還普遍采用人工查線的方式進行導線連接正確性檢查,這對于比較復雜的接線系統而言,不但耗時費力,且經常出現漏查、錯查的情況,影響生產進度。因而應用自動化的查線方式漸漸成為一種趨勢,但市場上現有的自動查線裝置主要針對接線規模很大的產品,一般使用繼電器作為查線通道切換裝置,應用面向對象的語言開發人機界面,其體積大、價格高、還必須使用通用計算機作為顯示控制設備,所以此類裝置在使用靈活性和性價比上對于一些接線規模中等或偏小的產品不具有很好的適用性。

本設計主要是以單片機和多通道模擬開關芯片為硬件基礎開發的自動查線裝置,以集成化的設計方式在一塊印制板上實現了查線裝置的主體設計,通過C 語言對單片機進行開發只用14 個按鍵開關和1 個12864 型小型字符液晶顯示屏就構成了該裝置的人機操作界面,以極為低廉的成本和簡單可靠的技術方式開發了一種便攜式的自動查線裝置,具有對150 根導線的產品進行自動查線的能力??梢赃m用于我所在產的大多數產品,能大大減輕查線操作人員的勞動強度,并能保證查線結果的準確性。

1 系統工作原理

自動查線系統的組成框圖如圖1所示,共由5個部分組成:單片機、按鍵開關陣列、液晶顯示部分、輸出開關陣列、輸入開關陣列。

圖1 自動查線系統組成框圖

從圖1 中可以看出系統主要通過兩組開關陣列及C8051F040 單片機來實現:用單片機作為核心控制器件完成測試信號的自動讀取功能;通過輸入、輸出兩組開關的共同作用,將測試信號送入指定導線的輸入端,并通過相應的輸出端子發送回單片機。具體過程如下:系統對被查電纜中的所有導線進行編號,輸出開關陣列與導線的輸入端相連;輸入開關陣列與導線的輸出端相連。當需要對某根導線進行通斷檢查時,通過按鍵輸入該導線的編號值,單片機對輸入編號進行解算后將其轉換為對輸入開關陣列的控制信號,同時控制輸出開關陣列進行掃描切換,使每根導線的輸出端逐個與單片機的測試信號讀取接口相連,單片機若在某根導線的輸出端讀取到該測試信號,就將該導線的編號值輸出到顯示器上,若輸出編號值與輸入編號值一致,說明是該導線連通,若輸出值與輸入值不一致,說明被該導線存在短路情況;若導線輸入端與任何輸出端都不連通,則查線結果顯示為“懸空”,也就是說該導線存在斷路情況。從而,整個查線過程實現了以自動的方式完成電纜指定端子的測量和結果判讀。

2 工程實現方法

本系統選用C8051F040 型單片機具有64 個通用I/O 接口,可運行于25MHz 時鐘頻率下,同時該單片機本身具有的流水線指令結構也使其擁有更高的運行速度。針對本裝置帶有按鍵開關陣列、液晶顯示器、輸入、輸出開關陣列等多個外圍設備,至少需要56個控制接口的要求,該單片機滿足最低使用要求。

單片機作為該系統的核心,需要完成以下三個功能:

(1)按鍵值讀取:讀取按鍵開關陣列的輸入值(導線編號),并將相應編號顯示在液晶顯示器上;

(2)輸出開關陣列的控制信號:對按鍵輸入值進行解算,將其轉換為對輸入、輸出開關陣列的控制信號,使輸入、輸出開關陣列分別切換到指定的通道上;

(3)查線結果顯示:將讀取到測試信號的通道編號顯示在液晶顯示屏上,并對導線懸空、輸入導線編號值超出范圍等情況進行相應的錯誤提示。

以下將逐一介紹系統各功能的實現過程:

2.1 按鍵值讀取

按鍵開關陣列由16 個點觸式開關組成,圖2 為其原理圖。通過將單片機的P0 口接至該開關陣列,采用“線反法”可以讀取16 個開關的狀態。

圖2 按鍵開關矩陣原理圖、功能圖

在按鍵值讀取的過程中,為了防止發生輸入錯誤,設定最多只能輸入3 位編號(系統最大查線數量為160 根導線),當一次輸入的編號值大于3 位時,顯示部分會清除原有的輸入值,重新從第一位輸入開始顯示;另外為了方便使用,輸入編號時不但可以直接通過數值按鍵進行輸入,還設定有兩個步進按鍵,這樣可以方便的使當前導線編號值加一或者減一,在以順序方式進行查線時這一點會帶來明顯的效率提升。

按鍵值讀取部分程序框圖如圖3所示,操作人員每觸發一次按鍵,單片機首先對被觸發按鍵的類型進行一次判斷,以便調取不同的操作。另外程序中設置有一個變量C,其作用是對輸入編號的位數進行計數,當輸入位數大于3 時,程序會清除當前的顯示。具體過程如下:

圖3 按鍵值讀取部分程序框圖

(1)如果被觸發的是數值按鍵,C 的值會加1,當C 的值大于3 時(輸入編號大于3 位),程序會清除當前的顯示值,C 的值被清0,這樣,輸入位數將從1 開始重新計數;

(2)當被觸發的按鍵是步進按鍵時,程序會對當前的顯示編號值進行相應的加減操作;

(3)當被觸發的按鍵是“確認”按鍵時,程序會認為本次編號的輸入已經完成,C 的值被清0,并且,編號值將會被單片機解算成輸出開關陣列的控制信號發送出去;

(4)“復位”按鍵被觸發時,單片機的程序將重新加載,系統進行重啟。

對編號值進行顯示時尤其需要注意的一點是,向液晶屏發送顯示內容時只能以字符變量的形式進行發送。例如,要顯示“121”這個編號值,不能直接向液晶屏發送“121”這個數字,因為液晶屏不能識別這種整形變量,最終的顯示結果會變成亂碼;正確的方法是定義三個字符變量‘1’、‘2’、‘1’并逐個發送到液晶屏上進行顯示。

2.2 輸出開關陣列的控制信號

為了滿足160 根導線的查線規模要求,系統的輸入、輸出開關陣列一共由20 個“16 選1 模擬開關”組成,每一個開關由一位使能信號來控制工作狀態:使能信號為低電平時開關處于關斷狀態,16個通道與開關的公共端都不連通;使能信號為高電平時,開關進入16 選1 工作模式。開關中的通道選擇是通過4 位2 進制編碼來實現的,編碼規則為“8421 碼”,從0000 到1111。開關陣列的原理圖如圖4所示:

本設備在解算開關控制信號時使用如下算法:

(1)先將三個用于顯示編號值的字符型變量轉換為整形數值;

(2)判斷該編號值對應于哪個16 選1 開關,并使該開關的使能位置高;

(3)判斷該編號對應于該開關中的哪一個選通通道,然后產生相應的選通編碼使開關切換到該通道上。

如前所述,顯示在液晶屏上的編號值實際上是三個獨立的字符型變量,而不是一個完整的整數形數值,所以需要通過如下辦法將其轉換為一個整數型數值:

首先將三個顯示字符變量array[0]、array[1]、array[2]轉換為三個整形變量n[0]、n[1]、n[2],這三個整形變量分別對應于編號值中的百位、十位、個位數值,然后通過公式100 ×n[0]+10 ×n[1]+1×n[2]計算出實際的編號值。

圖4 開關陣列工作原理圖

這部分功能由一個名為show_num 的函數實現,該函數的輸入參數為顯示變量數組array,返回值為編號值num,程序中的digit 數組是與16 個按鍵對應的字符數組,該函數的完整程序如下:

接下來,通過對編號的簡單運算就可以完成對開關和選通通道的選擇:

(1)計算開關編號的公式:b=int(a/16)(a-導線編號值,b-開關編號值,int(a/16)表示對運算a/16 得到的結果取整數);

(2)計算選通通道的公式:c=a%16(a-導線編號值,c-開關選通通道編號值,a%16 表示a對16 取余數);

2.3 查線結果顯示算法及程序

查線結果的顯示,實際是編號值解算的一個逆過程,依照以下步驟進行:

(1)單片機控制輸入開關陣列進行掃描,在每一個通道都進行一次測試信號的讀取;

(2)對于讀取到測試信號的通道,將該通道的編號值轉換為可顯示的字符型變量;

在轉換字符變量時,首先將編號值中的百位、十位、個位數值分別解算出來,然后將其逐個轉換為字符變量,送至液晶顯示器。

3 結論

該系統以一種簡單的硬件原理實現了查線工作的自動化,通過軟件設計上的優化實現了良好的人機交互界面,使得查線結果能夠清晰、準確的得到表達。目前該系統已投入使用,經過1年多的實踐,證明該查線系統可以準確無誤的進行導線通、斷、短路檢查,徹底消除了人工查線帶來的漏查隱患。

本文重點介紹了該系統的軟、硬件實現原理,系統軟件部分使用C 語言進行編程,因程序較長在文中只進行了部分羅列,并對其中的主要實現原理、算法進行了講解。

圖5 自動查線系統實物圖

圖6 自動查線系統工作狀態示意圖

[1]范立南,李荃高,李雪飛.單片機原理及應用教程[M].

[2]潘琢金,孫德龍,夏秀峰譯,C8051F 單片機應用解析[M].北京:北京航空航天大學出版社.

[3]盛偉荃,曾連蓀,基于C8051F040 的CAN 總線與RS-232 通信設計[J].電子設計工程,2014,22(13):191-193.

[4]李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,1998.

[5]張輝.基于C8051F040 單片機的CAN 總線測試模式研究[J].現代電子技術,2012,35(6):43-48.

[6]嚴蔡郁知.兩種LED 顯示方式應用對比[J].福建電腦.2010,(9):77-78.

[7]張毅剛,修林成,胡振江.MCS-51 單片機應用設計[M].哈爾濱:哈爾濱工業大學出版社,1992.

猜你喜歡
字符按鍵導線
基于有限狀態機的按鍵檢測程序設計
鋁棒導線在汽車線束領域的應用
東華大學研發出可體內吸收型蠶絲導線
論高級用字階段漢字系統選擇字符的幾個原則
汽車導線性能和應用分析
多按鍵情況下,單片機端口不足的解決方法
字符代表幾
一種USB接口字符液晶控制器設計
圖片輕松變身ASCⅡ藝術畫
分裂導線覆冰的數值分析與實驗研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合