新聞中心

        EEPW首頁 > 消費電子 > 基于PCF8563戶外型倒計時系統(tǒng)的設計

        基于PCF8563戶外型倒計時系統(tǒng)的設計

        ——
        作者:龍世瑜 林 漢 陳新源 時間:2007-09-12 來源:單片機與嵌入式系統(tǒng)應用 收藏

          摘要:介紹基于設計戶外侄計時系統(tǒng)的硬件接口電路及軟件編程。該系統(tǒng)在強日光下顯示屏的字符清晰可見,能夠長時間連續(xù)穩(wěn)定地工作。

          關鍵詞:

        引言

          的任務,就是對某一設定日期進行倒數(shù),在顯示屏顯示當前距離設定日期的時間;廣泛應用于重大的節(jié)日或活動,以增強人們的關切程度和緊迫感。戶外型,首先要求在強日光下顯示屏的字符依然清晰可見,而且要求系統(tǒng)能夠長時間連續(xù)穩(wěn)定地工作。本文介紹的系統(tǒng)正是針對這樣的要求而開發(fā)出來的。

        1 總體設計方案

          整個系統(tǒng)由時鐘芯片、中央處理單元、譯碼、驅(qū)動、顯示、鍵盤幾部分構(gòu)成,系統(tǒng)框圖如圖1所示。

        2 硬件電路設計

        2.1 時鐘芯片

          PCF8563是Philips公司推出的一款帶總線具有極低功耗的多功能時鐘/日歷芯片,具有四種報警功能和定時功能;內(nèi)部時鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測以兩線制總線通信方式,不但使用外圍電路簡潔,而且增加了芯片的可靠性。

          PCF8563的SCL為時鐘輸入端,數(shù)據(jù)隨時鐘信號同步輸入器件或從器件輸出;SDA為雙向引腳,用于串行數(shù)據(jù)的輸入輸出;INT是中斷信號輸出端,可通過設置報警寄存器按指定時間在該腳產(chǎn)生報警信號,低電平有效;SDA、SCL、INT均為漏極開路,必須上拉電阻;X1、X2分別為反相放大器的輸入、輸出端;可在X1端接入32.768kHz的石英晶振,配置成片內(nèi)振蕩器。本系統(tǒng)PCF8563與89C51接口采用圖2所示接口方案。

          圖2中,在X1、X2端接入32.768kHz的石英晶振,將時鐘源配置為片內(nèi)振蕩器。VDD與地之間國入1個1μF的大電容供電維持時鐘芯片,鋰電池(3.6V)同時開始工作,給時鐘芯片供電,使時鐘芯片工作不受影響。PCF8563與89C51接口采用3根口線,PCF8563的INT腳產(chǎn)生周期為1s的脈沖中斷信號給89C51的INT0引腳,89C51產(chǎn)生中斷后,通過I2C總線讀取PCF8563的基準時間。

        2.2 顯示和鍵盤電路

          譯碼、顯示、驅(qū)動、鍵盤電路如圖3所示、單片機將讀入的PCF8563時間信息,經(jīng)過程序處理,輸出顯示信號到P1口(數(shù)據(jù)4位,選擇信號4位)。顯示信息包括倒計時信息(當前距離設定時間的天數(shù))和當前時間的星期、時、分、秒信息。4位數(shù)據(jù)信號送入MC14513(BCD-鎖存/7段譯/碼驅(qū)動器),共有10個MC14513:倒計時占用3個,時間時、分、秒各占用2個,星期占用1個。4位選擇信號送到74LS145譯碼器(4位鎖存/4-10線譯碼),選擇接收數(shù)據(jù)的MC14513芯片。 被選擇的MC14513譯碼驅(qū)動對應共陰數(shù)碼管字段(a、b、c、d、e、f、g)。

          戶外顯示要求在強日光下依然清楚可見,所以我們采用超高度φ5 LED管組成LED點陣字符。其中每個字段由4塊LED點陣埠并聯(lián)組成,而每個LED點陣塊先由5個LED串聯(lián)1組,再將4個串聯(lián)組并聯(lián)而成。先用的超高亮度LED工作電流約為20mA,工作電壓約為2V,每字段的總電流約為320mA,工作電壓為10V;字段的驅(qū)動,采用大電流反相驅(qū)動器ULN2003(由7組NPN達林頓驅(qū)動器組成);倒計時信號經(jīng)MC14153輸入到ULN2003,ULN2003輸出接字段的陰極,字段陽極接電源正極;電源采用10A、5V的兩個開關電源串聯(lián)供電。

          鍵盤接口有4個鏈:1個設定/確認鍵、1個修改+1鍵、1個修改-1鍵、1個移位鍵。對應秒、分、時、倒計時、星期,有5個LED。LED亮,表示對應的秒或分或星期或倒計時數(shù)據(jù)可按修改鍵修改。設定/確認鍵,有兩種狀態(tài):設定和確認。首先按下為設定時間狀態(tài),再按下為確認狀態(tài)。將設定時間數(shù)據(jù)處理后寫入PCF8563,兩種狀態(tài)互為循環(huán)。在設定時間狀態(tài),首先次移位為秒位,對應秒移位LED亮,按下移位鍵,移位LED燈接秒→分→時→倒計時→星期逐次循環(huán);按下修改+1鍵或修改-1鍵可對相應位的數(shù)據(jù)進行+1或-1操作。{{分頁}}

        3 軟件設計

          PCF8563中共有16個寄存器,其中00~01H為控制寄存器,09~0CH為報警寄存器,0DH為時鐘輸出寄存器,0E~0FH為定時器功能寄存器,02~08H為秒~年時間寄存器。表1、表2列出了各寄存器概況及對應的內(nèi)存地址和功能。

          表1 寄存器概況

        地 址 寄存器名稱 位7 位6 位5 位4 位3 位2 位1 位0
        00H 控制/狀態(tài)寄存器1 TFST 0 STOP 0 TESTC 0 0 0
        01H 控制/狀態(tài)寄存器2 0 0 0 TT/TP AF TF AIE TIE
        0DH CLKOU 輸出寄存器 FE - - - - - FD1 FD0
        0EH 定時器控制寄存器 TE - - - - - TD1 TD0
        0FH 定時器倒計數(shù)數(shù)值寄存器 定時器倒計數(shù)數(shù)值(二制)

          表2 BCD格式寄存器概況

        地址 寄存器名稱 位7 位6 位5 位4 位3 位2 位1 位0
        02h VL 00~59BCD碼格式數(shù)
        03h - 00~59BCD碼格式數(shù)
        04h - - 00~23BCD碼格式數(shù)
        05h - - 00~59BCD碼格式數(shù)
        06h 星期 - - - - - 0~6
        07h 月/世紀 C - - 01~12BCD碼格式數(shù)
        08h 00~99BCD碼格式數(shù)
        09h 分鐘報警 AE 00~59BCD碼格式數(shù)
        0Ah 小時報警 AE - 00~23BCD碼格式數(shù)
        0BH 日報警 AE - 01~31BCD碼格式數(shù)
        0CH 星期報警 AE - - - - 0~6

          按I2C總線規(guī)約,PCF8563的從地址:讀地址SLAR為A3H、寫地址SLAW為A2H,PCF8563I2C通信實現(xiàn)有字節(jié)寫/讀兩種狀態(tài)。適用80C51的虛擬I2C總線軟件包。本系統(tǒng)直接調(diào)用該I2C總線軟件包的數(shù)據(jù)讀寫子程序(其中WRNBYT為N字節(jié)的子程序,RDNBYT為讀取N字節(jié)的字節(jié)),來實現(xiàn)PCF8563的I2C總線操作。

          根據(jù)硬件電路及資源分配,將I2C軟件包中符號單元賦值如下:

        SDA EQA P0.0 ;數(shù)據(jù)傳送

        SCL EQU P0.1 ;時鐘控制狀態(tài)

        MIN DATA 30H ;秒寄存器

        SEC DATA 31H ;分寄存器

        HOUR DATA 32H ;時寄存器

        DAY DATA 33H ;日寄存器

        WEEK DATA 34H ;周寄存器

        MONTH DATA 35H ;月寄存器

        YEAR DATA 36H ;年寄存器

        SLA DATA 37H ;37H為被控器的地址

        NUMBYT DATA 38H ;38H為數(shù)據(jù)字節(jié)計數(shù)器

        MRT DATA 40H ;接收數(shù)據(jù)緩沖區(qū)首地址

        MTD DATA 50H ;發(fā)送數(shù)據(jù)緩沖區(qū)首地址

        ①PCF8563定時器工作模式

        MOV 51H ,#81H ;設置PCF8563的0EH為81H,啟動定時器,定時器頻率64Hz

        MOV 52H ,#64 ;設置PCF8563的0FH為64,定時器倒計數(shù)值為64

        MOV MTD ,#0EH ;定時器控制寄存器字節(jié)首地址

        MOV NUMBYT,#3 ;寫字節(jié)

        MOV SLA ,#0A2H;取寫器件地址

        LCALL WRNBYT ;寫8563

            以上配置完成后,PCF8563的INT腳產(chǎn)生周期為1s,脈沖寬度(低電平)約為15ms的脈沖中斷信號。

        ②PCF8563當前時間設定子程序如下:

        MOV 51H,#00H ;啟動時鐘

        MOV 52H,#11H ;定時器為中斷模式,脈沖形式

        MOV 53H,MIN ;將秒至年的時間寫入發(fā)送緩沖區(qū)

        MOV 54H,SEC

        MOV 55H,HOUR

        MOV 56H,DAY

        MOV 57H,WEEK

        MOV 58H,MON

        MOV 59H,YEAR

        MOV SLA,#0A2H ;取寫器件地址

        MOV NUMBYT,#10;寫字節(jié)數(shù)

        MOV MTD,#00H ;寫入8563寄存器首地址為00H

        LCALL WRNBYT ;寫入8563

        RET{{分頁}}

        ③讀出時鐘芯片當前值子程序設計

        MOV MTD,#02H ;讀時鐘寄存器首字節(jié)地址02H

        MOV SLA,#0A2H ;取寫器件地址

        MOV NUMBYT,#1 ;寫字節(jié)數(shù)

        LCALL WRNBYT ;寫8563

        MOV SLA,#0A3H ;取讀器件地址

        MOV NUMBYT,#7 ;讀七個時鐘信息

        LCALL RDNBYT ;讀取時間并放入緩沖區(qū)

        MOV A,40H ;取潷字節(jié)

        ANL A,#7FH ;屏蔽無效位

        MOV MIN,A ;送秒寄存器

        MOV A,41H ;取分字節(jié)

        ANL A,#7EH ;屏蔽無效位

        MOV MIN,A ;送分寄存器

        MOV A,42H ;取小時字節(jié)

        ANL A,#3FH ;屏蔽無效位

        MOV HOUR,A ;送時寄存器

        MOV A,43H ;取天字節(jié)

        ANL A,#3FH ;屏蔽無效位

        MOV DAY,A ;送天寄存器

        MOV A,44H ;取星期字節(jié)

        ANL A,#07H ;屏蔽無效位

        MOV WEEK,A ;送星期寄存器

        MOV A,45H ;取月字節(jié)

        ANL A,#1FH ;屏蔽無效位

        MOV MOTH,A ;送月寄存器

        RET

          系統(tǒng)程序流程如圖4所示,中斷服務程序如5所示。

        結(jié)語

          此倒計時系統(tǒng)于廣東省六屆大運會中標,在整個運行過程正常穩(wěn)定工作,達到了大會提出的要求。



        評論


        相關推薦

        技術(shù)專區(qū)

        關閉
        主站蜘蛛池模板: 仙桃市| 香河县| 芷江| 岳西县| 醴陵市| 都匀市| 永春县| 丽江市| 扬州市| 衡山县| 西乌珠穆沁旗| 丹凤县| 霞浦县| 湘乡市| 新建县| 马鞍山市| 武汉市| 石首市| 盐边县| 云安县| 广南县| 丰城市| 怀柔区| 大关县| 九龙县| 海阳市| 鄄城县| 阿拉善左旗| 漳州市| 陕西省| 桐柏县| 丰台区| 肥西县| 克拉玛依市| 陇南市| 绍兴市| 北海市| 鄯善县| 平定县| 十堰市| 山东省|