單片機應用系統(tǒng)的硬件電路設計
一、單片機電路
單片機采用ATF89S52
1.時鐘電路Xl、C2、C3與單片機內部的反相放大器一起構成時鐘振蕩電路,采用12MHz晶振,AT89S52的機器周期為12個振蕩周期,每個機器周期正好lμs.
2.復位電路Cl、R9構成上電復位電路,S5是手動復位按鍵。
3.其他AT89S52單片機內部有8k字節(jié)FlashROM、256字節(jié)RAM,不用外擴程序存儲器和數(shù)據存儲器,因此其EA腳固定接高電平,ALE和:IPSEN腳懸空。
二、電源
由于AT89S52的工作電壓為4V~5.5V,而輸出驅動的繼電器采用9V直流電,故直接采用市售的9V直流穩(wěn)壓電源,再加5V穩(wěn)壓電路組成其電源電路。
三、鍵盤電路
根據系統(tǒng)要求,需要用按鍵來完成定時時間輸入、定時工作啟動等。按鍵的狀態(tài)通過與其相連的I/O口送到單片機中,根據所按的鍵去執(zhí)行相應的程序。常用的按鍵電路有矩陣式鍵盤和獨立式按鍵兩種。
1.矩陣式鍵盤矩陣式鍵盤如圖2所示。矩陣由若干行和若干列組成,按鍵跨接在行和列之間,而行、列分別接至單片機的I/O口。單片機則通過先將某行置為特定狀態(tài),再讀取列來獲知是否有鍵按下,逐行設置狀態(tài),再讀取列,便可知道所按的鍵的行列位置。
2.獨立式按鍵獨立式按鍵如圖3所示。每個按鍵直接接到單片機的一個I/O口,單片機讀取該口可獲知按鍵的狀態(tài)。
3.多功能定時器的鍵盤具體到本產品,可以用設置、加、減共3個鍵來完成16個定時時間的設置和選擇,用啟動鍵來啟動定時器工作,故只需要4個按鍵(Sl~S4),分別接至單片機的P1.4~P1.7口。AT89S52的P1口是內部帶上拉電阻的準雙向口,將P1.4~P1.7置為輸人狀態(tài),斷開時讀取相應的口線為高電平,按鍵按下時為低電平,故不必外接上拉電阻。
四、顯示電路
根據系統(tǒng)要求,需要用數(shù)碼管來顯示預置時間及剩余時間。顯示時、分、秒共需要6位數(shù)碼管,顯示定時的路數(shù)需要1位數(shù)碼管,而單片機當前的工作狀態(tài),則用一只雙色發(fā)光二極管指示。
1.LED數(shù)碼管帶小數(shù)點的LED數(shù)碼管由8段發(fā)光二極管組成,分別定義為a、b、c、d、e、f、g和dp,8段發(fā)光二極管的一個同名端接在一起,定義為公共端(com)。根據所接同名端的不同,LED數(shù)碼管分為共陰和共陽兩種,圖4為其外形及結構圖。要令數(shù)碼管顯示不同的字符,一要分別控制各段的獨立端的電平,二要控制公共端,使相應的發(fā)光二極管點亮。如要顯示“1”,則應使b、c點亮。以共陰數(shù)碼管為例,應向b、c端送高電平,其余段送低電平,向com端送低電平。我們通常稱控制a~g和dp的信號為段碼,控制com端的信號為位碼。
2.單片機與LED數(shù)碼管的接口單片機與LED數(shù)碼管的接口分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示時,數(shù)碼管的段信號和位信號始終保持不變,在多位顯示時,每一位數(shù)碼管的段信號都需要用鎖存器進行鎖存。動態(tài)顯示則采取I/O口分時復用的方式輸出數(shù)碼管的段信號,由位選信號決定某一時刻哪一位數(shù)碼管顯示。由于人眼的視覺暫留效應,只要讓多位數(shù)碼管輪流顯示,而同一位數(shù)碼管每次顯示相同的字符,則所看到就是固定的字符串了。
3.多功能定時器的顯示電路如圖l所示,顯示電路由共陰數(shù)碼管PLL~PL4、達林頓驅動電路UI~N2803A、R卜R8等組成,采用動態(tài)顯示方式。PLl~PL3分別顯示秒、分和時,PL4顯示時間段。Po口為數(shù)碼管的段選輸出口。P2.0~P2.6為數(shù)碼管的位選輸出口。由于AT89S52只有4個TTL門的驅動能力,因此需要外接驅動電路。
五、語音電路
語音芯片采用APl840芯片。
單片機的P1.O~P1.3口用于控制語音段的輸出。
六、輸出驅動電路
輸出驅動電路由ULN2803A和繼電器K1組成,Kl的觸點通過J3引出,可供用戶控制相關電器。
七、其他
為了使用戶設置的數(shù)據在系統(tǒng)斷電后能夠保持,在電路中還增加了串行E2PROM存儲器24C02,用單片機的P3.3~P3.5分別控制其數(shù)據的讀寫。
IC5為一體化的紅外接收頭,可以接收紅外遙控信號。用戶也可以采用遙控方式控制定時器的工作。J2是ISP編程口,有了該接口,用戶可以通過計算機對電路中的單片機編程。