圖1是一臺使用8個老式熒光數碼電子管(型號NB-3)的數字鐘電路,數碼管使用ZnO:Zn熒光粉。工作時發出綠色的光,在夜晚顯得異常漂亮。
該數字鐘可以滾動顯示月、日、時、分、秒。以及當前的室內溫度,通過三個按鈕可調整時間。并可設置一個鬧鈴,也可通過數字鐘上的串口與電腦聯機,自動校準時間。
一、工作原理
AT89S52單片機給數碼管提供顯示信號、讀取DS1337上的時鐘信號、讀取DS18820溫度傳感器信號、提供鬧鈴輸出、處理按鍵輸入。
以及與PC機通訊。自動校正時間。
熒光數碼管顯示原理:如圖2所示,最左邊的為燈絲。燈絲通電加熱到700。左右后,會在柵極電壓的加速作用下發射電子。中間是柵極。上面是很細的網狀屏,加電后用于提供加速電場。最右邊的是涂了熒光粉的筆畫電極。在電路的輸出電壓作用下,某些筆畫電極被加上電壓。在柵極的加速電壓作用下,高速的電子就會轟擊這些電極上的熒光粉,使涂在筆畫電極上的熒光粉發出綠色的光。
另外。熒光數碼管需要一組1.2V直流電壓。用于加熱燈絲,一組15V直流電壓,用于提供柵極電壓和筆畫電極電壓。而單片機的工作電壓為5V,所輸出的電平無法直接驅動該數碼管。所以要通過16個4N25光耦進行驅動。其中,G1~G8用于位驅動,G9~G16用于段選擇。
數碼管的顯示采用動態掃描方式,首先用單片機選通第一位數碼管,即向P2.0喻出低電平,P2口其他引腳為高,通過光耦使數碼管1的柵極導通。形成加速電場,然后給單片機的PO口置數。通過光耦G9~G16驅動數碼管使第一位數碼管的筆畫發光。然后將PO口置零。同時關斷第一位P2.0。選通第二位P2.1使之輸出低電平。再給PO口置數……直到8只數碼管的數送完。再重復第二輪的掃描。
時鐘信號由DS1337提供。DS1337串行實時時鐘/日歷芯片具有兩個可編程日歷鬧鐘與一路可編程方波輸出。時鐘/日歷可以提供秒、分、小時、星期、日、月、年信息。這里只使用月、日、時、分、秒和鬧鐘功能。將芯片的引腳SQW、SDA、SC1、INTA連接到單片機。單片機運行時由內部的定時器TO產生1秒鐘的時鐘延時,然后每隔半小時讀取一次時鐘芯片的信號。用于校準單片機的內部時鐘。K1~K3分別接P1.0~P1.2。K1為設置鍵。K2和K3分別為數字加鍵和數字減鍵。調整時鐘時。每按一次K1就切換一次調整的項目。依次為月、日、時、分、秒、鬧鐘的時和鬧鐘的分,直到全部切換結束。重新回到滾動顯示時鐘狀態。在設置過程中按一次K2對調整項目加1,按一下K3減1。
在沒有進入設置狀態時,長按K3鍵兩秒,將會停止顯示時鐘。并進入接受電腦校時狀態。如果在一分鐘內沒有收到電腦傳過來的數據。將自動恢復時鐘顯示。溫度顯示部分使用單總線溫度傳感器DS18820.連接到P1.4口。單片機讀取傳感器的溫度值。然后與時間一起同步顯示。數字鐘上留了一個DB9的串口通訊座與PC機。單片機通過MAX232芯片和串口插座連接到電腦上。筆者在電腦上用VC++6.0寫了一個很小的軟件。界面如圖3所示。用于時間的校準。將數字鐘連接到電腦上。長按K3鍵兩秒,進入自動校時狀態。然后點擊軟件上的“自動校準”。軟件會通過串口發送一組包含當前計算機的時間的信息。數字鐘接收到信息后經過簡單校驗。傳人DS1337中。同時更新單片機內部時鐘。開始滾動顯示時間。
二、組裝及調試
為了與PC機進行通訊。電子鐘試輸出。在P3.2和P3.3口上連接了兩個指示燈。可以通過編程實現各種狀態的指示。在本電子鐘上沒有使用。有興趣的朋友可以自己編程試一下。
數字鐘一共用了三組直流電源。分別為1.2V、15V、5V。直流1.2V要求能提供約500mA的電流(每個燈絲的實測電流為55mA)。
如果用1M317芯片產生1.2V電壓的話。要特別注意穩壓芯片的散熱。其他兩組電源的要求不高。注意,除電子管外。所有元件的工作電壓都是直流5V。在與PC機的串。
口連接時,不要熱插拔,因為串口不是熱插拔設備,強行插拔可能會燒毀串口頭。
如果手頭沒有熒光數碼管。
可以用普通IED數碼管代替本數字鐘的電子管,并精簡掉給電子管供電的15V和1.2V電源。
注意,熒光數碼管的壽命一般為5000小時左右。因此不能長時間開著。也不能將數碼管長期置于強光下,因為長期在強光燈選擇11.0592MHz的晶振,時鐘芯片DS1337需要32.768kHz的晶振。注意不要用錯。另外。蜂鳴器最好用直流的。以便于調管筆段上的熒光粉會老化,變得很暗
-
數字鐘
+關注
關注
9文章
160瀏覽量
31343 -
電子管
+關注
關注
67文章
279瀏覽量
39345
發布評論請先 登錄
相關推薦
評論