摘 要:本文講述了用單片機、時鐘芯片和無線傳輸系統(tǒng)來控制實時系統(tǒng),是它可以實時提供當(dāng)前系統(tǒng)時間,在系統(tǒng)掉電的情況下,仍然可以維持時鐘的運行和內(nèi)部的數(shù)據(jù)不丟失,并能通過無線傳輸系統(tǒng)對時鐘進行時間、鬧鈴的調(diào)整。
關(guān)鍵詞:實時系統(tǒng)單片機無線傳輸
中圖分類號:TP273文獻標(biāo)識碼:A文章編號:1674-098X(2011)06(b)-0131-02
1 前言
當(dāng)今,電子電路幾乎無處不在,無孔不入,可謂之“電子時代”。實時系統(tǒng)無論是在廠礦、家庭、學(xué)校、電臺等地方都必不可少,在實時系統(tǒng)中,時鐘功能是實現(xiàn)這一系統(tǒng)的關(guān)鍵技術(shù),它可以實時提供當(dāng)前系統(tǒng)時間,在系統(tǒng)掉電的情況下,仍然可以維持時鐘的運行和內(nèi)部的數(shù)據(jù)不丟失,并能通過無線傳輸系統(tǒng)對時鐘進行時間、鬧鈴的調(diào)整,對于一些需提供工作時間的系統(tǒng)是必不可缺的。本文以時鐘芯片DS12887、液晶驅(qū)動器ST7920和無線傳輸模塊NRF905為例,講述了它們與STC89C52RC單片機接口的軟硬件設(shè)計。
2 硬件設(shè)計
2.1 DS12887與單片機進行接口設(shè)計
MOT腳接地,其作用是使DS12887的工作的總線類型選擇為INTEL,因為STC89C52RC是采用INTEL總線類型。
18腳接電容和電阻。電阻的一端接VCC,電容的一端接地;這種接法上電時,18腳電壓為低電平,可是DS12887復(fù)位,經(jīng)過一段時間(T>200ms)電容充滿電后,18腳電壓為高電平。
AD0~AD7接單片機的P0口,用于數(shù)據(jù)和命令的傳送。
R/W接單片機的/WR口,用于寫控制;DS接單片機的/RD口,用于讀控制。
CS接單片機的P2.7,用于尋址,其地址是7FFFH。
IRQ接單片機的INT0,當(dāng)IRQ發(fā)中斷請求時,單片機讀取DS12887的數(shù)據(jù)。
AS接單片機的ALE口。
DS12887因內(nèi)部有電池,可以在掉電的情況下工作,并可以保存數(shù)據(jù)達十年不丟失。
2.2 液晶驅(qū)動芯片與單片機進行接口設(shè)計
液晶驅(qū)動芯片ST7920有自動電源啟動復(fù)位(RESET)功能;提供2M中文字型ROM,總共8192個中文字型(16x16點陣);提供16位半字型ROM,總共126個符號字型(16x8點陣);能繪圖及文字混合顯示功能;提供8位控制模式、4位控制模式及串行控制模式。
內(nèi)建振蕩器由外部電阻調(diào)整;電源供電范圍2.7到5.5V。
本文采用的是串行控制模式,用P2.0(是使能端)、P2.1(是數(shù)據(jù)口)、P2.2(是時鐘脈沖口)來控制液晶的顯示。
串行控制模式PSB腳必須接地。其地址為EFFFH。
2.3 無線傳輸系統(tǒng)
無線傳輸系統(tǒng)采用的是NRF905模塊。
VCC腳電源電壓為1.9-3.6V;超過3.6V將會燒毀模塊,推薦電壓為3.3V,建議加塊3.3V穩(wěn)壓1117芯片;
TX_EN腳設(shè)置發(fā)送模式或接收模式;
DR腳接收或發(fā)射數(shù)據(jù)完成;
MISO腳SPI輸出;
MOSI腳SPI輸入;
SCK腳SPI時鐘;
CSN腳SPI使能。
3 軟件設(shè)計
3.1 DS12887轉(zhuǎn)換說明
1)DS12887復(fù)位以后,送#0A0H到寄存器A中,使DS12887中的電池工作,才能產(chǎn)生振蕩;2)在送#26H到寄存器B,使DS12887可以產(chǎn)生鬧鐘中斷;時鐘的數(shù)據(jù)形式為BCD碼方便單片機的調(diào)用;時鐘是以24小時計時。
DS12887的初始化程序:
CLR SZCS;時鐘芯片的設(shè)置
MOV A,#0A0H
MOV R0,#0AH
MOVX @R0,A
MOV A,#26H
MOV R0,#0BH
MOVX @R0,A
3.2 液晶顯示屏顯示說明
1)在液晶復(fù)位以后,送#01H的指令到ST7920,使ST7920清空內(nèi)部RAM的數(shù)據(jù)等待單片機輸送數(shù)據(jù);2)在送#0CH的指令到ST7920,使液晶顯示打開,才能在液晶屏上看到顯示的內(nèi)容。
液晶顯示屏的初始化程序:
MOV A,#01H
LCALL SDCON;串行輸入指令子程序
LCALL T10M;清除DDRAM
MOV A,#0CH
LCALL SDCON;設(shè)置顯示
LCALL T75U
3.3 主程序流程圖
略。
4 結(jié)語
依據(jù)本文的介紹方法,可以用時鐘芯片DS12887、液晶顯示屏(驅(qū)動芯片ST7920)、無線傳輸NRF905和STC89C52RC單片機的接口設(shè)計實時系統(tǒng),并能完成無線調(diào)時和鬧鈴功能,增加音樂芯片提高本系統(tǒng)的娛樂功能。單片機可以讀取DS12887的數(shù)據(jù),并且能在液晶顯示屏上顯示年、月、日、星期、小時、分鐘、秒、時鬧、分鬧和秒鬧,還可以用DS12887中的非易失性RAM來設(shè)置星期鬧、日鬧、月鬧等。由于DS12887內(nèi)部有鋰電池的作用可以保持時鐘正常運行十年。
參考文獻
[1]楊寧.單片機與控制技術(shù)[M].北京航空航天大學(xué)出版社.
[2]雷伏容.VHDL電路設(shè)計[M].清華大學(xué)出版社.