孟羽佳
(東北林業大學機電工程學院,黑龍江哈爾濱,150040)
基于51單片機的簡易電子鐘設計
孟羽佳
(東北林業大學機電工程學院,黑龍江哈爾濱,150040)
本文以STC89C51單片機為核心控制器,在它的引腳上接上其他電子元器件以及外圍電路,設計了一個電子時鐘。這個電子鐘顯示時間是用數碼管實現的,本設計選用的數碼管是6位數碼管,以分別實現對“時”、“分”、“秒”進行數字顯示,它們之間的間隔用數碼管上的小數點來分割,采用74HC573鎖存器來驅動六位8段數碼管,并利用石英晶振產生時鐘脈沖,并利用單片機內部的定時器計數,通過程序和外圍電路控制數碼管進行動態顯示。本文提供一種簡單且廉價的設計方案,廣大的電子科技愛好者可以參考并自行制作。
電子鐘;數碼管;STC89C51單片機
電子鐘是當前市面上十分普及的計時裝置,它成本低廉,計時準確,而且由于其顯示裝置可以發光,因此夜間也清晰可見,它的性價比是比較高的,現在人們尤其是在青年人群中,使用電子計時裝置的人數已經大大超過了傳統的上弦表。本設計采用的是目前市面上比較普遍的STC89C51單片機,它是一款8位的處理器,即數據是以8位來運算和處理的。雖然現在有很多單片機比51單片機性能好,但是價格卻很昂貴,這顯然不符合我們制作電子時鐘追求高性價比的初衷,而且選用的這款STC89C51單片機的抗干擾能力強,體積小,對于電子設計初學者來說也是比較容易的。這款單片機結合數碼管、獨立按鍵、11.0592MHz晶振、74HC573鎖存器、數碼管等器件,通過在萬用板上的焊接,或者將元件焊在事先設計制作好的PCB板上,就完成了一個電子鐘的制作。

圖1 電子時鐘總體框圖

圖2 單片機內部結構框圖
本設計采用STC89C51單片機作為主控制器,外部加上74HC573驅動數碼管。系統總體框圖如下所示。
1.1 STC89C51單片機
STC89C51單片機內部由CPU、4KB的ROM、256B的RAM、4個8位的I/O并行端口、一個串行口、兩個16位定時器/計數器等組成,可進行程序存儲、數據運算和控制外圍電路等,因此是電子鐘的正常工作的核心。其結構框圖如圖2所示。
1.2 時鐘電路原理
STC89C51單片機的時鐘信號通常由兩種方式產生:一是內部時鐘方式,二是外部時鐘方式。在STC89C51單片機內部有一時鐘振蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號,這里選用11.0592MHz的晶振。

圖3 STC89C51內部時鐘電路
1.3 數碼管顯示原理
數碼管是四位共陽極數碼管,即每位數碼管上的8個8個發光二極管以共陽極方式連接,那么數碼管的8位段選碼只要在相應位置低電平即可使某一二極管亮,若要顯示“8.”那么段選碼應為“0x00”,這樣才能使每位數碼管上的8個發光二極管都被點亮,數碼管的8個段選引腳是分別接到P0.0到P0.7引腳的,因此控制P0口的輸出信號來控制數碼管的段選。由于6位數碼管的每位的8個段選都是連在一起的,因此在段選引腳上輸入的信號會被同時送到6個數碼管上去。所以為了實現四位數碼管可以顯示不同的數字,則必須要用掃描的方式使各位數碼管輪流顯示。6位數碼管有6個位選引腳,將它們分別接到單片機的P2.0到P2.5引腳上去。這樣通過控制P2口低四位的輸出電平的高低即可控制哪一位數碼管點亮。比如將P2.0引腳置為低電平,則顯示“分鐘的十位”的數碼管允許通入段選信號,將P2.3引腳置為低電平,則顯示“秒的個位”的數碼管允許通入段選信號。這樣通過比較快速的掃描,即可實現6位數碼管輪流被位選導通。由于人眼的視覺暫留效應,因此以很快的速度掃描的話,人眼會認為是四個數碼管一起在亮。利用這個原理,我在程序中設定大約是每10us就換一個位顯示,保證人眼看到是一起亮的。6位數碼管如圖4所示。

圖4 六位數碼管引腳圖
電子鐘的硬件電路設計通過Altium Designer軟件完成,首先將需要的電子元器件所在的元件庫導入到工程中,然后將各元器件從器件庫中拖拽出來,然后在元器件之間用導線連接,在設計硬件電路時,注意電阻和電容的大小和種類,最后進行電氣規則檢查,以確定準確無誤。

圖5 電子時鐘整體電路原理圖
2.1 復位電路
單片機在初始上電時,使CPU以及其他功能部件處于一個確定的初始狀態,需要復位,但此時是自動復位。但是在單片機工作過程中,如果出現系統癱瘓,也有必要對單片機進行復位,使其從程序存儲器的內程序的起點開始工作,這是手動復位。MCS-51的復位電路包括上電復位電路和按鍵復位電路。RST為復位引腳。復位功能為單片機上電后,在該引腳上出現兩個機器周期(24個振蕩周期)寬度以上的高電平,就會使單片機復位。本設計使用的是按鍵復位電路,按下復位按鍵,電容C被充電,RST端的電位逐漸升高為高電平,實現復位操作,按鍵釋放后,電容器經內部下拉電阻放電,RST端恢復低電平。復位電路如圖6所示。

圖6 按鍵復位電路
2.2 按鍵調時電路
單片機鍵盤有獨立鍵盤和矩陣式鍵盤兩種:獨立鍵盤每一個I/O 口上只接一個按鍵,按鍵的另一端接電源或接地(一般接地),這種接法程序比較簡單且系統更加穩定;而矩陣式鍵盤式接法程序比較復雜,但是占用的I/O少。根據本設計,分別完成對“小時、分、秒”的加減設置,需要3個按鍵,還有一個按鍵用來進行12/24小時制的切換,總計需要4個按鍵即可。因此這里選用了獨立式鍵盤接法,按鍵電路如圖7所示。

圖7 按鍵調時電路
2.3 電源供電電路
在整個電路設計中,有很多元器件都有接地端,這些接地端通過導線最終都連接到一個“公共地”端,但是由于實際需要,電子鐘不可能一直處于工作狀態,所以在本設計中,在干路里加入了一個六腳自鎖開關,同時加入電源指示燈,這樣即可通過自鎖開關的通斷來控制系統工作與否,同時可以通過指示燈的亮滅判斷電子鐘電源的供電狀態。電源供電電路如圖8所示。

圖8 電源供電電路
單片機中存儲器中的程序是通過Keil C51軟件編寫程序,然后燒入到單片機中的,這樣在每次上電時,程序自動從程序存儲器中的第一行開始運行,進而實現通過單片機的引腳對外圍電路的控制。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,通過此軟件用C語言編寫單片機程序十分方便,本設計電子鐘的程序流程圖如圖9所示。

圖9 數字電子鐘程序流程圖
本簡易電子鐘是基于STC89C51單片機的一個最小系統設計,在完成原理電路圖的設計之后,要進行的是焊接工作。要準備焊錫在萬用板上焊接,焊接過程中要注意防止出現虛焊、漏焊、錯焊等問題。在焊接好后,不要忙于通電,首先要檢測有沒有短路,萬一有短路就通電,將會很麻煩,容易燒毀電路板或元器件,更容易引發安全隱患,應確保無短路再通電。本電子鐘所需的元器件購買的成本價很低,并且在制作過程中有助于理解51單片機的性能及應用方法,同時用Keil C51軟件編寫程序有助于鍛煉程序編寫能力。同時設計這個簡易電子時鐘使我運用已有的專業基礎知識,對其進行設計,分析和解決一個理論問題或實際問題,把知識轉化為能力的實際訓練,培養了我運用所學知識解決實際問題的能力。
[1] 白雪冰.張延林.單片機設計與應用[M].哈爾濱:東北林業大學出版社,2007.
[2]程光璇. 普通單片機電子時鐘的設計[J]. 電子世界,2011,(08):33-35.
[3] 謝自美.電子線路設計·實驗·測試[M].武漢:華中理工大學出版社,1992.
[4] 何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,1993.
[5] 樓然笛.單片機開發[M].北京:人民郵電出版社,1994.
[6] 付家才.單片機控制工程實踐技術[M].北京:化學工業出版社 2004.3.
[7] 朱定華.單片機原理及接口技術實驗[M].北京:北方交通大學出版社2002.11.
[8] 劉湘濤.江世明.單片機原理與應用[M]. 北京:電子工業出版社,2006.
Simple electronic clock design based on 51 single chip microcomputer
Meng Yujia
(College of mechanical and electrical engineering Northeast Forestry University, Heilongjiang Harbin,150040)
in this paper, STC89C51 microcontroller as the core controller, on its pin connected to other electronic components and peripheral circuits, the design of an electronic clock. The electronic clock display time is the realization of digital control, digital tube is used in this design is 6 digital tube, to achieve the “time”, “sub”, “seconds” digital display, the interval between them with digital tube decimal point to segmentation, using 74HC573 to drive six 8 digital tube latch, and generates a clock pulse using quartz crystal, and the use of single-chip internal timer count, through the program and control circuit in the digital tube dynamic display. This paper provides a simple and inexpensive design, the majority of electronic technology enthusiasts can refer to and make their own.
electronic clock; digital control; STC89C51 MCU
孟羽佳 (1995年),男,黑龍江省哈爾濱人,滿族,研究方向 電子技術,自動化技術,計算機技術。