基于DS12C887電子萬年歷設(shè)計方案
1、設(shè)計方案
以單片機AT89C52為主控芯片,外圍采用時鐘芯片DS12C887,單片機P0口接DS12C887,P1.0口至P1.3口接按鍵,P1.4口至P1.7口分別接DS12C887的CS口、AS口、RW口、DS口。P2口接液晶顯示器LM016L的D0至D7口,P3.3口接DS12C887的IRQ口,P3.4口、P3.5口分別接LM016L的E口和RS口。
2、系統(tǒng)總體框圖

3、整體功能說明
本設(shè)計方案基于時鐘芯片DS12C887做萬年歷設(shè)計。當(dāng)程序執(zhí)行后,LCD顯示即時時間、年月日、星期、溫度。設(shè)置4個按鍵,S1:設(shè)置鍵S2:上調(diào)鍵;S3:下調(diào)鍵;S4:復(fù)位鍵。操作按鍵可以重新設(shè)置時間、星期、日期。
基于DS12C887電子萬年歷的制作
所需的元器件介紹
一、單片機AT89C52介紹
AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含8k的可反復(fù)擦寫的只讀程序存儲器(PEROM)和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復(fù)雜控制應(yīng)用場合。引腳功能如圖2.1所示

AT89C52單片機功能特性概述
AT89C52提供以下標(biāo)準功能:8K字節(jié)Flash閃速存儲器,256字節(jié)內(nèi)部RAM, 32個I/O口線,3個16位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工 串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C52了降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容。但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。
AT89C52單片機主要引腳功能介紹
AT89S52單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。
P0口:P0口是一組8位漏極開路型雙向I/O口,也即為地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。
P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。
P2口:P2是一個帶有內(nèi)部上拉電阻的位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。
P3口:P3是一個帶有內(nèi)部上拉電阻的位雙向I/O口,P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流。其最重要的用途是它的第二功能。其主要第二功能如表格2.1所示。

/EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器,/EA端必須保持低電平(接地)。
XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。
二、時鐘日歷芯片DS12887
能夠自動產(chǎn)生年、月、日、時、分、秒等時間信息,芯片內(nèi)部帶有鋰電池,外部掉電時,其內(nèi)部時間信息能夠保持10年之久;有12小時制和24小時制兩種工作模式;時間的表示方法有兩種:二進制數(shù)表示和BCD碼表示。用戶可對DS12887進行編程以實現(xiàn)多種方波輸出,用戶可對其內(nèi)部的三路中斷通過軟件進行屏蔽。 2.2.1 引腳說明
DS12C887引腳圖如圖2.2

1、Vcc:直流電源+5V輸入
當(dāng)Vcc輸入為+5V時,用戶可以訪問DS12887內(nèi)RAM中的數(shù)據(jù),并可對其進行讀、寫操作;當(dāng)Vcc的輸入小于+4.25V時,禁止用戶對內(nèi)部RAM進行讀、寫操作,此時用戶不能正確獲取芯片內(nèi)的時間信息;當(dāng)Vcc的輸入小于+3V時,DS12887會自動將電源切換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作
2、GND:地
3、MOT:總線模式選擇。當(dāng)MOT接Vcc時選用Motorola總線模式,當(dāng)MOT接GND時選用Intel總線模式。
4、SQW:方波輸出。當(dāng)供電電壓Vcc大于4.25V時,SQW腳可進行方波輸出,此時用戶可以通過對控制寄存器編程來得到13種方波信號的輸出。
5、AD0~AD7:雙向地址/數(shù)據(jù)總線。
6、AS:地址有效輸入。
7、DS/RD:數(shù)據(jù)選通/讀允許。當(dāng)MOT接Vcc時作為數(shù)據(jù)選通;當(dāng)MOT接GND時,作為讀允許輸入。
8、R/W:讀/寫允許輸入。若MOT接Vcc,該引腳為高電平時讀操作,為低電平時寫操作;若MOT接GND,該引腳作為寫允許輸入。
9、CS:片選輸入。低電平有效。 10、IRQ:中斷請求輸出。低電平有效。
11、RESET:復(fù)位端。低電平有效,復(fù)位操作不影響時鐘日歷工作。
12、NC:空引腳。 2.2.2 存儲器分配與設(shè)置
DS12887片內(nèi)RAM與寄存器地址分配見圖2.3。

DS12887帶有128字節(jié)片內(nèi)RAM:
1、10字節(jié)的時標(biāo)寄存器:用來存儲時間信息,地址00H~09H。CPU可以通過讀取時標(biāo)寄存器獲得時間與日歷值,也可以編程設(shè)置其初值,時標(biāo)寄存器的值可以用二進制或BCD碼表示。4字節(jié)的控制寄存器:用來存儲控制信息,地址0AH~0DH。用戶可通過對控制寄存器編程實現(xiàn)從SQW引腳輸出多種不同頻率的方波,并可對其內(nèi)部的三路中斷通過軟件進行屏蔽。114字節(jié)作為通用RAM供用戶使用,地址為0EH~7FH
2、UIP:更新周期標(biāo)志。
當(dāng)UIP=1時,表示芯片正處于或即將開始更新周期,在此期間不允許讀寫時標(biāo)寄存器;當(dāng)UIP=0時,表示沒有更新周期,此時可讀時標(biāo)寄存器。
3、DV2~DV0:芯片內(nèi)部振蕩器RTC控制位。當(dāng)芯片復(fù)位后500ms開始第一個更新周期。將這3位設(shè)置成010,可使芯片以內(nèi)置的32.768kHz的振蕩頻率工作。
4、RS3~RS0:周期中斷可編程方波輸出速率選擇位。
5、SET:允許更新周期位。可讀/寫,不受信號的影響。當(dāng)SET=0時,芯片處于正常更新狀態(tài);當(dāng)SET=1時,芯片正常更新被禁止。
6、PIE、AIE、UIE:分別為周期中斷、鬧鐘中斷、更新周期結(jié)束中斷允許位。各位分別為“1”時允許發(fā)出相應(yīng)的中斷,由端輸出。其中,UIE位在復(fù)位或設(shè)置SET為1時清零。
7、SQWE:方波輸出允許位。當(dāng)SQWE=1,按寄存器A輸出速率選擇位所確定的頻率輸出方波;當(dāng)SQWE=0,SQW腳保持低電平。
8、DM:時標(biāo)寄存器格式選擇位。DM=0,為BCD碼;DM=1,為二進制碼。
9、24/12:24小時或12小時模式設(shè)置位。24/12=1,選擇24小時工作模式;24/12=0,選擇12小時工作模式。
10、DSE:夏令時允許標(biāo)志位。當(dāng)DSE=1時,夏時制設(shè)置有效。在四月的第一個星期日的1:59:59 AM,調(diào)到3:00:00 AM;在十月的最后一個星期日的1:59:59 AM,調(diào)到1:00:00 AM;當(dāng)DSE=0無效。寄存器C 為中斷標(biāo)志位寄存器。
11、IRQF:中斷申請標(biāo)志位。
該位邏輯表達式為:IRQF = PF · PIE+AF · AIE+UF · UIE。當(dāng)IRQF=1時,IRQ引腳將輸出低電平。PF、AF、UF:這三位分別為周期中斷、鬧鐘中斷、更新周期結(jié)束中斷標(biāo)志位。只要滿足各中斷的條件,相應(yīng)的中斷標(biāo)志位將置“1”。 10、 VRT:芯片內(nèi)部RAM與寄存器內(nèi)容有效標(biāo)志位。該位為“1”時,表示芯片內(nèi)部RAM和寄存器內(nèi)容有效。讀該寄存器后,該位將自動置“1”。
三、液晶顯示器LM016L
LM016L引腳 第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。
第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負極
引腳圖如圖2.4

控制命令如表格2.2


電子發(fā)燒友App





評論