《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于VRS51L3074的多點(diǎn)定鬧電子日歷鐘的設(shè)計(jì)
基于VRS51L3074的多點(diǎn)定鬧電子日歷鐘的設(shè)計(jì)
電子科技
蘇 柯,,余學(xué)才 電子科技大學(xué)
摘要: 摘要論述了多點(diǎn)定鬧電子日歷鐘系統(tǒng)的設(shè)計(jì),在VRS51L3074單片機(jī)的控制下,,使用串行時(shí)鐘芯片DSl2887,,實(shí)現(xiàn)時(shí)間和鬧鐘的設(shè)置功能,。通過(guò)鍵盤和液晶顯示提示,可以方便地校對(duì)時(shí)鐘和設(shè)置鬧鐘,,利用鍵盤,、LCD顯示模塊構(gòu)成
Abstract:
Key words :

摘要 :論述了多點(diǎn)定鬧電子日歷" title="電子日歷">電子日歷鐘系統(tǒng)的設(shè)計(jì),在VRS51L3074" title="VRS51L3074">VRS51L3074單片機(jī)的控制下,,使用串行時(shí)鐘芯片DSl2887,,實(shí)現(xiàn)時(shí)間和鬧鐘的設(shè)置功能。通過(guò)鍵盤和液晶顯示提示,,可以方便地校對(duì)時(shí)鐘和設(shè)置鬧鐘,,利用鍵盤、LCD顯示模塊構(gòu)成人機(jī)交互界面,,實(shí)現(xiàn)時(shí)間和日歷顯示及設(shè)置多個(gè)鬧點(diǎn)等,。此種電子鐘的特點(diǎn)是操作方便,、工作可靠、具有一定的實(shí)用價(jià)值,。

關(guān)鍵詞: 單片機(jī)VRS51L3074,;多點(diǎn)定鬧;DSl2887,;LCD顯示

    文中是以Versa 8051" title="8051">8051系列MCU的典型器件VRS51L3074和時(shí)鐘日歷芯片DSl2887為核心制作的可多定點(diǎn)電子日歷時(shí)鐘,。該系統(tǒng)功能齊全,可存儲(chǔ)多個(gè)鬧點(diǎn),,采用液晶顯示器件LCD以清晰完美的視覺(jué)效果顯示出時(shí)間,、日歷等各種信息,有操作簡(jiǎn)單,、工作穩(wěn)定,、功耗低、使用方便等特點(diǎn),。

1 方案論述

    VRS51L307是美國(guó)Ramtron公司最新推出的8 kBFRAM鐵電存儲(chǔ)器的8051單片機(jī),。該單片機(jī)將外圍功能模塊和40 MI/s(兆指令/秒)單周期8051內(nèi)核集成在一起,工作電壓3.0~3.6 V,,有精確的內(nèi)部振蕩器,。

    本系統(tǒng)采用VRS51L3074單片機(jī)作為控制核心,使用單片集成的即時(shí)時(shí)鐘芯片DSl2887來(lái)實(shí)現(xiàn)時(shí)鐘功能,,顯示系統(tǒng)采用液晶模塊LCD顯示時(shí)間,、日歷及鬧鈴等提示信息,,有著智能化的人機(jī)界面,。用此方案設(shè)計(jì)的電路圖簡(jiǎn)單,不需要驅(qū)動(dòng)電路,,用并行口的數(shù)據(jù)線便可以實(shí)現(xiàn)時(shí)間,、日歷以及鬧鐘的顯示。 VRS51L3074有成熟的閃存技術(shù),,本身自帶有看門狗定時(shí)器電路,,這樣在單片機(jī)死機(jī)或遇到程序故障時(shí)系統(tǒng)能夠自動(dòng)復(fù)位,看門狗定時(shí)器由一個(gè)14位預(yù)分頻器構(gòu)成,,以系統(tǒng)時(shí)鐘或者是系統(tǒng)時(shí)鐘的分頻信號(hào)作為其計(jì)數(shù)源,,當(dāng)看門狗溢出時(shí)將使系統(tǒng)復(fù)位。系統(tǒng)時(shí)鐘頻率可動(dòng)態(tài)調(diào)節(jié),,有集成省電,、上電復(fù)位/掉電檢測(cè)等功能。

2 系統(tǒng)基本原理

    用VRS51L3074控制功能將即時(shí)時(shí)鐘DSl2887的年,、月,、日,、星期、時(shí),、分,、秒等信息并行輸入LCD液晶顯示器上,時(shí)間和日歷還有鬧鐘的調(diào)整則通過(guò)鍵盤的控制功能將各種調(diào)整信息反映到單片機(jī)中,,并通過(guò)單片機(jī)的并口將各種時(shí)間,、日歷和鬧鐘信息輸入給LCD液晶顯示器,從而實(shí)現(xiàn)整個(gè)設(shè)計(jì)的控制功能,。

    本系統(tǒng)對(duì)外圍器件的訪問(wèn)都是通過(guò)I/O方式,,其中單片機(jī)的P1口與鍵盤連接,P0口的8個(gè)端口用作單片機(jī)的數(shù)據(jù)線分別與顯示器和即時(shí)時(shí)鐘相連,,P60和 P27分別用作控制端,,用來(lái)控制單片機(jī)與LCD顯示器以及單片機(jī)與即時(shí)時(shí)鐘之間的數(shù)據(jù)傳輸;本系統(tǒng)中,,由于采用LCD顯示屏作為顯示系統(tǒng),,因而用鍵盤作為控制系統(tǒng)對(duì)于便攜式的日歷鐘來(lái)說(shuō),有利于操作和控制,。在本設(shè)計(jì)中,,各功能鍵的控制通過(guò)軟件編程的方法來(lái)實(shí)現(xiàn),這樣利用鍵盤的不同功能鍵就可以實(shí)現(xiàn)對(duì)鬧鐘,、時(shí)鐘和日歷的調(diào)整控制,。整個(gè)設(shè)計(jì)的系統(tǒng)圖,如圖1所示,。

a.JPG

3 系統(tǒng)硬件設(shè)計(jì)

    硬件系統(tǒng)由單片機(jī)及其鍵盤電路,、時(shí)鐘系統(tǒng)、鬧點(diǎn)報(bào)警功能和LCD顯示部分組成,。整個(gè)系統(tǒng)的電路設(shè)計(jì)以單片機(jī)VRS51L3074和時(shí)鐘芯片DSl2887的設(shè)計(jì)為核心,,外加液晶顯示器OCM160128-I(內(nèi)置T6963C控制器),蜂鳴器以及鍵盤,。

    采用VRS51L3074單片機(jī)作為控制核心對(duì)時(shí)鐘芯片DSl2887進(jìn)行控制,,讀取時(shí)間,提取數(shù)據(jù),,對(duì)輸入信號(hào)進(jìn)行處理,,最后通過(guò)LCD顯示各種時(shí)間、日歷及鬧鐘信息,,從而實(shí)現(xiàn)整個(gè)設(shè)計(jì)的控制功能,。系統(tǒng)主控電路如圖2所示。VRS51L3074片內(nèi)自帶40 MHz振蕩器,,可無(wú)需外部晶振為系統(tǒng)提供時(shí)鐘信號(hào),。通過(guò)對(duì)時(shí)鐘主電路之間預(yù)分頻器的配置可靈活設(shè)置系統(tǒng)時(shí)鐘以滿足不同應(yīng)用的需要,。系統(tǒng)時(shí)鐘源選擇及分頻比設(shè)置由特殊功能寄存器DEVCLKCFGl和DEVCLKCFG2控制。

b.JPG

3.1 單片機(jī)與DSl2887時(shí)鐘芯片的接口設(shè)計(jì)界面

    單片機(jī)與DSl2887時(shí)鐘芯片的接口界面如圖3所示,。兩者之間要實(shí)現(xiàn)同步通信,,就需要用到6個(gè)口線:(1)復(fù)位/RESET。(2)I/O數(shù)據(jù)線,。(3)片選信號(hào)線/CS,。(4)數(shù)據(jù)激發(fā)或讀取線DS。(5)讀?。瘜懭?,輸入線R/W。(6)地址激發(fā)輸入線AS,。

c.JPG

    在以上6個(gè)口線中,,DS、R/W都有兩種操作模式,。本設(shè)計(jì)采用Intel總線時(shí)序,,故MOT腳接地。在這種模式下,,DS(數(shù)據(jù)激發(fā)或讀取)腳稱為/RD 腳,。AD0~AD7是多工雙向的地址/數(shù)據(jù)總線。在總線周期的第一段時(shí)間呈現(xiàn)的是地址,,同樣的IC腳和信號(hào)路徑,,在第二段時(shí)間當(dāng)成數(shù)據(jù)使用。因總線從地址到數(shù)據(jù)的改變是發(fā)生在內(nèi)部SRAM的存取時(shí)間,,所以地址/數(shù)據(jù)作成多工形態(tài)并不會(huì)使DSl2887的存取時(shí)間變慢,。片選信號(hào)線/CS選擇輸入為L(zhǎng)OW時(shí),即可對(duì)DSl2887進(jìn)行存取,,在總線周期即使沒(méi)有使能/CS腳,,也同樣會(huì)鎖存住地址但沒(méi)有存取的動(dòng)作發(fā)生,。當(dāng)Vcc< 4.25 V時(shí),,DSl2887會(huì)除能/CS腳,禁止存取動(dòng)作,,此功能會(huì)保護(hù)在電源消失期間的即時(shí)時(shí)鐘和SRAM里的數(shù)據(jù),。地址激發(fā)輸入AS送一個(gè)正向地址激發(fā)脈沖到輸入腳,然后在AS/ALE的下降邊緣使得地址栓在DSl2887內(nèi),。在下一個(gè)時(shí)鐘下降沿,,地址激發(fā)輸入將清除,而不管片選端/  CS是否置位,。接入命令必須成對(duì)發(fā)送,。/RESET腳的信號(hào)對(duì)于時(shí)鐘,、日歷或SRAM都沒(méi)有影響。在電源上升時(shí),,RESET腳應(yīng)該維持在LOW一段時(shí)間,,以便允許電源電壓穩(wěn)定下來(lái),/RESET腳維持在LOW的時(shí)間視應(yīng)用而定,。

3.2 單片機(jī)與LCD顯示屏的接口電路

    此電路中,,液晶顯示器數(shù)據(jù)口D0~D7與單片機(jī)的P00~P07并行相連。如圖4所示,。/RD,、/WR讀、寫選通端與單片機(jī)的/RD,、/WR相連,,低電平有效,為輸入信號(hào),。/CE為T6963C的片選信號(hào),,低電平有效。C/D通道選擇信號(hào),,1為指令通道,,O為數(shù)據(jù)通道。

d.JPG

3.3 鬧點(diǎn)報(bào)警功能設(shè)計(jì)

    蜂鳴器報(bào)警電路如圖5所示,。當(dāng)時(shí)鐘到指定鬧點(diǎn)時(shí),,DSl2887控制/狀態(tài)寄存器2中的AF被置1,同時(shí)ALE引腳產(chǎn)生一個(gè)中斷(低電平有效),,由于 ALE接至單片機(jī)的ALE腳,,所以引發(fā)中斷程序。DSl2887的SQW輸出1Hz的脈沖,,由于數(shù)據(jù)信息接至單片機(jī)的P00~P07腳,,所以P20腳輸出 1 Hz的脈沖,使得蜂鳴器間斷性地發(fā)出鳴聲,。當(dāng)復(fù)位腳為低并且Vcc>4.25 V時(shí),,鬧鐘中斷允許ALE被置為O,鬧鐘中斷標(biāo)志AF置0,,信號(hào)通過(guò)AS位傳送到VRS51L3074的37腳,,通過(guò)P20腳輸出脈沖到蜂鳴器,停止鬧響,。到達(dá)預(yù)定時(shí)間響鈴1 min,,1 min后自動(dòng)停止,也可以按下已設(shè)定的鍵實(shí)現(xiàn)手動(dòng)停止,。

e.JPG

3.4 單片機(jī)與鍵盤的連接

    系統(tǒng)采用行列式鍵盤,。用I/O口線組成行,、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上,。因此,,在按鍵數(shù)量較多時(shí),可以節(jié)省I/O口線,。鍵盤的列線分別與單片機(jī)的P1.0~P1.2相連,,行線分別與單片機(jī)的P1.3~P1.5相連。

4 軟件系統(tǒng)的設(shè)計(jì)

    系統(tǒng)軟件設(shè)計(jì)包括單片機(jī)計(jì)算機(jī)兩部分的編程,。計(jì)算機(jī)軟件編程主要實(shí)現(xiàn)參數(shù)設(shè)置,、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲(chǔ),。單片機(jī)軟件編程主要實(shí)現(xiàn)鍵盤,、液晶顯示、鬧鐘等各模塊的功能,,采用C語(yǔ)言編程,。該系統(tǒng)通過(guò)串行口與鍵盤通信,鍵盤給單片機(jī)發(fā)指令實(shí)現(xiàn)數(shù)據(jù)采集及系統(tǒng)控制,,并將數(shù)據(jù)實(shí)時(shí)傳回液晶顯示器顯示結(jié)果,。整個(gè)軟件系統(tǒng)采用模塊化的程序設(shè)計(jì)方法,共分為時(shí)間日期設(shè)定,、鬧鈴

設(shè)定,、LCD顯示模塊和鍵盤掃描模塊4個(gè)部分。其中主要是鬧點(diǎn)的設(shè)定與提取,。軟件系統(tǒng)的主要特點(diǎn)是整個(gè)過(guò)程完全在鍵盤的控制之下,,實(shí)現(xiàn)了友好的人機(jī)交互功能。主程序通過(guò)判斷鍵盤的輸入情況調(diào)用不同的子程序,,子程序的功能實(shí)現(xiàn)也是在鍵盤的配合之下完成的,。主程序流程圖,如圖6所示,。

f.JPG

    首先對(duì)單片機(jī)的串行口及定時(shí)器進(jìn)行初始化,,然后進(jìn)行鍵盤掃描,如果有鍵按下,,則根據(jù)掃描到的鍵值跳轉(zhuǎn)到相應(yīng)的入口并執(zhí)行相應(yīng)的程序,,并根據(jù)外部的輸入進(jìn)行相應(yīng)的操作。如果沒(méi)有鍵按下,,則回到初始化狀態(tài)。在并行運(yùn)行的程序中,,本設(shè)計(jì)將調(diào)用另外兩位合作者編寫的日歷時(shí)鐘和溫度程序,,送入液晶顯示器中進(jìn)行顯示,。

4.1 多點(diǎn)定鬧模塊

    鬧鐘的的起鬧止鬧基本步驟:(1)電子設(shè)備的中央處理器CPU從硬件時(shí)鐘芯片中讀取當(dāng)前時(shí)間,從鬧鐘信息中提取一個(gè)與當(dāng)前時(shí)間最接近的然后啟動(dòng)鬧鐘,,將該鬧鐘的啟動(dòng)時(shí)間設(shè)置到硬件時(shí)鐘芯片中,。(2)硬件時(shí)鐘芯片在當(dāng)前時(shí)間與該需啟動(dòng)鬧鐘的啟動(dòng)時(shí)間進(jìn)行比較,一致時(shí)通知CPU鬧鐘啟動(dòng)時(shí)間已經(jīng)到達(dá),,蜂鳴器控制標(biāo)志為“1”,,鬧鐘打開(kāi),開(kāi)始起鬧,,并顯示在顯示器上,,要止鬧只需按下啟停鍵便可止鬧,沒(méi)有按鍵的情況下系統(tǒng)根據(jù)預(yù)設(shè)的鬧響時(shí)間1 min后停止鬧鈴,,鬧時(shí)功能關(guān)停,。硬件時(shí)鐘芯片在當(dāng)前時(shí)間與該需啟動(dòng)鬧鐘的啟動(dòng)時(shí)間進(jìn)行比較不同時(shí)指向下一時(shí)間。(3)通過(guò)不停的進(jìn)行比較,,第一個(gè)鬧點(diǎn)響停后,,時(shí)鐘正常行走,系統(tǒng)又再返回步驟(1),。

4.2 OSl2887時(shí)鐘芯片與VRS51L3074的接口程序

    系統(tǒng)通過(guò)中斷和軟件計(jì)數(shù)器可產(chǎn)生秒信號(hào),。每到1 s,系統(tǒng)將會(huì)調(diào)整時(shí)間存儲(chǔ)單元的內(nèi)容,,從而實(shí)現(xiàn)計(jì)時(shí)功能,。下面為DSl2887時(shí)鐘芯片和VRS51L3074單片機(jī)的接口軟件,假定采用每天24 h制,,時(shí)間數(shù)據(jù)格式為BCD碼,,初始化時(shí)間為2000年1月1日9時(shí)00分00秒,1 kHz方波輸出,。時(shí)鐘芯片每1 s向單片機(jī)申請(qǐng)中斷一次,,一方面讓單片機(jī)修改一次時(shí)鐘顯示,另一方面也給單片微機(jī)系統(tǒng)提供時(shí)間基準(zhǔn),。

5 結(jié)束語(yǔ)

    系統(tǒng)利用VRS51L3074作為控制核心,,外加專用的時(shí)鐘芯片DSl2887的應(yīng)用,實(shí)現(xiàn)時(shí)間,、日歷及鬧鐘信息顯示功能,。該電子鐘操作方便,通過(guò)鍵盤和漢顯液晶提示可方便地校對(duì)時(shí)鐘和對(duì)鬧鐘進(jìn)行設(shè)置,。


 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。