隨著電子技術(shù)的飛速發(fā)展,單片機(jī)的使用率越來越高。教學(xué)之余,為了激發(fā)學(xué)生對51單片機(jī)的學(xué)習(xí)興趣,我利用89C51制作了一款電子時鐘,經(jīng)驗證這款電子時鐘簡單實用,以至于班上的每個同學(xué)都制作一款。由于51系列單片機(jī)機(jī)展小巧、程序編寫簡、功能強(qiáng)大、價格便宜等優(yōu)點,由51單片機(jī)制作的小型智能產(chǎn)品越來越多,也是電子技術(shù)相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計的首選芯片(見圖1)。
1 電路設(shè)計流程框圖(見圖2)
2 基于89C51時鐘電路的方案及原理
基于89C51時鐘電路主要由主要由微處理器電路、LED數(shù)碼管顯示電路、鍵盤電路、顯示驅(qū)動電路、時鐘模塊、電源電路等組成。89C51的管腳及技術(shù)細(xì)節(jié)可以查閱有關(guān)手冊。電路模塊的基本工作過程是:
(1)顯示電路主要由兩片74HC595和7個LED共陰紅色數(shù)碼管、LED發(fā)光二極管及限流電阻組成。74HC595是數(shù)碼管和發(fā)光二極管的顯示驅(qū)動電路,是一種8位串行輸入、8位串行輸出或并行輸出的高速CMOS移位寄存器、8位并行輸出口具有三態(tài)輸出功能(即可被程控成高阻狀態(tài))。顯示電路采用動態(tài)掃描方式驅(qū)動數(shù)碼管,即數(shù)碼管的陰極和陽極都用74HC595驅(qū)動,微處理器控制將將要顯示的內(nèi)容(7位數(shù)字段碼)快速的分時送到LED兩端。這種設(shè)計的優(yōu)點是最大限度地降低了系統(tǒng)的硬件支出(與靜態(tài)顯示電路相比)。
(2)時鐘模塊電路DS12887是美國Dalls公司生產(chǎn)的實時時鐘芯片,采用CMOS技術(shù)制成,具有內(nèi)部晶振和時鐘芯片備份鋰電池。該芯片具有良好的微處理器接口(有Motorola和Intel兩種時序可供選擇,在本系統(tǒng)中采用Intel時序)。芯片內(nèi)含128個字節(jié)RAM單元與軟件接口,其中14個字節(jié)作為時鐘和控制寄存器。114個字節(jié)為通用RAM(在本系統(tǒng)中未用),所有RAM單元都具有掉電保護(hù)功能。采用該芯片作為該系統(tǒng)的實時時鐘基準(zhǔn),是為了保證時鐘運行的高精度。
(3)鍵盤是單片機(jī)的主要輸入設(shè)備,是時間設(shè)置和控制的人機(jī)接口。本系統(tǒng)中設(shè)計了16個鍵,本系統(tǒng)中實際使用9個鍵,其余7個鍵留備系統(tǒng)擴(kuò)展用。16個按鍵的硬件連接方式是4×4矩陣。單片機(jī)對鍵盤狀態(tài)的檢測是通過動態(tài)掃描方式進(jìn)行的。這樣做的目的是大大減少了鍵盤電路所占用的單片機(jī)端口線的數(shù)量。16個鍵的鍵值讀取占用了8根I/O口線(P2口)。如果采用靜態(tài)鍵盤方式,則需占用16根口線。另外,這個鍵盤具有連擊功能,即按下某一鍵達(dá)到一定時長后,該鍵對應(yīng)的功能將得到反復(fù)執(zhí)行。利用這個連擊功能,可以快速地調(diào)整時鐘和輸入鬧鐘程序。
3 軟件編程主程序流程框圖(見圖3)
4 定時鬧鐘掃描子程序
該子程序的功能是:將事先編好的鬧鐘程序代碼從EEPROM中逐條讀出,并與當(dāng)前的實時時鐘進(jìn)行一次比較。若某一條鬧鐘程序的語句(下面有說明)中的時間代碼與當(dāng)前的實時時鐘相同,則執(zhí)行該語句對應(yīng)的鬧鐘功能。否則掃描下一條語句,直至鬧鐘程序末。
鬧鐘程序:所以鬧鐘語句的集合鬧鐘語句:由一個時代碼、一個分代碼和一個鬧鐘時長代碼組成。一條鬧鐘語句定義一個鬧鐘操作。鬧鐘程序存放在EEPROM芯片(型號AT24C16)中,AT24C16是ATMEL公司生產(chǎn)的電擦電寫串行存儲器,容量是2K字節(jié)。一周的鬧鐘程序被編成7頁,一天一頁,每一頁占256個字節(jié),AT24C16中剩下的256個字節(jié)留備用。
每條鬧鐘語句分配4個字節(jié):
第一個字節(jié):存放“時”代碼(指定 時)
第二個字節(jié):存放“分”代碼(指定 分)
第三個字節(jié):存放“時長”代碼(控制鬧鐘時間長短)
第四個字節(jié):未用。
因為一頁占256個字節(jié),那么一頁中可存放約60條鬧鐘語句,即在一天中最多可設(shè)置60個鬧鐘點。定時鬧鐘程序流程框圖(見圖4)。
5 結(jié)論
以89C51為核心制作的數(shù)字時鐘,經(jīng)過電路調(diào)試和軟件調(diào)試,可以實時時鐘的顯示和調(diào)整、整點報時、定時鬧鐘的設(shè)定、以一周為周期的鬧鐘功能。
責(zé)任編輯:YYX
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631968 -
89C51
+關(guān)注
關(guān)注
2文章
108瀏覽量
31814 -
時鐘電路
+關(guān)注
關(guān)注
10文章
236瀏覽量
50674 -
電子時鐘
+關(guān)注
關(guān)注
11文章
197瀏覽量
24449
發(fā)布評論請先 登錄
相關(guān)推薦
評論