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