999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DS12C887時鐘芯片的電子萬年歷設計

2018-06-11 10:07:13徐錦銅康晴茜
絲路視野 2018年31期
關鍵詞:單片機

徐錦銅 康晴茜

【摘要】本文闡述了一種基于DS12C887時鐘芯片的電子萬年歷軟硬件設計方法,使用proteus軟件設計和繪制了電子萬年歷的電路連接圖,并通過1602液晶屏顯示時鐘信息,驗證了電子萬年歷電路及其程序設計的正確性,并給出了部分C程序代碼。

【關鍵詞】DS12C887;時鐘芯片;單片機

在需要時間信息的電路設計中,設計人員通常采用時鐘芯片獲取時間信息。目前,市場中的時鐘芯片種類多樣,比如DS12C887、PCF8485、SB2068、DS1302等。其中DS12C887具有價格低、功耗小、易操作等優(yōu)點,本文選用DS12C887作為設計電子萬年歷的時鐘芯片。

一、電路連接

電路原理圖如圖1所示,主要包括AT89C52單片機、DS12C887、1602液晶屏和3個獨立按鍵等元器件,通過仿真,從圖1中可以看到日歷信息是2018年9月12日,星期三,17點16分3秒,說明本文設計的電子萬年歷軟硬件設計正確,功能正常。

(一)DS12C887介紹及其與單片機的接口電路

DS12C887是DALLAS公司推出的涓流充電時鐘芯片,可計時到2100年前的年、月、日、時、分、秒、星期七種日歷時間信息并自帶閏年補償功能;自帶晶體振蕩器并內(nèi)置鋰電池,在沒有外部電源的情況下可工作長達10年之久;有12小時制和24小時制兩種計時模式。其中在12小時制模式中,用A.M.和RM.區(qū)分上午和下午;可選用夏令時模式;時間表示方法有兩種:一種用二進制數(shù)表示,一種用BCD碼表示;內(nèi)部帶有128字節(jié)RAM,其中11字節(jié)用來存儲時間信息,4字節(jié)RAM用來存儲DS12C887的控制信息,113字節(jié)RAM供用戶使用;數(shù)據(jù)/地址總線復用,具有MOTOROLA和INTEL兩種總線時序,本文在設計時采用的是INTEL總線。

下面闡述DS12C887的電路連接問題:DS12C887一共有24個管腳,其中6個管腳為NC(懸空管腳,不連接),有效管腳為18個。第1腳MOT懸空不接,選擇INTEL總線時序;4腳-11腳(AD0-AD7)為數(shù)據(jù)端,接至單片機P0口,和單片機做數(shù)據(jù)交互;12腳GND接地;13腳CS為片選端,接至單片機P2.3口,在INTEL總線時序中的DS和RW信號工作期間,CS必須保持低電平;14腳AS為地址選通輸入端,在AS信號的下降沿,地址鎖存待DS12C887中,無論CS信號是否有效,AS的下一個上升沿都將清除地址,地址選通信號必須先于每個讀或寫訪問。15腳RW接至單片機P2.5口,在INTEL總線時序中,RW腳與普通RAM的寫使能信號工作方式類似,在寫數(shù)據(jù)時需要將RW腳電平拉低,寫完之后數(shù)據(jù)在RW信號的上升沿鎖存。17腳DS接至單片機P2.4口,在讀周期中,DSl2C887于DS信號的后期(INTEL時序中DS為低、RW為高)將數(shù)據(jù)發(fā)送到總線上,讀周期結束后,總線恢復到高狀態(tài),同時DS變高。18腳RESET為復位輸入端,低電平時復位,本設計中將RESET端固定接高電平,意即讓DSl2C887一直正常工作,不進行復位操作。19腳[RQ為中斷請求輸出端,可用作處理器的中斷申請輸入端子,實現(xiàn)諸如鬧鐘之類的功能,本設計不涉及鬧鐘,故IRQ腳懸空不接;23腳SQW為方波輸出端,本設計不使用,懸空不接。24腳VCC為電源端,接+5V。

(二)獨立按鍵接口電路

我們在設計電路時使用了3個獨立按鍵,一端共同接地,另一端分別接至單片機的P3.0、P3.1、P3.2口。當按鍵被按下時,單片機對應的端口將出現(xiàn)低電平,單片機通過判斷該低電平信號來獲知相應按鍵被按下,本文通過按下這3個按鍵來手動設置時間。

(三)1602液晶屏接口電路

1602液晶屏接口一共有16個管腳,1腳接電源地,2腳為液晶內(nèi)部驅動芯片電源端;3腳為液晶屏幕電源輸入端,在實際使用時,該端口須經(jīng)1個10K可調(diào)電阻接至5V電源端,當改變可調(diào)電阻大小時,3腳將獲得不同的電壓,從而起到調(diào)節(jié)屏幕對比度的作用,本設計采用仿真模擬器件,因此直接將3腳接高電平;4腳RS、5腳RW、6腳EN為液晶的三個控制端,其中RS為并行數(shù)據(jù)/指令選擇端,接至單片機的P2.0口,當RS為低電平時,寫入的是命令,當RS為高電平時,寫入的是數(shù)據(jù);RW為液晶讀/寫選擇端,由于對液晶的操作通常是只讀不寫,將該腳直接拉高,意即對液晶只做寫操作;EN為使能端,接至單片機的P2.1口,高電平有效;7腳—14腳(D0—D7)為液晶的數(shù)據(jù)端,接至單片機的P0口,與單片機做數(shù)據(jù)交互;15腳為液晶背光正極,接+5V;16腳為液晶背光負極,接地。

二、DS12C887內(nèi)部寄存器分析

DSl2C887內(nèi)部共有14個寄存器,地址編號為0-13。0號寄存器為SECONDS秒寄存器,用戶要調(diào)節(jié)秒時,將要設定的秒數(shù)寫入該寄存器中就可以實現(xiàn)調(diào)節(jié)秒的功能;將秒寄存器里的值讀出并顯示出來就是我們所看到時間里的秒數(shù)。2號分寄存器、4號時寄存器、6號星期寄存器、7號日期寄存器功能可以類比秒寄存器。10號A寄存器—13號D寄存器為控制寄存器,這4個寄存器各8bit,通過修改或讀取這些寄存器,可以對DS12C887做不同的配置,以實現(xiàn)不同的功能需求。下面介紹本設計用到的A、B控制寄存器的功能和配置操作。

(1)A寄存器

UIP:時鐘更新配置位,UP為1時,立即進行更新傳輸;UIP為0時,至少244us內(nèi)不會進行更新傳輸。本設計將UP位設置為1,這樣DS12C887在上電初始化后會立即更新時間。

DV2、DV1、DV0位:這3位組合配置后用來啟動或關閉DSl2C887的內(nèi)部晶體振蕩器。本設計將這3位配置為010,意即打開內(nèi)部晶體振蕩器,允許RTC計時。另外,若是長期不使用DS12C887,為了使其鋰電池節(jié)能,可以通過程序將這3位配置為010之外的其他值,比如000。

RS3、RS2、RS1、RS0:速率選擇位,這4位組合賦予不同的值,可以使得SWQ管腳對外輸出不同頻率的方波或者使得內(nèi)部產(chǎn)生相應周期的周期中斷。比如賦值0001時,可使SWQ腳輸出256Hz的方波,中斷周期為3.90625ms。本設計沒有使用這4位,故將這4位設置為0000,意即無中斷周期,SWQ無方波輸出。

(2)B寄存器

SET:當SET位設置為0時,芯片更新正常進行;當SET位設置為1時,芯片更新被禁止。本設計將SET位設置為0。

PIE:當PIE位設置為0時,禁止周期中斷輸出至IRQ;當PIE位設置為1時,允許周期中斷輸出至IRQ。本設計未使用周期中斷功能,故將PIE位設置為0。

AIE:當AIE位設置為0時,禁止鬧鐘中斷輸出至IRQ;當AIE位設置為1時,允許鬧鐘中斷輸出至IRQ。本設計未使用鬧鐘中斷功能,故將AIE位設置為0。

UIE:當UIE位設置為0時,禁止更新結束中斷輸出至IRQ;當UIE位設置為1時,允許更新結束中斷輸出至IRQ。本設計未使用更新結束中斷功能,故將UIE位設置為0。

SQWE:SQW方波輸出使能位,當SQWE位設置為0時,SQW腳輸出低電平;當SQWE位設置為1時,SQW腳輸出設定頻率的方波。本設計未使用SQW方波輸出,故將SQWE位設置為0。

DM:時鐘信息格式選擇位,當DM=0時,采用二進制表示時鐘信息;當DM=1時,采用BCD碼表示時鐘信息。本設計將DM設置為1,采用BCD碼表示時鐘信息。

24/12:時制選擇位,當這位為0時,12小時制;當這位為1時,24小時制;本設計將這位設置為1,采用24小時制。

DSE:夏令時使能位,本設計不采用夏令時,故將DSE位設置為0。

三、DS12C887讀寫操作時序分析

DS12C887有Motorola和INTEL兩種讀寫操作時序,下面分析常用的INTEL時序。

(一)INTEL讀時序

讀操作是指單片機從DS12C887某個地址的寄存器里讀出數(shù)據(jù)(時、分、秒數(shù)等),包括寫地址和讀數(shù)據(jù)兩部分。首先將CS置低讓DS12C887正常工作,然后將AS、DS、RW置高,此時將待讀取的寄存器地址通過單片機P0口寫入DS12C887,接著將AS拉低,這樣就將待讀取的寄存器地址鎖存住了。接著讀取數(shù)據(jù),在讀取數(shù)據(jù)之前先將DS拉低,此時就將待讀取的數(shù)據(jù)通過單片機P0口讀出來了。最后將AS、DS、CS都置高,以便為下一次讀取新的數(shù)據(jù)做準備。

(二)INTEL寫時序

寫操作是指單片機向DS12C887某個地址的寄存器里寫入數(shù)據(jù)(時、分、秒數(shù)等),因此包括寫地址和寫數(shù)據(jù)兩部分。首先將CS置低讓DS12C887正常工作,然后將AS、DS、RW置高,此時將待寫入的寄存器地址通過單片機P0口寫入DS12C887,接著將AS拉低,這樣就將待操作的寄存器地址鎖存住。接著寫數(shù)據(jù),在寫數(shù)據(jù)之前先將RW拉低,此時就將待寫入的數(shù)據(jù)通過單片機P0口寫入DS12C887。地址和數(shù)據(jù)都寫入至DS12C887之后,最后將AS、RW、CS都置高,以便為下一次寫入新的數(shù)據(jù)和地址做準備。

四、程序編寫

讀操作和寫操作是DS12C887最關鍵的兩個操作,根據(jù)上文中對讀寫操作時序的分析,本文編寫了完整的DS12C887讀、寫操作函數(shù)以及初始化時鐘數(shù)值函數(shù),如下文所述,并給出相應的程序注釋。

(一)DS12C887讀操作函數(shù)

uchar read(uchar add)∥讀數(shù)據(jù)

{

uchar dat;∥定義dat保存讀取的數(shù)據(jù)值

cs=0;∥片選有效

as=1;∥先將AS、DS、RW置高

ds=1;

rw=1;

P0=add;

as=0;∥此時地址寫入了時鐘芯片

ds=0;∥將DS拉低,為讀取數(shù)據(jù)做準備

dat=P0;∥將讀取的數(shù)據(jù)存入dat變量

ds=1;∥最后將DS、AS、CS置高,準備下次讀數(shù)據(jù)

as=1;

cs=1;

return(dat):∥將讀取的數(shù)據(jù)返回

}

(二)DSl2C887寫操作函數(shù)

void write(uchar add,uchardat)∥寫數(shù)據(jù)

{

cs=0;∥片選有效

as=1;∥先將AS、DS、RW置高

ds=1;

rw=1;

P0=add;

as=0;∥此時地址寫入了時鐘芯片

rw=0;∥將RW拉低,為寫數(shù)據(jù)做準備

P0=dat;∥將數(shù)據(jù)dat通過P0口寫入時鐘芯片

rw=1;∥最后將RW、AS、CS置高,準備下次寫數(shù)據(jù)

as=1;

cs=1;

}

五、結語

本文闡述了使用單片機和DS12C887設計電子萬年歷的方法,描述了DS12C887的特點、寄存器配置、讀寫操作時序,給出了完整的DS12C887讀寫操作程序代碼,并做了較為詳細的注釋。另外,由于1602液晶顯示操作和按鍵操作相對比較簡單,所以本文未予闡述。通過電子萬年歷的軟硬件設計和仿真,為以后在單片機設計領域開展更為深入地研究打下了基礎。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統(tǒng)設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統(tǒng)的仿真設計
主站蜘蛛池模板: 亚洲人成电影在线播放| 国产91导航| 色哟哟精品无码网站在线播放视频| 亚洲成人在线免费观看| 91无码人妻精品一区| 免费无码网站| 欧美a网站| 国产精品55夜色66夜色| 五月激情婷婷综合| 亚洲一欧洲中文字幕在线| 99爱视频精品免视看| 久久这里只有精品2| 老司机aⅴ在线精品导航| 九九这里只有精品视频| 国产精品黑色丝袜的老师| 国产精品任我爽爆在线播放6080| 一本无码在线观看| 久久网欧美| 91麻豆精品国产91久久久久| 网友自拍视频精品区| 亚洲美女高潮久久久久久久| 一区二区三区国产精品视频| 国产成人狂喷潮在线观看2345| 尤物精品视频一区二区三区| 亚洲男人的天堂在线观看| www.99在线观看| 国产成人精品视频一区视频二区| 国产毛片高清一级国语 | 九九九久久国产精品| 中文字幕天无码久久精品视频免费 | 手机精品视频在线观看免费| 无码一区18禁| 白丝美女办公室高潮喷水视频| 国产青青草视频| 国产欧美日韩视频怡春院| 中文字幕亚洲精品2页| 乱系列中文字幕在线视频 | 性欧美在线| 欧美精品在线视频观看| 一本久道热中字伊人| 2022国产无码在线| 午夜无码一区二区三区在线app| 国产高颜值露脸在线观看| 国产精品亚洲精品爽爽| 国产精品吹潮在线观看中文| 天堂成人av| 国产精品福利社| 日韩AV手机在线观看蜜芽| 五月天综合网亚洲综合天堂网| 久久免费视频6| 日韩成人在线网站| 在线播放真实国产乱子伦| 午夜国产精品视频| 噜噜噜久久| 婷婷色狠狠干| 人人爱天天做夜夜爽| yjizz国产在线视频网| 日本爱爱精品一区二区| 亚洲男人的天堂视频| 久久综合九九亚洲一区| 成人免费午间影院在线观看| 在线高清亚洲精品二区| 国产成人久久综合一区| 九色视频一区| 免费jjzz在在线播放国产| 国产一二三区视频| 91年精品国产福利线观看久久| 看国产一级毛片| 看你懂的巨臀中文字幕一区二区 | 精品人妻无码中字系列| 天天躁夜夜躁狠狠躁图片| 亚洲视频一区在线| 成人国产一区二区三区| 免费无码在线观看| 亚洲精品无码高潮喷水A| 男女精品视频| 国产乱人伦偷精品视频AAA| 中文字幕资源站| 国产情侣一区二区三区| 国产最爽的乱婬视频国语对白| 午夜毛片免费看| 亚洲最大在线观看|