基于A(yíng)Tmage8的打鈴器設計
0 引言
本設計根據學(xué)校常規教學(xué)和臨時(shí)教學(xué)活動(dòng)(如考試等)對打鈴時(shí)間的要求,對打鈴器的設計進(jìn)行了改進(jìn),使其可分別工作在夏制、冬制、臨時(shí)三種模式下。每種工作模式支持多達80個(gè)時(shí)間點(diǎn)的打鈴輸出,并且根日期的設置,打鈴器可以自動(dòng)切換冬夏兩種工作模式,實(shí)現不同時(shí)制的打鈴。如需臨時(shí)改變打鈴時(shí)間,將系統切換至臨時(shí)工作模式,設置打鈴時(shí)間即可,極大地簡(jiǎn)化了打鈴器的操作。通過(guò)電路設計的優(yōu)化改進(jìn),提高了設備的可靠性和操作易用性,并在使用過(guò)程中表現出了較高穩定性和實(shí)用性。
1 系統硬件設計
打鈴器由ATmega8單片機最小系統、DS1302時(shí)鐘電路、LED數碼顯示電路、串行口通訊電路、按鍵電路和打鈴輸出控制電路構成,系統電路如圖1所示。
ATmage8單片機是美國ATEMEL公司的一款高性能、低功耗的8位AVR微處理器,內含32個(gè)8位通用工作寄存器、RC時(shí)鐘振蕩電路、8K字節的系統內可編程Flash、512字節的EEPROM及1K的SRAM。ATmega8內含豐富的總線(xiàn)接口,并有專(zhuān)門(mén)的SPI接口,可方便實(shí)現與時(shí)鐘電路的連接。
時(shí)鐘芯片采用的是DS1302。它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計時(shí)。在工作過(guò)程中,SCM對這些時(shí)鐘單元的數據循環(huán)讀取,將讀到的時(shí)間與打鈴時(shí)間比對,以確定是否打鈴。通過(guò)修改相應的時(shí)間單元,可實(shí)現系統時(shí)間的調整。
時(shí)間顯示采用了4位共陽(yáng)LED數碼管動(dòng)態(tài)顯示方式,PC口與數碼管的段碼相連,PB0、PB1、PB6、PB7作為位選信號分別控制數碼管的共陽(yáng)極;S1~S4分別與PD4、PD5、PD6、PD7相連,用于系統設置和時(shí)間調整;串行通訊接口電路分別與ATmega8的RXD和TXD引腳相連,通過(guò)與PC聯(lián)機,可快速完成打鈴器的系統設置、打鈴時(shí)間設定及系統時(shí)間的調整;SPI接口與DS1302的數據I/O相連,從DS1302中讀取實(shí)時(shí)時(shí)鐘。
PD2與打鈴控制電路相連,電路如圖2所示,打鈴輸出時(shí),該引腳被置為低電平,三極管Q1飽和導通,經(jīng)光耦隔離并觸發(fā)Q2飽和導通,繼電器JD1得電閉合,并觸發(fā)雙向晶閘管AK極導通,AC220V電源經(jīng)BT136的AK極,電鈴線(xiàn)圈得電響鈴。當響鈴時(shí)間結束后,PD2被置為高電平,Q1截止,后續電路均失電,響鈴停止。
2 軟件設計
打鈴器上電后,SCM將從片內的EEPROM中讀取設置參數進(jìn)行系統的初始化,然后讀取DS1302時(shí)間單元,將時(shí)間通過(guò)定時(shí)中斷程序顯示出來(lái)。在工作過(guò)程中,每個(gè)打鈴時(shí)間點(diǎn)用兩個(gè)字節分別表示小時(shí)和分鐘的時(shí)間值,當秒單元為‘00’時(shí),系統將調用一次打鈴時(shí)間比較子程序,以確定當前時(shí)間是否打鈴,系統的主程序流程如圖3所示。
評論