地磅銷售報價系統的改進與實現
本文的設計系統以ATMEL89C52為核心,采用PS7219LED驅動器實現,不僅克服了目前煤礦地磅銷售系統的無法實時交易不足,而且還實現了交易數據的實時顯示以及語音提示功能。
1.引言
煤炭銷售是煤礦企業中的一個重要環節,銷售 系統的自動化程度將影響到整個煤礦的企業效率. 近幾年,各大煤礦的地銷煤系統中諸如煤的裝載、過 秤、付款等過程大都實現了自動化。但在這些自動化 系統中,整個流程對客戶來說都是不可見的,一切只 有等操作完成后,客戶才在發票上看到自己的數據, 如果有差錯或有其它修改,只能重打發票,這給銷售人員和客戶都帶來了一些不必要的麻煩。
本文計對這些情況開發的系統不僅把交易數據 傳送到前讓客戶能夠參與現場銷售,實時掌握 自己的交易情況,而且還可以實現語音提示。
2.系統硬件總體設計
本系統以ATMEL89C52為核心,采用 PS7219LED驅動器實現,系統原理如圖1所示,
2.1單片機選擇
系統中使用的單片機是ATMEL89C52。AT- MEL89系列單片機是由ATMEL公司生產,以8051為內核,內含Flash程序存儲器的MCS51兼容系列,為8031/80C51的換代產品。89C52功能強、性價比 89C52功能強、性價比高,是ATMEL89系列單片機的標準型。
2.2顯示驅動器選擇
顯示驅動器選用PS7219,它是一個高性能,低 價格的多位LED顯示驅動器。在性能上完全兼容 MAX7219,并增添了位閃等功能^其接口采用流行 的同步串行外設接口(SPI),可與任何一種單片機方 便聯接,可同時驅動8位LED(或64只獨立LED). PS7219內置一個可靠的pP監控電路,可為外部提 供一個脈寬大于140ms,觸發門限典型值為4. 63V 的高電平復位信號。
PS7219內部具有15X8RAM功能控制寄存器, 可方便尋址,對每位數字可單獨控制、刷新,不襦重 寫整個顯示器。顯示亮度可由數字控制,每位都具有 閃爍使能控制位。引腳CON置高電平,可禁止所有 顯示,達到降低功耗的效果,同時并不影響對控制寄 存器的修改。PS7219還有一個掉電模式,一個允許 用戶從1位數顯示到8位數顯示選擇的掃描界限寄 存器和一個強迫所有LED接通的測試模式。N個 PS7219級聯,可實現N*8位LED的顯示。
2.3硬件互連
系統共有六片PS7219驅動器,它們分別驅動一 個六位LED,用以顯示客戶的煤車重量、車重、煤重、 應付款、實付款和找零,把客戶的購買信息實時反饋 給客戶。PS7219驅動器采用級聯技術,把所有驅動 器的LOAD輸入連接在一起,并把DOUT連接到相 鄰PS7219的DIN上,從而使單片機和驅動器之間的 連線大大減少的同時,還使數據傳輸更加可靠。六位 LED中,針對現場實際情況,小數點使用了定點連 線,雖降低了編程量,卻不影響顯示效果。PC機通過 串口和單片機進行通訊,它們的物理連接只須一個 MAX232電平轉換電路。
3.系統軟件實現
3.1通訊協議的設計
PC機向單片機一次發送20個字節數據包,數 據包第1個字節是開始字節標志,當單片機收到數 據后,首先判斷是不是數據包的開始,然后才根據條 件做出是否接收的決定。從第2字節至19字節是數 據字節。最后一個字節是數據包的校驗碼,它是前面 18個數據字節的總和,這個總和首先在PC機中算 好,然后填充到數據包最后一個字節中發送到單片 機。單片機收到數據后,也把18個數據字節相加,然 后與最后一個字節值比較,如果相等,則表明接收數 據有效,否則接收數據無效。無論是在PC機還是在 單片機中,數據相加時,如果出現進位溢出,都舍掉 進位數據。這種方法有效地避免了數據傳輸時線路 的干擾問題,保證了整個系統的可靠性。
3.2單片機程序實現
單片機程序設計由串口、定時器、7219初始化 模塊以及數據接收和發送模塊組成。流程圖如圖2所示。
3. 2.1接收數據
3.3 PC機程序設計
PC機程序用Delphi開發,其核心為數據的打 包與發送模塊和語音提示模塊。數據包的發送功能 由串口通訊控件SPCOMM實現。語音提示功能則 借助于事先錄制并加載成工程資源的語音庫,通過 調用底層的Windows API函數實現具體的語音播 放。
3.3.1數據的打包與發送
根據數據通訊協議,數據發送前先對數據打包。 打包時用format函數把單個數據格式化成6位數, 不足6位的前面補零,然后把所有數據組成一個字 符串。數據通訊使用免費串口通訊控件SPCOMM, 該控件使用比較簡單,并且它具有豐富的與串口通 信密切相關的屬性及事件,提供了對串口的各種操 作,而且還支持多線程。發送數據時先把打包后的數據以字節為單位送到SPCOMM的sbuf[i]里面,然 后調用senddata函數把數據一次全發送出去。
3.3.2語音程序設計
語音程序設計的關鍵是設計語音庫,把要在程 序中可能出現的語音字符分別錄制成單個文件,然 后自定義成工程資源,供程序運行時調用。語音提示 時要把提示內容先統一轉化成漢字字符串,再根據 判斷使用API函數PlaySound調用語音庫,從而實 現語音功能。
4.結束語
依據本文設計方案,以ATMEL89C52為核心, 采用PS7219LED驅動器,實現了地磅銷售系統交易 數據的實時顯示以及語音提示功能,有效地克眼了 地磅銷售中用戶不能實時參與交易的不足,同時提 高了交易數據的實時透明度,具有很大的現場應用 價值。