摘 要:介紹單片微型控制系統的主要模塊,通過一種數字式力測試儀的開發,詳細介紹單片微控制系統的數據采集、數據處理及鍵盤顯示控制模塊的設計,并給出各接口的硬件連接圖以及主要芯片的性能參數和工作原理。該系統采用單片機C語言與匯編語言混合編程的方法實現系統軟件部分的設計,并詳細介紹C語言調用匯編語言子程序的方法,實驗表明該測試系統性能穩定,靈敏度高。
關鍵詞:單片微控制系統;智能儀表;C51;匯編語言
中圖分類號:TP368 文獻標識碼:B
文章編號:1004-373X(2008)06-045-02
Application of MCU Control System in Intellectualized Meter
SUN Xiangguang,CHENG Jibing,SHI Chengjiang
(Mechanical Engineering College,Liaoning Shihua University,Fushun,113001,China)
Abstract:This article introduces the chief component of MCU control system,with the design of one kind of force′ testing device this article also introduces the data acquisition,data processing and keyboard dispose parts particularly.Some parameter and operating principle of the chief slug is given by this article.The software of this system is designed by using C51 and assembler.Some program of the software is given.With the testing showing this system has a stable performance and a high sensitivity.
Keywords:single chip microcontroller system;intellectualized meter;C51
1 單片微控制系統的主要模塊
單片微控制系統是一種集數據的采集與處理、鍵盤、顯示以及控制信號的輸出為一體的微型控制系統。具有體積小、性價比高、穩定可靠、通用性強等優點,廣泛應用于工業生產的各個領域。一個典型的單片微控制系統由如圖1所示部分組成。
2 便攜式力測試儀的開發
便攜式力測試儀體積小、攜帶方便,變送器受壓或受拉后將信號傳入該測試系統,要求該系統有自動校零及能夠存儲多組數據的功能。要實現該測試儀器的功能,需完成以下幾個模塊的設計,如圖2所示。
2.1 鍵盤顯示接口的設計
該測試儀的鍵盤顯示接口采用專用芯片HD7279實現,使用該智能化芯片可以縮短產品的開發周期,減化電路和應用程序的設計。HD7279A采用串行接口方式接收和發送數據,采用動態掃描的方式顯示數據,可直接驅動8位LED數碼管及64鍵鍵盤,內部含有譯碼器。該芯片控制指令十分豐富,能夠滿足多種LED顯示狀態的需要,典型的鍵盤顯示連接圖如圖3所示。串行數據從DATA引腳送入芯片,并由CLK端同步。當片選信號變為低電平后,DATA引腳上的數據在CLK引腳的上升沿被寫入HD7279的緩沖寄存器。KEY引腳用來檢測是否有鍵按下,當有鍵按下時,KEY引腳自動置低,如果此時接收到“讀鍵盤”指令,HD7279將自動輸出按下鍵的代碼,代碼以10進制表示,鍵號即為鍵盤代碼。鍵盤顯示模塊因實時性要求不高,故采用C51語言編程,可移植性好,經修改后可方便用于其他系統的鍵盤顯示處理模塊。

2.2 A/D轉換接口的設計
該測試儀為量具類儀器,所需測試精度較高,應選用高精度A/D轉換芯片ICL7135來實現該部分的設計。

2.2.1 ICL7135主要技術指標
(1) 在6 MHz晶振下,ALE輸出穩定的1 MHz頻率(不使用MOVX命令),經CD4040B芯片4分頻后,對ICL7135輸入250 kHz的穩定頻率,此時ICL7135的轉換速率為每秒6.25次;
(2) 分辨率為 4位半,相當于14位二進制數,百分數表示為1/(212-1)*100%=0.006%;
(3) 轉換精度為±1字;
(4) 轉換形式為雙積分形式。
2.2.2 ICL7135接口電路
ICL7135接口電路如圖4所示。

2.2.3 轉換過程及程序設計
ICL7135的BUSY信號接至單片機的(INT0)引腳上,并且將定時器T0的選通控制信號GATE置1。此時定時器T0是否工作將受BUSY信號的控制。當ICL7135開始工作時,ICL7135的BUSY信號自動跳高,定時器T0開始工作;當轉換完成后,BUSY信號自動置低,在此時間內定時器T0的TH0,TL0所記錄的數據與ICL7135的測試脈沖存在一定的比例關系。ICL7135在積分過程中的時間是固定的10001個時種脈沖,反積分過程的時間由測試的脈沖信號絕定,因此將TH0,TL0所記錄的數據減去10001個脈沖即為所需數值。對ICL7135轉換部分的程序設計,為了提高顯示的靈敏度,要求該部分的程序代碼最少,運行最快,因此采用了C51語言與匯編語混合編程的方式,對于關鍵的轉換子程序部分采用匯編語言編寫,并將其改寫成可被C51語言調用的子函數形式,具體改寫方式如下:
(1) 匯編語言程序必須以C51的方法建立參數傳遞段和全局變量段,并向其他模塊公布局部數據段和局部數據位段的別名和全局變量名;
(2) 在C51語言程序中,必須將被調用的匯編子程序聲明為外部(extern)函數,將所引用的由匯編語言程序定義的全局變量聲明為外部變量;
(3) 建立項目工程文件,將上述可調用的匯編語言子程序以及調用匯編語言程序的C51高級語言程序都引入其中。進行編譯、匯編和鏈接,即可生成可執行文件“*.HEX”文件。匯編程序改寫部分如下:
NAME ICL7135;定義模塊名
?PR?_a_func?ICL7135 SEGMENT CODE;定義程序代碼段
?DT?_a_func?ICL7135 SEGMENT CODE OVERLAYABLE
?DT?ICL7135;定義全局數據段段名
;定義公共符號
PUBLIC chai;全局變量chai
PUBLIC ?_a_func?BYTE;局部數據段段名
PUBLIC _a_func;函數名
RSEG ?DT?_a_func?ICL7135;可覆蓋局部數據段
?_a_func?BYTE:
RSEG ?RP?_a_func?ICL7135;程序代碼段
_a_func:;超始地址
3 結 語
應用單片微控制系統研究開發的力測試儀是一種便攜式的測試儀器,具有體積小、重量輕、測試結果精確、抗干擾能力強等特點。由于采用混合語言編程的方式設計系統的軟件因此產生的目標代碼小、運行速度快。用該測試儀器在學校的壓力機上進行實際測試實驗,實驗結果表明,測試數據穩定可靠、重復性好、顯示敏捷、測試精度符合要求。
參考文獻
[1]徐愛鈞.智能化測量控制儀表原理與設計[M].北京:北京航空航天大學出版社,2004.
[2]張大明,彭旭昀,尚靜基.單片微機控制應用技術[M].北京:機械工業出版社,2006.
[3]李華.MCS-51系列單片機實用接口技術[M].北京:北京航空航天大學出版社,1993.
[4]朱祥賢,葛素娟.單片機應用系統的抗干擾技術\\[J\\].現代電子技術,2007,30(11):151-153.
作者簡介
孫祥廣 男,1982年出生,遼寧瓦房店人,碩士。研究方向為化工機械。
程繼兵 男,1982年出生,遼寧鞍山人,碩士。研究方向為機械自動化。
石成江 男,1962年出生,博士,教授。研究方向為機械自動化。