王 娟,魏 雄
(東華理工大學(xué)機(jī)械與電子工程學(xué)院,江西 南昌 330013)
多年來,一些學(xué)校使用的基本是傳統(tǒng)的打鈴鐘,以往的打鈴鐘操作不便,靜態(tài)電流大,電路復(fù)雜,可靠性低,成本高。而多功能定時打鈴鐘就有效的解決了這些問題。使用方便,可自動完成學(xué)校每天的打鈴要求,還可以隨時對任意一點的打鈴時刻,打鈴方式做調(diào)整,不影響走時。這種打鈴鐘經(jīng)濟(jì)性、穩(wěn)定性好,節(jié)省人力、走時準(zhǔn)確,能夠滿足商業(yè)貿(mào)易和學(xué)校的使用需求。
本系統(tǒng)設(shè)計的是適用于學(xué)校的多功能定時打鈴鐘,能自動完成每天的打鈴工作,顯示當(dāng)前時間 ,可以用鍵盤來校正不準(zhǔn)時間。該系統(tǒng)由單片機(jī)微型計算機(jī)AT89C51和移動寄存器74LS164以及八段數(shù)碼管,光耦器等組成。系統(tǒng)框圖如圖1所示。
圖1 多功能定時打鈴鐘的基本思路
其中微型計算機(jī)AT89C51主要負(fù)責(zé)數(shù)據(jù)處理,控制顯示,鍵盤控制等工作,是該系統(tǒng)的核心部分。
(1)鍵盤接89C51的P1口,從P1.0到P1.3口共設(shè)置了四個鍵,作用分別為開始鍵、顯示修改鍵、加一鍵、減一鍵。
(2)顯示電路中,是通過89C51的P3.0和P3.1口即串行輸入輸出口控制移位寄存器74LS164對數(shù)碼管驅(qū)動顯示。
(3)驅(qū)動電路中,我們用到 AT89C51的P2.0口,通過晶體三極管NPN8050和光藕器MOC3041,連接一個發(fā)光二級管,用可控硅來控制打鈴。
本系統(tǒng)用四個數(shù)碼管分三屏顯示月,時,分,秒。規(guī)定起始的時間為2011年6月11日00點00分00秒。
打鈴時間的設(shè)置為:上課時間50分鐘;課間休息10分鐘;上午8點上課;節(jié)數(shù)為4節(jié);下午2點上課;節(jié)數(shù)為4節(jié);晚上7點上課,節(jié)數(shù)為2節(jié)。
響鈴的時間為:8:00、8:50、9:00、9:50、10:00、10:50、11:00、11:50、14:00、14:50、15:00、15:50、16:00、16:50、17:00、17:50、19:00、 9:50、20:00、20:50。 共為 20 次響鈴,可自動實現(xiàn)而不用每次人工設(shè)置操作。
所有的運(yùn)算是采用十六進(jìn)制無符號整數(shù)運(yùn)算,定點顯示,鍵盤控制,當(dāng)需要校準(zhǔn)時間時能在鍵盤上直接操作,如清零,加時間,減時間。
(1)顯示電路。采用了串口靜態(tài)顯示,選用的驅(qū)動芯片是74LS164,用其來驅(qū)動八段數(shù)碼管。當(dāng)89C51的串行口不作通信使用的時候,串行口可以工作于移位寄存器方式,用來驅(qū)動LED靜態(tài)顯示器,這樣就可以充分利用串行口,而將并行口用到最需要的地方去。
本系統(tǒng)采用的是靜態(tài)顯示,這樣在每一個顯示輸出后能夠保持不變,僅在待顯數(shù)字需改變時,才更新其數(shù)字顯示器中鎖存的內(nèi)容。這種顯示站用機(jī)時少,顯示穩(wěn)定可靠。缺點是,當(dāng)顯示的位數(shù)較多時,占用的I/O口較多。在顯示的時候,應(yīng)該將高位的零熄滅。這樣可以減少閱讀差錯,也比較符合習(xí)慣。這種顯示功能成為滅零顯示。它的規(guī)則是:整數(shù)部分從高位到低位的連續(xù)零均不顯示。從遇到的第一個非零數(shù)值開始均要顯示,個位的零和小數(shù)部分均應(yīng)顯示。
(2)鍵盤掃描電路。鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。為了節(jié)省資源空間和費用,也為了使面板容易布置些,我們在此設(shè)計中,采用了獨立式鍵盤,僅僅采用了四個按鍵。由于節(jié)省了按鍵,但我們必須完成一些功能,設(shè)定這四個鍵為功能鍵。從引腳P1.0到P1.3下來,這四鍵分別為開始鍵、顯示修改鍵、加一鍵、減一鍵。在一般狀態(tài)下,P1.0到P1.3都是處于高電平,當(dāng)往其中一個口送低電平,則這個口所對應(yīng)的按鍵按下,進(jìn)入其所對應(yīng)的功能模式。
為了使單片機(jī)控制系統(tǒng)中各種硬件設(shè)備能夠正常運(yùn)行,有效地完成打鈴鐘各個控制環(huán)節(jié)的實時控制和管理,除了要設(shè)計合理的硬件電路外,還必須要有高質(zhì)量的軟件支持。因此,軟件在整個設(shè)計中也顯得十分重要。一個控制系統(tǒng)中程序設(shè)計得好與壞,將直接決定了整個系統(tǒng)的控制質(zhì)量和它的效率。對于多功能定時打鈴鐘系統(tǒng),它也是由主程序和定時/計數(shù)器T0中斷子程序,以及若干個子程序(如鍵盤掃描子程序、顯示子程序、判斷閏年子程序和延時子程序等)構(gòu)成,其沒一個功能模塊都實現(xiàn)了某一確定的任務(wù)。
(1)主程序。在多功能定時打鈴鐘系統(tǒng)的軟件設(shè)計中,主程序設(shè)計是關(guān)鍵。它實現(xiàn)了對定時/計數(shù)器的初始化以及開中斷,并且設(shè)定了初始的年、月、日、時、分和秒,同時還調(diào)用了鍵盤掃描子程序。
(2)子程序。外部中斷子程序,在查詢按鍵值中斷顯示,設(shè)定為優(yōu)先級中斷,其流程圖如圖6
在調(diào)試程序過程中,源程序的編輯在PC機(jī)上進(jìn)行,各程序模塊都調(diào)試通過后,再將它們組合起來進(jìn)行系統(tǒng)統(tǒng)調(diào)。調(diào)試過程只有當(dāng)硬件調(diào)試和軟件調(diào)試完成以后,再進(jìn)行系統(tǒng)綜合調(diào)試。在Keil uvision2環(huán)境下各程序模塊都能通過調(diào)試,達(dá)到了設(shè)計要求。
[1]劉樂善.微型計算機(jī)接口技術(shù)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2005.
[2]趙茂泰.智能儀器原理及應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[3]楊文龍.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998.