一種閃光信號盒的智能測試
中航工業洪都航空集團制造工程部特設實驗室 關華云
江西航天海虹測控技術有限責任公司 何 平
【摘要】本文闡述了單片機的工作原理,以及如何用單片機實現對一種閃光信號盒的測試,解決了閃光信號盒的測試方法問題,同時也揭示了一種更加現代的測試方法:用單片機實現的對產品的智能測試。
【關鍵詞】單片機AT89C51;低頻濾波;光電隔離
一、引言
單片微型計算機作為微計算機家族中的一員,問世以來,以其體積小、重量輕、抗干擾能力強、對環境要求不高、價格低廉、可靠性高、靈活性好、開發也較為容易,越來越受到人們的重視和關注。AT89C51單片機是最常用的單片機之一,它采用靜態CMOS工藝制造,采用PDIP/DIP、PQFP/TQEP和PLCC/LCC等封裝,最高工作頻率為24MHz,片內采用FLASH存儲器,又稱FLASH單片機;錯誤編程后仍可重新編程使用,直到正確為止,不存在報廢。FLASH存儲器的空間為4KB或8KB,可進行1000次擦寫操作,片內含128~256字節的RAM。即使是非計算機專業人員,通過學習一些專業基礎知識以后,也能依靠自己的技術力量,來開發所希望的單片機應用系統。一種閃光控制盒需要檢測輸出信號的一分鐘內的通斷次數以及通斷時間的比值,用通用的數字電路無法實現通斷時間比值的直接顯示。故采用單片機作為該測試系統的核心器件,實現對電氣產品性能的測試,其測試步驟簡單,操作直觀、數字化、智能化,能準確、穩定、快捷地進行測試。本文通過著重討論該測量系統的軟、硬件的實現。但由于本人水平有限,其中觀點難免膚淺,敬請各位老師、專家指正。
二、概述
一種閃光信號燈的控制盒,在裝配前需要進行檢測,由于需要檢測輸出信號的一分鐘內的通斷次數以及通斷時間的比值,用通用的數字電路無法實現通斷時間比值的直接顯示。故采用單片機作為該測試系統的核心器件,實現對電氣產品性能的測試。測試儀的原理簡述如下:接通電源后,產品開始工作,按下測試開關,兩個8253計時/計數器同時開始工作。一分鐘后,經光耦隔離后送到單片機相應的引腳,單片機將定時/計數器數值,存入RAM單片機將相應數值進行轉換和計算,最后由液晶屏顯示。測試儀原理方框圖如圖1所示。
圖1 測試儀原理方框圖
圖2 電路圖
三、硬件電路的實現
1.硬件的整形濾波
由于所測量的信號有很多低頻的干擾信號,故需要將測量信號進行整形濾波,使用常用的555電路進行整形濾波處理,電路圖如圖2所示。
將555集成塊接成施密特觸發器,當2腳上的輸入信號頻率高于2.2RC時,C10上的所充的電荷會通過Q1所卸放掉,當2腳上的輸入信號頻率低于2.2RC時,C10上的所充的電荷不會通過Q1(Q1不工作)所卸放掉,故在3腳上就會產生一個與2腳相對應的翻轉信號。我們只要調整P1到合適的值,就能將低頻干擾信號給濾除掉,從而給單片機一個比較理想的被測信號。
2.時間和頻率的測量
1)標準頻率產生電路
圖3 電路圖
圖4 電路圖
如圖3所示,這是一個利用晶振的高品質因數和極好的選頻特性組成的晶體非對稱式多諧振蕩器及CD4518分頻電路。我們知道只要將兩個工作在轉折區的與非門經耦合電容相連組成正反饋環路,就能產生自激振蕩。在輸入輸出端接入反饋電阻R15來給門電路設置適當的輸入偏置電壓,使門電路在靜態時能工作在電壓傳輸特性的轉折區或線性區。而門U10A的輸出電壓作為門U10B的靜態偏置電壓,就使門U10B也工作在轉折區,這樣構成的電路沒有穩定狀態,只能在兩個暫穩態之間往復振蕩。其振蕩頻率與外接R、C無關,而取決于晶振本身的固有頻率。門U10C和門U10D以及電阻R6、R8則組成一施密特觸發器,將門U10B輸出的信號進行整形,使它具有很好的前后沿。CD4518是雙2-10進制同步加法計數器。在這里實現的功能是對CLK端信號進行分頻,CD4518的3腳輸出二分頻信號,4腳輸出四分頻信號,5腳輸出八分頻信號,6腳輸出十分頻信號;即每個CD4518內的一個單元能將CLK端的信號進行十分頻。100KHZ的頻率信號經過一個CD4518的兩個單元,便可得到所需的1000HZ頻率信號。
2)計時/計數電路
由于需要測量一分鐘閃爍的次數和時間,故運用了二只8253三合一的減數計數器,電路圖如圖4所示:
U6的計數器0為一分鐘定時器,計數器1為接通次數計數器,計數器2為斷開次數計數器,U7的計數器0為接通時間計數器,計數器2為斷開時間計數器。為了調試和編程的方便,我們使二只8253都工作在方式0(計數結束中斷方式)該工作方式為OUT計數過程中輸出低電平,當計數器減為0時,OUT腳輸出高電平,GATE為低時,中止計數,GATE為高時,允許計數。將1KHz的標準頻率置于U8的CLK0腳上,初值設為60000,GATE腳上與啟動按鈕相連,當按下啟動按鈕后,一分鐘后,OUT0腳輸出一個高電平,通過反相器后輸到AT89C51的0中斷腳上,這時AT89C51進行中斷響應,將8253中的時間和頻率值讀入AT89C51中進行處理。
3.光電隔離電路
單片機系統中,一旦出現干擾,就會影響指令的正常運行,出現控制失靈,所以采用光電耦合器將單片機與前向后向的電路隔開,防止干擾從過程通道進入單片機。
圖5 電路圖
圖6 電路圖
光電耦合能有效的抑制尖峰脈沖以及各種噪聲干擾,其器件的輸入端配置發光二極管作發光源,輸出端配置光敏三極管作受光器,工作時以光作為媒介來傳遞信息,因而輸入和輸出在電氣上是完全隔離的。它的輸入阻抗小,而干擾源的內阻則很大,所以分到光電耦合器輸入端的電壓很小,另外由于干擾噪聲的能量小,只能形成微弱電流,而光電耦合器件輸入端的發光二級管是在電流狀態下工作的,干擾噪聲即使有很高的電壓幅值,(下轉第101頁)(上接第99頁)因為沒有足夠的電流發光二極管不能發光,干擾就被抑制掉了。此外它還具有以下特點:體積小,重量輕,使用方便,性能穩定;不受磁場影響,不需磁屏蔽,抗干擾能力強;無觸點,壽命長,響應速度快,可以傳輸高達幾MHz的脈沖信號;隔離電壓等級高,輸入和輸出兩端之間絕緣電壓可達萬伏以上。
4.后端顯示電路的實現
采用LCD液晶顯示器作為顯示部件,電路圖如圖6所示。
用377鎖存器和液晶顯示器相連,數據通過377鎖存后輸給液晶顯示器,根據液晶顯示器指令要求單片機很容易模仿出液晶顯示器所需的時序信號。
四、軟件電路的實現
1.編程說明
根據飛機航行閃光燈信號盒的測試條件及測試儀電路的設計,該測試儀的程序分四大模塊:主程序、中斷程序、數據轉換、參數顯示模塊。
圖7 主程序流程圖
1)主程序
當使用者將產品接好,設備電源及產品選擇按鈕均符合測試要求,CPU在檢測到啟動標志置位后(中斷處理),方可繼續執行主程序。首先進行系統初始化:對需用的片內RAM和片外RAM的分區設置;信號接收端口芯片INTEL 8253對應通道的控制寄存器和計數初值寄存器的設置;輸出端口部件LCD初始化(即清顯示、光標復位、置輸入模式等);系統開中斷。程序執行至此,CPU送出“READY”字樣,以供LCD顯示。之后,CPU進入中斷等待(即CPU檢測P3、3口線的低電平信號的產生)。在測試產品工作了一分鐘后,外中斷源0發出中斷請求。CPU給予響應,執行中斷服務子程序。中斷返回,CPU則完成數據轉換,最后將測試結果通過LCD顯示。程序流程圖如圖7所示。
2)中斷程序
中斷程序部份是指CPU在關閉全局中斷后,完成將端口信息存入片外RAM的數據處理程序。實際要解決如何把INTER 8253中的十六位計數值讀出,并存入HM6264的指定單元。但由于8253中的計數器為減1計數器,且讀出的值并非是計數值,需轉換后才能使用。程序流程圖如圖7所示。
3)數據轉換
CPU把在中斷程序中寫入RAM的數值做相應的計算。其間有加減乘除運算、取絕對值、數值形式轉換等。由于微型計算機與顯示終端LCD之間的通信,采用的數據編碼形式為ASCII碼,故需將此模塊計算好的值強制轉換成ASCII碼值,并存儲起來。
4)參數顯示
該部份程序的編寫需熟習字符型LCD顯示器的指令系統和內部結構。其結構包括:顯示數據RAM-DDRAM、字符發生器ROM及RAM、指令寄存器、數據寄存器等。在此,程序的編寫是先讓CPU發清除‘READY’顯示狀態的命令,再進行測量所得參數顯示的功能設置,最后完成DDRAM的寫入。在把對應參數的ASCII編碼送入DDRAM時,考慮到LCD顯示器的D0~D7引腳是8位雙向三態I/O口線,故需在送待顯示字符代碼的指令前,要以控制命令方式把DDRAM的地址送出,實際上是確定待顯示的字符顯示位置。程序流程圖如圖7所示。
五、結束語
本文較為系統地介紹了用單片機實現對閃光信號盒的智能測試,該測試系統,采用自動工作方式,顯示直觀、操作簡便,能很好地抑制電氣產品的電磁干擾問題,為我以后的學習和工作提供了經驗和思路。
參考文獻
[1]馬忠梅等.單片機的C語言應用程序設計[M].北航出版社.
[2]張友德等.單片微型機原理應用與實驗(第一版)[M].復旦大學出版社.
[3]何立民.MC-51系列單片機原理應用系統設計[M].北京航空航天大學出版社.
[4]清華大學電子學教研室.數字電子技術基礎簡明教程[M].高等教育出版社.
[5]張培仁,楊建景.點陣字符液晶顯示器與單片機接口[J].電子與電腦,1992(8).
作者簡介:
關華云(1978—),女,遼寧錦州人,學士,現供職于中航工業洪都航空集團制造工程部特設試驗室,研究方向:航空電氣。
何平(1978—),男,陜西西安人,學士,現供職于江西航天海虹測控技術有限責任公司,研究方向:航空電子儀器。