劉 杰,趙榮華,伍穎潔,歐周權
(湖南交通工程學院 湖南 衡陽 421000)
隨著信息技術的發展和經濟水平的提高,人們在消費觀念、消費方式方面的轉變以及對生活品質的追求也日新月異。目前,我國許多大中城市已經成為自動快遞機的新興市場,未來潛力及發展方向必將日益為廣大人民群眾關注,全新的快遞柜運營和服務模式已經來臨。通過打造智能快遞平臺,可以使消費過程更加安全和便利。
52單片機快遞柜方案設計,設一個快遞柜擁有開箱、蜂鳴、顯示三個功能,其中0表示柜子關,1表示柜子開。快遞柜主要由52單片機為控制,然后最小系統和按鍵設置模塊為輸入端,然后以蜂鳴器電路模塊,LED狀態燈指示模塊和緊急模塊為輸出端。數碼管一共有四個,而且都為陰極,分別在四個方向顯示時間,其中單片機的P1口與其陰極相連,陽極則連到74HC245芯片上,它的P0端控制來放大驅動。每個柜子都有一個LED。其P2端口連二極管四個交叉處,P3端口連接按鈕按鍵,P3端口由蜂鳴器接。顯示模塊功能:模塊功能有兩種LED和數碼管顯示,數碼管的主要功能是提醒快遞柜子的開合狀態。按鍵模塊功能:為了實現用戶進行快遞取物,按鈕控制必不可少。
單片機原理設計:由52單片機所控制的開關柜,可以控制信號燈,每個柜子都有信號燈和數碼管,從而在用戶使用時啟到重要的作用。而且旁邊的數碼管倒計時作用也必不可少,更方便人們及時把物品取出。在這基礎上,具體情況單片機都能處理,而且比較智能的調整和控制[1]。
按鍵設置模塊,它主要是選擇系統的輸入和輸出時的時間設置,讓快遞柜系統進入一個沒有故障的正常運行狀態,控制正常的開關狀態顯示和取物倒計時顯示狀態,而且同時將時間數據傳輸到LED數碼管顯示。緊急停止按鈕用于管理員進行臨時控制。這個設計系統主要由52單片機為控制,然后最小系統和按鍵設置模塊為輸入端,然后以蜂鳴器電路模塊,LED狀態燈指示模塊和緊急通過模塊為輸出端。
系統設計的功能主要是STC89C52單片機和它的外圍器件組成最小控制系統,4組發光的二極管組成顯示模塊,8個LED顯示燈柜子各2個分別構成倒計時顯示模塊,還有按鍵設置按鈕設置時間和管理員臨時控制。
本系統以單片機為主要核心,形成了一個能自動處理、自動控制為一體的閉環控制系統。所以,其硬件有52單片機、LED顯示、驅動電路、按鈕、狀態燈等組成如圖1所示。

圖1 單片機引腳圖
其中P0,P1的功能是送顯示LED數碼管的型和位,P2是用來控制發光的二極管,XTAL1和XTAL2接入晶振時鐘電路,REST引腳接上復位電路,P3用于按鍵控制。
數碼管的主要材料是半導體并且用于發光的元件。8個分段比7個分段多1個LED單元。根據可以顯示多少“8”,數字管可以分為一位、兩位、四位等。LED單元的連接方法可以分為兩種,它們分別為共陽極數碼管和共陰極數碼管。共陽極數字管是把它發光二極管的所有陽極全都組合連在一起組合成了所謂的共陽極。在共陽極數碼管的應用中,共陽極COM應連接到+5V。當場發光二極管的陰極處于低電平時,相應的場將被點亮。當場的陰極處于高電平時,相應的場將不會被點亮。普通負數字管是指將發光二極管的所有陰極連接在一起以形成共陰極(COM)的數字管。當場發光二極管的陽極處于高電平時,相應的場將點亮。當場的陽極處于非常低的水平時,相應的場不會點亮。由于價格比較便宜,并且上手容易,深受喜愛,尤其是家用電器領域。數碼管顯示圖見圖2。

圖2 數碼管顯示圖
獨立鍵盤的實現方法是使用I/O端口的電平來預判按鈕是不是已經被按下。將按鈕的一端接地,并將另一端連接到I/O端口。在程序開始時,I/O端口將被置于高電平,并且當平時按下無鍵按鈕時,I/O端口將保護高電平。按下該鍵時,I/O端口與地之間的短路會強制I/O端口為低電平。當把按鍵放開時,單片機內部的上拉電阻就會讓I/O口保持高電位。我們所要做的就是在程序中查找此I/O端口的級別,以查看是否有關鍵操作。硬件電路如圖3所示。

圖3 鍵盤控制電路圖
由于溫度采集耗費大量的時間,如果把快遞柜讀寫和檢測放在主程序中,那么會占用大多數CPU的使用,浪費大量的時間,并且使主程序使用變得滯留和延遲,所以將狀態判斷放在定時器中斷程序中執行,這樣使程序更流暢,解放CPU的占用。
定時器中斷程序是獨立于CPU執行過程的,另外執行的一個流程,不占用CPU的執行空間,在程序中設置中斷,然后用Keil C51編程軟件中的Watch T1定時器觀測溫度讀寫和檢測的時間,根據時間定時器1的初值,在主程序中開啟中斷和定時器1中斷,在中斷子程序中執行讀寫和檢測。
常常在顯示系統出現亂碼現象,也是定時器影響軟件系統的一個案例,發現定時器的開啟會影響到圖像顯示功能,在寫入指令的代碼前面不斷加入中斷的關閉,加入中斷關閉后才能正常顯示。
雖然目前由于最近幾年電源技術的快速發展,USB充電器也在不斷的更新換代中,USB充電器可以快速且穩定的輸出5V穩定電壓。但考慮到快遞柜體積大,耐用性等特點,利用變壓器將市電220V進行轉換,用494芯片控制開關管,使電壓經過整流、濾波和穩壓后獲得5V的單片機額度電壓。此方案優點在紋波比較小,對電路沒有高頻干擾,且輸出電壓較為穩定,但是缺點是電路比較大,使設計變的更大,不符合我們設計要求的小巧和便攜的特點,并且在一些山區電壓波動大且不穩定的地方,無法輸出穩定正常電壓值。
全部的程序由若干個模塊組成:主控制器最小系統模塊,顯示模塊,數碼管模塊,蜂鳴器警報模塊,功能按鍵模塊,高優先級程序處理模塊,數碼管數字顯示程序模塊等。關于52單片機的具體使用方法此處不再詳細敘述,只進行簡要列舉:開始進行變量的宏定義。其次再進行主控芯片的I/O口高低電壓。并且要將數碼管陰極字型編碼表錄入其中和錄入數組中。然后再將函數中有可能運用到的全局變量,局部變量進行變量的定義,對于函數中有可能運用到的數組進行定義。再將有可能遇到的函數名稱進行定義,然后再進行主函數的編寫,主函數一開始將定時器初始化。外部中斷初始,一開始先要將數碼管數字延時函數調用。蜂鳴器警報模塊調用函數和顯示函數調用[2-3]。