摘? 要:本文介紹了基于STC89C52單片機(jī)的多功能電子萬年歷的硬件結(jié)構(gòu)和軟硬件設(shè)計(jì)方法。本設(shè)計(jì)由數(shù)據(jù)顯示模塊、溫度采集模塊、時(shí)間處理模塊和調(diào)整設(shè)置模塊四個(gè)模塊組成。系統(tǒng)以STC89C52單片機(jī)為控制器,以串行時(shí)鐘日歷芯片DS1302記錄日歷和時(shí)間,它可以對年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能。溫度采集選用DS18B20芯片,萬年歷采用直觀的數(shù)字顯示,數(shù)據(jù)顯示采用1602液晶顯示模塊,可以在LCD1602上同時(shí)顯示年、月、日、周日、時(shí)、分、秒,還具有時(shí)間校準(zhǔn)等功能。此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),具有廣闊的市場前景。
關(guān)鍵字:單片機(jī),時(shí)鐘芯片, 溫度傳感器, 1602液晶顯示器
前言
隨著科技的快速發(fā)展,時(shí)間的流逝,從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。目前,單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來了諸多方便。隨著微電子技術(shù)的高速發(fā)展,單片機(jī)在國民經(jīng)濟(jì)的個(gè)人領(lǐng)域得到了廣泛的運(yùn)用。單片機(jī)以體積小、功能全、性價(jià)比高等諸多優(yōu)點(diǎn),在工業(yè)控制、家用電器、通信設(shè)備、信息處理、尖端武器等各種測控領(lǐng)域的應(yīng)用中獨(dú)占鰲頭,單片機(jī)開發(fā)技術(shù)已成為電子信息、電氣、通信、自動(dòng)化、機(jī)電一體化等專業(yè)技術(shù)人員必須掌握的技術(shù)。
單片機(jī)單芯片的微小體積和低的成本,可廣泛地嵌入到如玩具、家用電器、機(jī)器人、儀器儀表、汽車電子系統(tǒng)、工業(yè)控制單元、辦公自動(dòng)化設(shè)備、金融電子系統(tǒng)、艦船、個(gè)人信息終端及通訊產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具,于是基于單片機(jī)的醒目而時(shí)尚的電子版萬年歷順應(yīng)而生?;趩纹瑱C(jī)的電子萬年歷結(jié)合了時(shí)鐘和日歷的功能,將其二者融為一體,在顯示時(shí)間的同時(shí)還能顯示日期和年、月,它主要是通過單片機(jī)來讀取時(shí)鐘芯片的時(shí)間、日期,然后送給顯示設(shè)備顯示出來。而電子萬年歷作為電子類小設(shè)計(jì)不僅是市場上的寵兒,也是是單片機(jī)實(shí)驗(yàn)中一個(gè)很常用的題目。因?yàn)樗挠泻芎玫拈_放性和可發(fā)揮性,因此對作者的要求比較高,不僅考察了對單片機(jī)的掌握能力更加強(qiáng)調(diào)了對單片機(jī)擴(kuò)展的應(yīng)用。而且在操作的設(shè)計(jì)上要力求簡潔,功能上盡量齊全,顯示界面也要出色。日歷鐘顯示清晰直觀、走時(shí)準(zhǔn)確、可以進(jìn)行夜視,并且還可以擴(kuò)展出多種功能。
1.1 課題研究的背景
隨著科技的快速發(fā)展,時(shí)間的流逝,從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。它可以對年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用STC89C52單片機(jī)作為核心,功耗小,能在5V的低壓工作,電壓可選用4.5~5.5V電壓供電。
此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。
1.2課題的研究目的與意義
二十一世紀(jì)是數(shù)字化技術(shù)高速發(fā)展的時(shí)代,而單片機(jī)在數(shù)字化高速發(fā)展的時(shí)代扮演著極為重要的角色。電子萬年歷的開發(fā)與研究在信息化時(shí)代的今天亦是當(dāng)務(wù)之急,因?yàn)樗鼞?yīng)用在學(xué)校、機(jī)關(guān)、企業(yè)、部隊(duì)等單位禮堂、訓(xùn)練場地、教學(xué)室、公共場地等場合,可以說遍及人們生活的每一個(gè)角落。所以說電子萬年歷的開發(fā)是國家之所需,社會之所需,人民之所需。
由于社會對信息交換不斷提高的要求及高新技術(shù)的逐步發(fā)展,促使電子萬年歷發(fā)展并且投入市場得到廣泛應(yīng)用。
1.3課題解決的主要內(nèi)容
本課題所研究的電子萬年歷是單片機(jī)控制技術(shù)的一個(gè)具體應(yīng)用,主要研究內(nèi)容包括以下幾個(gè)方面:
(1)選用電子萬年歷芯片時(shí),應(yīng)重點(diǎn)考慮功能實(shí)在、使用方便、單片存儲、低功耗、抗斷電的器件。
(2)根據(jù)選用的電子萬年歷芯片設(shè)計(jì)外圍電路和單片機(jī)的接口電路。
(3)在硬件設(shè)計(jì)時(shí),結(jié)構(gòu)要盡量簡單實(shí)用、易于實(shí)現(xiàn),使系統(tǒng)電路盡量簡單。
(4)根據(jù)硬件電路圖,在開發(fā)板上完成器件的焊接。
(5)根據(jù)設(shè)計(jì)的硬件電路,編寫控制STC89C52芯片的單片機(jī)程序。
(6)通過編程、編譯、調(diào)試,把程序下載到單片機(jī)上運(yùn)行,并實(shí)現(xiàn)本設(shè)計(jì)的功能。
(7)在硬件電路和軟件程序設(shè)計(jì)時(shí),主要考慮提高人機(jī)界面的友好性,方便用戶操作等因素。
2 系統(tǒng)的方案設(shè)計(jì)與論證
單片機(jī)電子萬年歷的制作有多種方法,可供選擇的器件和運(yùn)用的技術(shù)也有很多種。所以,系統(tǒng)的總體設(shè)計(jì)方案應(yīng)在滿足系統(tǒng)功能的前提下,充分考慮系統(tǒng)使用的環(huán)境,所選的結(jié)構(gòu)要簡單使用、易于實(shí)現(xiàn),器件的選用著眼于合適的參數(shù)、穩(wěn)定的性能、較低的功耗以及低廉的成本。
按照系統(tǒng)設(shè)計(jì)的要求,初步確定系統(tǒng)由電源模塊、時(shí)鐘模塊、顯示模塊、鍵盤接口模塊、溫度測量模塊和鬧鐘模塊共六個(gè)模塊組成,電路系統(tǒng)構(gòu)成框圖如圖1所示。
圖1 硬件電路框圖
2.1單片機(jī)芯片設(shè)計(jì)與論證
方案一:
方案1:采用51系列單片機(jī)作為系統(tǒng)控制器
單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點(diǎn),在各個(gè)領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。
方案2:采用凌陽系列單片機(jī)作為系統(tǒng)的控制器
凌陽系列單片機(jī)可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。
因51單片機(jī)價(jià)格比凌陽系列低得多,且本設(shè)計(jì)不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計(jì)選擇了方案1。
2.2按鍵控制模塊設(shè)計(jì)與論證
方案一:采用矩陣鍵盤,由于按鍵多可實(shí)現(xiàn)數(shù)值的直接鍵入,但在系統(tǒng)中需要CPU不間斷的對其端口掃描。
方案二:采用獨(dú)立按鍵,查詢簡單,程序處理簡單,可節(jié)省CPU資源。
因系統(tǒng)中所需按鍵不多,為了釋放更多的CPU占有時(shí)間,操作方便,故采用方案二。
2.3時(shí)鐘模塊設(shè)計(jì)與論證
方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。
方案二:采用DS1302為計(jì)時(shí)時(shí)鐘芯片
該芯片是串行電路,與單片機(jī)接口簡單,但需另備電池和32.768kHz晶振,因焊接工藝和晶振質(zhì)量等原因會導(dǎo)致精度降低。
方案三:采用DS12C887為計(jì)時(shí)時(shí)鐘芯片
該芯片與單片機(jī)采用8位并口通信,傳遞信息速度快。自帶有鋰電池和晶振,外部掉電后,其內(nèi)部時(shí)間信息還能夠保持10年之久,因電路被封裝在一起,可以保證很高的精度和抗干擾能力。而且芯片功能豐富,可以通過內(nèi)部寄存器設(shè)置鬧鐘,并產(chǎn)生鬧鐘中斷。
由于DS1302時(shí)鐘芯片計(jì)數(shù)時(shí)間精度高,而且具有閏年補(bǔ)償功能且價(jià)格經(jīng)濟(jì)實(shí)惠等優(yōu)點(diǎn),故采用方案二。
2.4溫度采集模塊設(shè)計(jì)與論證
方案一:采用溫度傳感器(如熱敏電阻或AD590),再經(jīng)AD轉(zhuǎn)換得到數(shù)字信號,精度較準(zhǔn),但價(jià)格昂貴,電路較復(fù)雜。
方案二:采用數(shù)字式溫度傳感器DS18B20,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式,但準(zhǔn)確度不高,誤差最大達(dá)2度。
因?yàn)橛肈S18B20溫度芯片,采用單總線訪問,降低成本、降低制作難度且可節(jié)省單片機(jī)資源,故采用方案二。
2.5顯示模塊模塊設(shè)計(jì)與論證
方案一:采用靜態(tài)顯示方法,靜態(tài)顯示模塊的硬件制作較復(fù)雜及功耗大,要用到多個(gè)移位寄存器,但不占用端口,只需兩根串口線輸出。
方案二:采用動(dòng)態(tài)顯示方法,動(dòng)態(tài)顯示模塊的硬件制作簡單,段掃描和位掃描各占用一個(gè)端口,總需占用單片機(jī)14個(gè)端口,采用間斷掃描法功耗小、硬件成本低及整個(gè)硬件系統(tǒng)體積相對減小。
方案三:采用LCD的方法,具有硬件制作簡單可直接與單片機(jī)接口,顯示內(nèi)容多,功耗小,成本低等優(yōu)點(diǎn),LCM1602可顯示32個(gè)字符,采用LCD的缺點(diǎn)是亮度不夠。
比較以上三種方案:方案一硬件復(fù)雜體積大、功耗大;方案二硬件簡單、功耗小;方案三硬件簡單,顯示內(nèi)容多,功耗小,成本低等。本系統(tǒng)設(shè)計(jì)要求達(dá)到功耗小、體積小、成本低,顯示信息多等要求,權(quán)衡三種方案,選擇方案三。
3 系統(tǒng)硬件的設(shè)計(jì)
根據(jù)上述所確定的系統(tǒng)方案構(gòu)想,下面進(jìn)行系統(tǒng)硬件電路的具體設(shè)計(jì),系統(tǒng)的具體設(shè)計(jì)在下面會詳細(xì)介紹。
3.1 STC89C52單片機(jī)
單片微型計(jì)算機(jī)是隨著微型計(jì)算機(jī)的發(fā)展而產(chǎn)生和發(fā)展的。自從1975 年美國德克薩斯儀器公司的第一臺單片微型計(jì)算機(jī)( 簡稱單片機(jī))TMS-1000 問世以來,迄今為止,單片機(jī)技術(shù)已成為計(jì)算機(jī)技術(shù)的一個(gè)獨(dú)特分支,單片機(jī)的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制中經(jīng)常遇到對某些物理量進(jìn)行定時(shí)采樣與控制的問題,在儀器儀表智能化中也扮演著極其重要的角色。
如果將8位單片機(jī)的推出作為起點(diǎn),那么單片機(jī)的發(fā)展歷史大致可以分為以下幾個(gè)階段:
第一階段(1976—1978):單片機(jī)的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機(jī)”一詞即由此而來。
第二階段(1978—1982):單片機(jī)的完善階段。Intel公司在MCS-48基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS-51。它在以下幾個(gè)方面奠定了典型的通用總線型單片機(jī)體系結(jié)構(gòu)。
(1)完善的外部總線。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線結(jié)構(gòu),包括8位數(shù)據(jù)總線、16位地址總線、控制總線及具有多機(jī)通信功能的串行通信接口。
(2)CPU外圍功能單元的集中管理模式。
(3)體現(xiàn)工控特性的地址空間及位操作方式。
(4)指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。
第三階段(1982—1990):8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS-96系列單片機(jī),將一些用于測控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機(jī)的微控制器特征。
第四階段(1990—):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面、深入地發(fā)展和應(yīng)用,出現(xiàn)了高速、大尋址范圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),以及小型廉價(jià)的專用型單片機(jī)。
單片機(jī)是在集成電路芯片上集成了各種元件的微型計(jì)算機(jī),這些元件包括中央處理器CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、時(shí)鐘部件的集成和I/O接口電路。由于單片機(jī)具有體積小、價(jià)格低、可靠性高、開發(fā)應(yīng)用方便等特點(diǎn),因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域應(yīng)用較為廣泛,在智能儀表中單片機(jī)是應(yīng)用最多、最活躍的領(lǐng)域之一。在控制領(lǐng)域中,現(xiàn)如今人們更注意計(jì)算機(jī)的底成本、小體積、運(yùn)行的可靠性和控制的靈活性。在各類儀器、儀表中引入單片機(jī),使儀器儀表智能化,提高測試的自動(dòng)化程度和精度,提高計(jì)算機(jī)的運(yùn)算速度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。
單片機(jī)主要特點(diǎn):
(1)有優(yōu)異的性能價(jià)格比。
(2)集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性和抗干擾能力。另外,其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。
(3)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。
(4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。
(5)外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。
(6)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
優(yōu)異的性能價(jià)格比。
1)集成度高、體積小、有很高的可靠性。
單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。
此外,程序多采取固化形式也可以提高可靠性。
2)控制功能強(qiáng)。
為了滿足工業(yè)控制要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。
單片機(jī)的系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。
VCC:STC89C52電源正端輸入,接+5V。
GND:電源地端。
XTAL1:? 單芯片系統(tǒng)時(shí)鐘的反相放大器輸入端。
XTAL2: 系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。
RESET:STC89C52的重置引腳,高電平動(dòng)作,當(dāng)要對晶片重置時(shí),只要對此引腳電平提升至高電平并保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。
EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來輸入21V的燒錄高壓(Vpp)。
ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。STC89C52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因?yàn)镾TC89C52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。
PSEN:此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。STC89C52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用64K的定址范圍。
PORT0(P0.0~P0.7):端口0是一個(gè)8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)做一般I/O端口使用外,若是在STC89C52擴(kuò)充外接程序存儲器或數(shù)據(jù)存儲器時(shí),也提供地址總線的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/p>
其引腳分配如下:
P3.0:RXD,串行通信輸入。
P3.1:TXD,串行通信輸出。
P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。
P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。
P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。
P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。
EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。
圖2 STC89C52單片機(jī)引腳圖
3.1.1 最小系統(tǒng)設(shè)計(jì)
最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過對其進(jìn)行存儲器擴(kuò)展、A/D擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。
STC89C52是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡單﹑可靠。用STC89C52單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,結(jié)構(gòu)如圖2所示,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。
圖3 單片機(jī)最小系統(tǒng)原理框圖
3.1.2 時(shí)鐘電路
STC89C52單片機(jī)的時(shí)鐘信號通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式如圖3所示。在STC89C52單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1(18)和XTAL2(19)引腳外接石英晶體(簡稱晶振),就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5~30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。
圖4 STC89C52內(nèi)部時(shí)鐘電路
3.1.3 復(fù)位電路
當(dāng)在STC89C52單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。
復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。
最簡單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充放電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。
除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST(9)端與電源Vcc接通而實(shí)現(xiàn)的。按鍵手動(dòng)復(fù)位電路見圖4。時(shí)鐘頻率用11.0592MHZ時(shí)C取10uF,R取10kΩ。
圖5 STC89C52 復(fù)位電路
3.2時(shí)鐘芯片DS1302接口設(shè)計(jì)與性能分析
3.2.1 DS1302性能簡介
DS1302是Dallas公司生產(chǎn)的一種實(shí)時(shí)時(shí)鐘芯片。它通過串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,能夠向單片機(jī)提供包括秒、分、時(shí)、日、月、年等在內(nèi)的實(shí)時(shí)時(shí)間信息,并可對月末日期、閏年天數(shù)自動(dòng)進(jìn)行調(diào)整;它還擁有用于主電源和備份電源的雙電源引腳,在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。另外,它還能提供31字節(jié)的用于高速數(shù)據(jù)暫存的RAM。
DS1302時(shí)鐘芯片內(nèi)主要包括移位寄存器、控制邏輯電路、振蕩器。DS1302與單片機(jī)系統(tǒng)的數(shù)據(jù)傳送依靠RST,I/O,SCLK三根端線即可完成。其工作過程可概括為:首先系統(tǒng)RST引腳驅(qū)動(dòng)至高電平,然后在SCLK時(shí)鐘脈沖的作用下,通過I/O引腳向DS1302輸入地址/命令字節(jié),隨后再在SCLK時(shí)鐘脈沖的配合下,從I/O引腳寫入或讀出相應(yīng)的數(shù)據(jù)字節(jié)。因此,其與單片機(jī)之間的數(shù)據(jù)傳送是十分容易實(shí)現(xiàn)的,DS1302的引腳排列及內(nèi)部結(jié)構(gòu)圖如圖2:
DS1302引腳說明:
X1,X2???????? 32.768kHz晶振引腳
GND??????????? 地線
RST????? ??????復(fù)位端
I/O??????????? 數(shù)據(jù)輸入/輸出端口
SCLK?????????? 串行時(shí)鐘端口
VCC1?????????? 慢速充電引腳
VCC2?????????? 電源引腳
圖5 DS1302管腳圖