景維斌
(江蘇省徐州醫(yī)藥高等職業(yè)學(xué)校,江蘇徐州,221116)
圖1是利用AT89C51單片機(jī)構(gòu)成數(shù)字時(shí)鐘的邏輯電路及其仿真圖。圖中數(shù)碼管為共陽(yáng)極結(jié)構(gòu),共陽(yáng)極接高電平,段碼低電平驅(qū)動(dòng)。4位一體八段數(shù)碼管高兩位顯示分,低兩位顯示秒。4個(gè)顯示位的8個(gè)相同段(A、B、C、D、E、F、G、DP)并聯(lián)接入同一位I/O口(P01~P07),各位的共陽(yáng)極分別接入不同的I/O(P24~P27)口形成各位的分時(shí)選通。由于位電流較大,而單片機(jī)輸出電流有限,故加一級(jí)反相器。欲顯示哪一位,則其位選線應(yīng)為高電平,即反相器輸出高電平,輸入低電平,也即單片機(jī)對(duì)應(yīng)的I/O口輸出低電平。段碼及位選線均由程序適時(shí)提供有效電平。欲調(diào)節(jié)時(shí)間,可通過按鍵進(jìn)行,也是利用程序控制。
圖1 AT89C51單片機(jī)構(gòu)成數(shù)字時(shí)鐘的邏輯電路及仿真
可見,同樣可實(shí)現(xiàn)顯示60分60秒和時(shí)間的調(diào)整。AT89C51單片機(jī)構(gòu)成的數(shù)字時(shí)鐘電路比傳統(tǒng)數(shù)字時(shí)鐘電路需要的元器件少得多,電路結(jié)構(gòu)簡(jiǎn)單得多。加上蜂鳴器,還可以實(shí)現(xiàn)報(bào)時(shí)功能。
(1)硬件電路的原理框圖
AT89C51時(shí)鐘電路的構(gòu)成框圖如圖2所示。
圖2 AT89C51單片機(jī)時(shí)鐘電路的功能模塊圖
(2)單片機(jī)的選擇
單片機(jī)是整個(gè)電路的核心,主要用于對(duì)顯示、聲音等電路進(jìn)行控制。采用AT89C51作為系統(tǒng)控制器的CPU方案。單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域得到廣泛應(yīng)用。
(3)顯示模塊的選擇與連接
圖3 AT89C51單片機(jī)時(shí)鐘電路的系統(tǒng)硬件原理總圖
顯示模塊用于顯示時(shí)間。筆者使用八段數(shù)碼管顯示(小數(shù)點(diǎn)算為一段),通常,顯示方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中,靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用動(dòng)態(tài)顯示方法。4位八段數(shù)碼管顯示電路如圖4所示。
圖4 AT89C51單片機(jī)時(shí)鐘電路的顯示模塊圖
圖中數(shù)碼管采用的是4位一體八段共陽(yáng)數(shù)碼管,其中a~g段以及dp分別接到單片機(jī)的P0口,由單片機(jī)輸出的P0口數(shù)據(jù)來決定段碼值,位選碼分別接到單片機(jī)的P2.4~P2.7,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。圖中電阻R1~R8,連接在P0口上,用作P0口的上拉電阻,保證P0口沒有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。
通過查表法,將當(dāng)前時(shí)間在數(shù)碼管上顯示出來,其中P0口為字型碼輸入端,P2口的4位為字選段輸入端。在這里通過查表將字型碼送給八段數(shù)碼管顯示的數(shù)字。圖中的三極管Q1~Q4組成反相器,目的是提高驅(qū)動(dòng)能力。其基極通過R13~R16接至P2.4~P2.7,射極接電源,集電極輸出分別接到數(shù)碼管的共陽(yáng)極D4~D1端,作為位碼。當(dāng)P2.4~P2.7中哪一端輸出低電平,則三極管集電極輸出高電平,對(duì)應(yīng)的位選碼有效,于是該位在段碼作用下顯示相應(yīng)的字型。
(4)時(shí)鐘頻率電路的設(shè)計(jì)
單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定頻率的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。
一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容C1、C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。
(5)復(fù)位電路的設(shè)計(jì)
單片機(jī)的第9腳Reset為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路如圖5所示,其中R18和S1實(shí)現(xiàn)手動(dòng)復(fù)位。
(6)報(bào)時(shí)電路
利用程序來控制單片機(jī)某個(gè)口線的“高”電平或“低”電平,接上蜂鳴器就能發(fā)出聲音,若再利用延時(shí)程序控制“高”電平或“低”電平的持續(xù)時(shí)間,就能改變蜂鳴器鳴叫的時(shí)間。如圖6所示。圖中利用單片機(jī)的I/O端口P2.0,單片機(jī)通過設(shè)定該端口的高、低電平使蜂鳴器發(fā)聲,可以實(shí)現(xiàn)整時(shí)報(bào)時(shí)或其他報(bào)警。
圖5 復(fù)位電路
圖6 報(bào)時(shí)電路
模擬計(jì)時(shí)器(采用正計(jì)時(shí)方式),4位數(shù)碼管分別顯示“分”和“秒”。流程圖如圖7所示。
圖7 60分60秒程序流程圖
電子線路的設(shè)計(jì)、制作與調(diào)試是一個(gè)極其復(fù)雜、綜合性很強(qiáng)的過程,涉及到本專業(yè)的各門學(xué)科,應(yīng)用到很多新的知識(shí)與技能,包含單片機(jī)、Protel DXP和Multisim、Proteus仿真軟件等等。在設(shè)計(jì)、制作與調(diào)試過程中,理論聯(lián)系實(shí)際,將所學(xué)知識(shí)綜合運(yùn)用,這是提高自身的專業(yè)技能與各種能力、積累經(jīng)驗(yàn)、為今后的工作打下扎實(shí)基礎(chǔ)的重要途徑。