摘要:本文簡要介紹基于SST(silicon Storage Technology)公司大程序存儲容量的SST89E564RD單片機設計的數字自動讀數儀,給出了系統硬件、軟件的設計方法。實踐證明該系統性能穩定,抗干擾能力強,數據采集結果的分辨率高,具有較高的實用價值。
關鍵詞:SST89E564RD;AD轉換;AM29f040;液晶顯示;C51
引言
51系列單片機具有體積小、價格低、性能高、應用開發簡捷等優點,在工業控制、生產自動化、機械、電器、智能儀器儀表、信息家電、航空航天、通信導航、汽車電子等領域,都得到了日益廣泛的應用。SST89E564RD是SST公司出產的一款基于51內核結構的單片機。SST89E564RD最大的特點是具有在線調試和在線下載功能,為工程開發中的調試提供了最大的方便。該芯片中含有1K的RAM和64K+8K的內置電可擦除程序存儲器ROM。其程序存儲器達到了51內核結構單片機尋址的最大范圍,能夠滿足大容量程序存儲的要求。
單片機SST89E564RD在5V電壓時可工作在0~40MHZ,具有三個16位的定時計數器,具有8個中斷源,4個優先級,具有可編程看門狗定時器(WDT)。商用級SST89E564RD可工作在0~70攝氏度,而工業級SST89E564RD則可工作在-40~+85℃的溫度范圍內,可以極大的消減惡劣環境對它的影響。
由于SST89E564RD的上述特點,使得它可以很好的應用于測控領域。本文所介紹的DAM-l數字自動讀數儀主要應用于鉆孔傾斜度的測量,同時也可以應用于水利、石油勘探等使用環境惡劣的測量領域和一般測量環境下的測量。
數字自動讀數儀的主要性能指標為:
(1)系統的測量范圍:一2.0V~+2.0V
(2)系統分辨率:0.1mV
(3)系統精度:lmV
(4)使用溫度:0+50℃
(5)數據存儲容量:500KB

系統硬件設計
數字自動讀數儀要求可以采集兩路—2.0V~+2.0V模擬電壓信號和溫度信號,并將相應的數據進行簡單的處理、顯示、存儲在相應的存儲器中;系統實時檢測蓄電池電壓當。
電壓低于llV時系統自動報警;最終上位機通過串口讀出數據進行數據的后續處理。本系統的整個硬件結構如圖1所示,設計主要由采樣模塊、數據存儲模塊、液晶顯示模塊、按鍵模塊、串口模塊組成。
采樣模塊
由于需要采樣4路信號,因此增加了一個模擬多路轉換開關CD4051,選定采樣通道后,模擬信號通過模擬多路轉換開關經一個模擬低通濾波器進入AD轉換芯片ICL7135,ICL7135是一種4位半雙積分單片集成ADC芯片。其分辨率相當于14位二進制數;轉換精度高,轉換誤差為±1LSB;并能在單極性參考電壓下,對雙極性的輸入模擬電壓進行A/D轉換;芯片采用了自動較零技術,可保證零點在常溫下的長期穩定向;模擬輸入可以是差動信號,輸入阻抗極高。它與SST89E564RD的連接圖如圖2。
數據存儲模塊
數據存儲模塊有3部分組成:參數存儲部分用來存儲鉆井參數及傳感器參數由64Kb的E2PROMCS14WC64組成;數據暫存部分由256Kb的E2PROMCSI24WC256組成用來暫時存儲測量數據;數據保存由512KB的Flash芯片AM29f040來組成。下面主要介紹一下AM29f040。
Flash存儲器是一種可在線多次擦除的非易失性存儲器,即掉電后數據不會丟失。同時這種存儲器還具有體積小、功耗低等優點,是很多數據采集系統首選的存儲設備。AM29f040是AMD公司生產的Flash存儲器,它采用5V單電源供電的只讀存儲器,是一種電可擦除與重新編譯的器件。該器件由8個獨立的64KB的塊組成,其訪問速度可達到55~150ns。它具有自動的片內的狀態機控制編程和擦除器件、字節寫和區段擦除功能。AM29f040的內部結構框圖如圖3。A0~A18是地址線,其中A8~A1 8提供存儲區地址,行地址確定所在扇區;A0~A7選定某扇區的一個字節,扇區容量是256字節。DQ0-DQ7:數據輸入/輸出。在讀周期輸出數據;在寫周期接收數據。寫過程中寫入的數據被內部鎖存。CE:芯片使能,低電平時選中該器件。OE:輸出使能,低電平時打開數據輸出緩沖區,允許讀操作WE:輸入,寫使能,低電平時允許寫操作。Vcc為5V電源。Vss為地。工作方式有讀方式、待機方式、輸出禁止及算法選擇。

液晶顯示模塊
本設計選用了肇慶金鵬電產有限公司生產的OCM19264-2,它是一種圖形點陣液晶顯示器,主要由行驅動/列驅動器及192×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示12×4個(16×16點陣)漢字。它的數據線與SST89E564RD的PO口連接,另接8條控制線進行控制。由于其背光開啟時的功耗比較大,因此設定如果2分鐘無任何操作背光自動關掉。
按鍵模塊
本設計中的按鍵模塊用ZLG7289B,它具有SPI串行接口功能,可同時驅動64個鍵的鍵盤矩陣,其同步時鐘輸入端和串行數據輸入/輸出端與P2口的P2.0、P2.1相接,片選端由74HCl38的一個輸出端連接。
系統軟件設計
C51語言是一種專門用于51系列單片機編程的C語言。C51繼承了標準C語言的絕大部分的特性,其基本的語法也相同,但其本身又在51系列單片機的特定硬件結構上由所擴展,如sbit、xbata、pdata等關鍵字就是專門針對51系列單片機的。C51的特點就是可以使程序員盡量少地對硬件進行操作。與匯編語言相比,它在功能上,結構性、可讀性、可維護性上具有明顯的優勢,寄存器分配和尋址方式由編譯器進行管理,編程時不必考慮存儲器的尋址和數據類型等細節;指定操作的變量選擇組合提高了程序的可讀性;可使用與人的思維更相近的關鍵字和操作函數;與使用匯編語言編程相比,程序的開發和調試時間大大縮短;通過C語言可實現模塊化編程技術,從而可將已編制好的程序加入到新程序中。基于C51的以上優點,本設計的軟件由C51編寫,從而實現了系統程序的模塊化,分層次布局,使程序易于維護和擴充。系統的主程序流程圖如圖4所示。
結語
采用SST89E564RD單片機設計的DAM-1數字自動讀數儀,性能可靠,采用C51編寫程序使軟件可讀性強,易于維護。Flash存儲器AM29f040B較好滿足了系統大數據量存儲的要求,并經過實驗驗證,本儀器達到了所要求的測量精度,達到了設計要求。
參考文獻
1.趙亮,侯國銳,‘單片機C語言編程與實例’,人民郵電出版社,2003
2.王建校,‘51系列單片機及C51程序設計’,科學出版社,2002