白豐裕 趙晉芳 沈陽工學院機械與運載學院
在當今社會飛速發展的今天,生產中常用大多采用流水線技術進行產品生產作業,如何對其線上的產品進行實時的、有效的、精確的自動計數成為生產廠家十分關注的問題。傳統的機械式或電子式計數器(主要是用數字電路集成組件組成)電路比較復雜,元器件數量較多,具有故障率較高,維修比較困難等缺點,而且其功能不易更改且功能過于單一,適用范圍較窄。基于單片機為核心控制的計數器有著能夠實時、精確、可靠、穩定等計數優點,廣泛的應用于各行各業,逐漸成為廣大廠家的首選自動計數裝置。
單片機又稱單片微控制器,它不是用于完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機。和與計算機相比,單片機只缺少了輸入/輸出設備,因此,概括來講,一塊芯片就成了一臺計算機。AT89C51系列單片機的命名方式為:AT表示Atmel公司研制出來的產品;8表示單片機;9表示內部含Flash存儲器;C表示COMS的產品;51表示型號。
Keil是Keil software公司為51系列單片機開發的編程軟件,它提供了豐富的庫函數和功能超強大的集成開發調試工具。目前,行業內使用的比較普遍的是KeilμVision4版本的軟件,與Keil μVision3相比,該版本的軟件引入了更靈活的窗口管理系統,可以更好地組織多個窗口,并且更高效的開發應用程序以及其他一些新功能。
Proteus軟件是英國Lab Center Electronics公司出版的EDA工具,使用它進行單片機系統仿真設計,是虛擬仿真技術和多媒體技術相接的綜合應用。目前,它是仿真單片機的重要工具以及擁有完備的電子設計環境,它可以直接在基于原理圖的虛擬原型上編程,并配合顯示及輸出,能清楚的看到運行后輸入與輸出的效果。
在單片機中設計一個0~59的計數器,設置三個按鍵,第一個按鍵按下,計數器開始計數;第二個按鍵按下,計數器停止;第三個按鍵按下,計數器歸零。并且在Keil編程軟件中編譯,最后下載到Proteus仿真軟件中進行仿真,實現單片機中的計數器的控制的過程。
動態顯示方法。在單片機的P3.0管腳接一個按鍵,作為手動計數器的按鈕,P0.0口對用兩位的LED顯示器動態掃描顯示按鍵按動的次數,初始狀態顯示“00”,第一個按鍵按下顯示數值開始增加,直到“59”恢復初始狀態或則第二個按鍵按下,計數器停止,第三個按鍵按下顯示返回“00”狀態。
打開Proteus軟件,從元件庫中選取AT89C51單片機、電阻RES、電容CAP、電解電容CAP-ELEC、晶體震蕩管CRYSTAL以及電阻排RESPACK-8等一系列電器元件。放置元件并將所有電器元件連接而成電路然后將Keil軟件生成的“.hex”文件編輯到單片機中,對電路進行仿真,實現計數器的模擬效果,如圖1所示。
單片機P0口的8條引腳分別并聯到電阻排與顯示屏的線路上,用于控制顯示屏。P2口與顯示屏相連,用于控制顯示屏的各位與十位。P3口與按鍵相連,用于實現三個按鍵的功能。
電路元件中的極限流電阻的作用是防止流過顯示屏的電流過大而將其燒壞。電源電壓選用+21V,為保證工作電流約2mA左右,所以電阻R的取值范圍在10kΩ左右。
通過對單片機的計數器控制過程的研究,可以看出,C語言是使用Keil編寫程序的基礎,利用Proteus軟件進行單片機系統信息仿真設計是虛擬仿真技術和多媒體技術的綜合應用。利用單片機進行計數控制,只是其眾多應用其中的一個,單片機的應用的領域會更加廣泛,其發展前景會越來越好。

圖1 AT89C51單片機計數器的仿真效果圖
[1]曾慶波,張玉萍,崔巖.單片機應用技術[M].哈爾濱工業大學出版社 ,2012
[2]楊達聲,宋偉.單片機C51技術應用[M].北京理工大學出版社,2011