王節旺
(中國人民解放軍海南三亞92571部隊 計量站,海南 三亞572021)
隨著電子技術的日新月異,單片機的應用技術已逐步成熟,市場上也出現了基于單片機技術的儀器設備。本文基于STC89S52RC單片機設計了一種計時系統,可精確到小數點后2位,計時系統可實現開始計時、停止計時并保持讀數、復位等功能。
STC89C52RC單片機是宏晶科技推出的超強抗干擾、高速、低功耗單片機,指令代碼完全兼容傳統8051單片機。其最高頻率時鐘為80 MHz,Flash存儲器為8 KB,RAM為512 bit,E2PROM為2 KB,可反復擦寫編程。工作溫度為-40℃~+85℃,內置看門狗電路,內部電源供電系統、時鐘電路和復位電路都經過特殊處理。“6時鐘/機器周期”和“12時鐘/機器周期”可在ISP編程時反復設置。
系統硬件包括STC89C52RC單片機、中斷鍵(按下后計時系統停止計時,顯示系統保持讀數)、顯示系統。
顯示系統硬件介紹:4 bit 8段數碼管 (本論文選用的是共陽極數碼管),54/74LS138譯碼器 (位選控制),74HC245雙向總線發送器/接收器(控制數碼管顯示)。
顯示系統采用單片機驅動數碼管顯示時間讀數,由54/74LS138譯碼器控制數字顯示的位置,74HC245雙向總線發送器/接收器控制數碼管顯示數字及何時開始顯示(上電開始計時即開始顯示)。顯示系統原理圖如圖1所示。

本文中只用到了8位數碼管中的4位。
顯示系統程序設計如下所示:

當啟動開關按下時,儀器設備開始工作,并將電壓信號傳送給STC89C52RC單片機的電源輸入端即VCC端,STC89C52RC單片機定時器開始工作,同時顯示系統開始工作即開始計時。當中斷鍵按下時,計時系統停止計時,顯示系統保持停止時的讀數。P2口控制數碼管顯示的數字,P1接口接顯示系統54/74LS138譯碼器做為位選控制。
本設計中STC89C52RC單片機采用單片機中定時器/計時器0作為計時器。系統結構如圖2所示。

圖2 計時系統結構圖
主程序設計如下:


完整程序設計如下所示:



以上程序是作者針對所用硬件設計的程序,部分程序內容需根據具體硬件做適當更改。
顯示誤差計算:
定時器工作方式2最大計時為 28μs,即 0.256 ms,10/0.256=39.062 5。此時設置計數器中斷運行過程中變量為39,即 1 s誤差為 0.062 5 ms。
[1]楊文龍.單片機原理及應用[M].西安:西安電子科技大學出版社,1997.
[2]徐仁貴.微型計算機接口技術與應用[M].機械工業出版社,北京 :2005.
[3]陳良銀,游洪躍,李旭偉.C語言程序設計[M].北京:清華大學出版社,2006.