高仿真數(shù)顯模擬表盤電子鐘_第1頁
高仿真數(shù)顯模擬表盤電子鐘_第2頁
高仿真數(shù)顯模擬表盤電子鐘_第3頁
高仿真數(shù)顯模擬表盤電子鐘_第4頁
高仿真數(shù)顯模擬表盤電子鐘_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、畢業(yè)設計(論文)摘 要本設計是通過在“單片機原理及應用”課堂上學習的知識的綜合應用,以及查閱資料,培養(yǎng)一種自學的能力。并且引導一種創(chuàng)新的思維,把學到的知識應用到日常生活當中,讓lcd顯示更逼近現(xiàn)實生活的表盤鐘,實現(xiàn)模擬表盤指針和數(shù)字時鐘共同顯示。有主控芯片stc89c54單片機讀取時鐘芯片ds12c887和溫度傳感器ds18b20上的時間、溫度信息,在jm12864液晶主界面上模擬表盤指針顯示時針、分針、秒針的動態(tài)畫面,使界面更加真實直觀,貼近現(xiàn)實生活中的表盤指針式鐘表。關鍵詞:表盤指針顯示;stc89c54;jm12864;ds12c887;ds18b20abstract this desi

2、gn is through the single-chip microcomputer principle and application classroom learning knowledge comprehensive application of, and access to information, and foster a self-study ability. and lead an innovative thinking, learning knowledge applied to daily life, let the lcd display more approximati

3、on real life dials clock, simulating dials pointer and digital clock jointly display. there stc89c54 main control chip microcontroller read clock chip ds12c887 and temperature sensor ds18b20 on time and temperature information, in lcd12864 main interface simulates dials pointer display clockwise, mi

4、nute hand, a second hand dynamic picture, interfacial more real, intuitive, and close to the real life dials a pointer is horological.keywords:dial pointer display;stc89c54;jm12864;ds12c887;ds18b20目 錄摘 要iabstractii第1章 緒論11.1 課題背景11.2 課體的目的及意義21.3 課題的技術指標2第2章 方案論證與系統(tǒng)設計32.1 方案論證32.1.1 單片機芯片的選擇方案和論證32.

5、1.2 液晶顯示模塊選擇方案和論證32.1.3 時鐘芯片的選擇方案和論證42.1.4 溫度模塊的選擇方案和論證42.2 硬件系統(tǒng)電路設計方案42.3 軟件系統(tǒng)設計方案5本章小結6第3章 硬件系統(tǒng)芯片特性簡介73.1 系統(tǒng)主控制芯片的介紹73.1.1 單片機stc89c54rc簡介73.1.2 單片機stc89c54rc的引腳功能83.2 時鐘電路芯片的介紹103.2.1 ds12c887時鐘芯片簡介103.2.2 ds12c887日歷時鐘芯片的引腳123.3 jm12864f漢字圖形點陣液晶顯示器163.3.1 jm12864f液晶顯示器引腳功能163.4 ds18b20溫度傳感器17本章小結

6、18第4章 系統(tǒng)電路設計及特性194.1 主控制電路的設計194.2 系統(tǒng)時鐘電路設計204.3 液晶顯示電路214.4 溫度采集電路22本章小結24第5章 系統(tǒng)的軟件設計及工作流程255.1 集成開發(fā)環(huán)境keil簡介255.2 程序設計概述265.2.1 液晶顯示程序的設計275.2.2 時鐘芯片操作程序設計325.2.3 感溫采集電路的程序設計345.2.4 繪制表盤指針程序設計375.2.5 輸入鍵盤程序設計395.3 軟件系統(tǒng)流程圖39本章小結41第6章 程序調(diào)試426.1 keil編譯器的使用426.2 系統(tǒng)調(diào)試44本章小結44結 論45致 謝46參考文獻47附錄1 譯文48附錄2

7、英文參考資料51附錄3 整機原理圖55附錄4 程序設計56-60-第1章 緒論1.1 課題背景人類的生活和工作均離不開時鐘。從古代的滴漏更鼓到近代的機械鐘,從電子表到目前的數(shù)字時鐘,為了準確的測量和記錄時間,人們一直在努力改進著計時工具。鐘表的數(shù)字化,大力推動了計時的精確性和可靠性。在單片機構成的裝置中,數(shù)字時鐘是必不可少的部件。它的用途十分廣泛,只要有計時的存在,便要用到數(shù)字時鐘的原理及結構;小型的數(shù)字鐘表同時在生活中,它以其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛。隨著人類科技文明的發(fā)展,人們對于時鐘的要求在不斷地提高。時鐘已不僅僅被看成一種用來顯示時間的

8、工具,在很多實際應用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高精度、多功能、小體積、低功耗,是現(xiàn)代時鐘發(fā)展的趨勢。在這種趨勢下,時鐘的數(shù)字化、多功能化、人性化、智能化已經(jīng)成為現(xiàn)代時鐘生產(chǎn)研究的主導設計方向。但是現(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品、新技術層出不窮,電子技術的發(fā)展更是日新月異。電子技術的應用無處不在,電子技術正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失。因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。模擬化、數(shù)字化的鐘表給人們帶來了極大的方便,是人們生活不

9、可缺少的一部分1。本設計是通過在“單片機原理及應用”課堂上學習的知識的綜合應用,以及查閱資料,培養(yǎng)一種自學的能力。并且引導一種創(chuàng)新的思維,把學到的知識應用到日常生活當中,讓液晶顯示更逼近現(xiàn)實生活的表盤鐘,實現(xiàn)模擬表盤指針和數(shù)字時鐘共同顯示。采用了分模塊化設計,各硬件電路和軟件設計模塊一一對應。軟件編程采用c語言,提高了系統(tǒng)程序的可移植性、可靠性、修改方便,使本設計和開發(fā)更方便明確。在設計中不斷的學習,思考和同學間的相互討論,運用科學的分析問題的方法解決遇到的困難,掌握單片機系統(tǒng)一般的開發(fā)流程,學會對常見問題的處理方法,積累設計系統(tǒng)的經(jīng)驗,充分發(fā)揮教學與實踐的結合。全能提高個人系統(tǒng)開發(fā)的綜合能力

10、,開拓了思維,為今后能在相應工作崗位上的工作打下了堅實的基礎。1.2 課體的目的及意義基于stc-51單片機的高仿真數(shù)顯模擬表盤電子鐘系統(tǒng)具有顯示直觀、準確、易于調(diào)整等特點。單片機誕生以來給全世界人類的生活和工作起到了劇烈的變化,而stc-51單片機是我國使用最早、最易掌握和應用的一款單片機。通過該系統(tǒng)的設計,對單片機的原理和功能有個較系統(tǒng)和全面的掌握,初步學習到有關工程設計的方法和思路。這樣以后的就業(yè)面會更加寬廣,也可以滿足當今社會對單片機開發(fā)人才的大量需2。本課題是基于智能化和模塊化的前提下設計出 jm12864上數(shù)字時鐘和模擬表盤指針時鐘的雙顯式時鐘,通過對設計目標的分析,分立出各個模塊

11、,然后根據(jù)各個模塊的功能,選擇適當?shù)男酒M行設計的。本課題的研究,對智能化、模塊化設計具有較強的推廣應用價值。1.3 課題的技術指標高仿真數(shù)顯模擬表盤電子鐘的設計,最終實現(xiàn)指標如下:1.具有模擬表盤指針和數(shù)字化顯示方式;2.可以切換界面具有模擬顯示和數(shù)字顯示兩種方式;3.具有鬧鐘提示功能;4.采用時鐘芯片;5.可顯示溫度信息精度0.5度;6.具有開機畫面和開機音樂功能;7.有陰歷和陽歷并有節(jié)假日提醒功能;8.有雙鬧鐘并有懶人貪睡功能;9.具有掉電數(shù)據(jù)不丟失功能;以下的各設計方案都是圍繞這九個技術指標來設計的。第2章 方案論證與系統(tǒng)設計本章主要是根據(jù)各個指標所用不同元器件加以分析和比較,得出最佳

12、的系統(tǒng)方案。2.1 方案論證2.1.1 單片機芯片的選擇方案和論證方案一:采用89c51芯片作為硬件核心,采用flash rom,內(nèi)部具有4kb rom 存儲空間,能于3v的超低壓工作,但是運用于電路設計中時由于不具備isp在線編程技術, 當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。所以不采用此方案。方案二:采用stc89c54芯片作為硬件核心,內(nèi)部有16k的flash rom 存儲空間,有高速、高可靠、在線編程性能,當在對電路進行調(diào)試時,由于程序錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,降低了對芯片的

13、損壞,所以選擇采用stc89c54作為主控制芯片3。2.1.2 液晶顯示模塊選擇方案和論證方案一:采用像素可位尋址的pg12864f液晶,考慮到要模擬表盤指針顯用位尋址的可以精確的控制出每點的坐標,但是用來數(shù)字顯示就的用軟件取出每點的高低電平放入數(shù)組內(nèi)調(diào)用,不易實現(xiàn)字體的顯示。程序繁瑣并且占用單片機內(nèi)存資源較大。所以不采用此方案。方案二:采用jm12864f液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字、圖形、顯示多樣、清晰可見并且占用單片機端口線少,電路簡單,無須外圍驅(qū)動電路。內(nèi)部有主控芯片st7920芯片控制,內(nèi)置8192個中文漢字、128個字符及64256點陣顯示ram(gdram

14、)可用于液晶屏上的每點坐標控制與pg12864f液晶有相似的功能,所以選擇采用jm12864f液晶顯示屏。2.1.3 時鐘芯片的選擇方案和論證方案一:采用ds1302時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償?shù)哪赀M行計數(shù),工作電壓+2.5v+5.5v范圍內(nèi),但是要外接頻率為32.768khz晶振,容易產(chǎn)生不起振現(xiàn)象,受外界影響大并且沒有鬧鐘功能。所以不采用此方案。方案二:采用ds12c887時鐘芯片,有ds1302時鐘芯片功能并具有完備的時鐘、鬧鐘及2100年的日歷功能,可選擇12或24小時制計時, 有閏年自動補償功能及有14個時鐘控制寄存器和114bit作為掉電保護用的低功耗r

15、am。時標可選擇二進制或bcd碼表示。而且精度高,所以選擇采用ds12c887時鐘芯片。2.1.4 溫度模塊的選擇方案和論證方案一:采用cu50 型熱電阻測量溫度,銅電阻,溫度范圍 -50150,銅熱電阻的價格便宜。但是銅熱電阻怕潮濕,易被腐蝕,熔點亦低,所以不采用此方案。方案二:采用單總線溫度傳感器ds18b20測量溫度,直接輸出數(shù)字信號。便于單片機處理及控制,節(jié)省硬件電路。且該芯片的物理化學性能很穩(wěn)定,元件線形性能好,使用方便,所以本設計中采用了該方案。綜上各方案所述該課題選定:采用stc89c54rc單片機作為主控制系統(tǒng);ds12c887時鐘芯片提供時鐘;jm12864f液晶顯示屏作為顯

16、示;ds18b20芯片作為溫度傳感器件。2.2 硬件系統(tǒng)電路設計方案本課題有主控芯片stc89c54單片機控制,通過讀取ds18b20溫度傳感器上的溫度和時鐘芯片ds12c887上的時間經(jīng)過處理和運算,在液晶屏上顯示出時間和溫度。在jm12864f液晶主界面上模擬表盤指針顯示時針、分針、秒針的動態(tài)畫面,使界面更加真實直觀,貼近現(xiàn)實生活中的表盤指針是鐘表。鍵盤可設定秒、分、時、年、月、日和鬧鐘。stc89c54單片機在控制模塊、jm12864f液晶顯示模塊、蜂鳴器鬧鐘提示模塊、溫度采集模塊、時鐘設定和鍵盤控制模塊,共為六個模塊化設計硬件。本設計硬件方框圖如圖2-1硬件方框圖所示。stc89c54

17、主控制電路jm12864液晶顯示電路蜂鳴器鬧鐘提示電路ds18b20溫度采集電路四位鍵盤控制電路ds12c887時鐘電路圖2-1 硬件方框圖2.3 軟件系統(tǒng)設計方案單片機的應用原理及時鐘芯片的工作原理是本設計的理論基礎,經(jīng)過論證,為了提高系統(tǒng)的可控性,在充分實現(xiàn)設計的技術指標和設計要求的前提下,選用了性價比較高的stc89c54rc單片機,該單片機成本低、性能好并且這款單片機可以在系統(tǒng)上進行編程,在用戶系統(tǒng)上即可下載/燒錄用戶程序,在程序的下載和使用上都提供了很大的方便。時鐘芯片選用ds12c887時鐘芯片,這款時鐘芯片可以掉電走時,免去了每次開機都要重新設定標準時間的麻煩,并且功能更加完善。

18、keil c51軟件開發(fā)系統(tǒng)等理論知識也是本設計用到的一個重要理論基礎在設計好完整的系統(tǒng)原理圖后,根據(jù)原理圖將硬件焊接成電路板,依據(jù)系統(tǒng)能夠?qū)崿F(xiàn)的諸多功能編寫程序,下載程序后進行調(diào)試4。接通電源后,晶振開始工作,為單片機提供一個穩(wěn)定的時鐘脈沖,保證單片機正常工作。通過鍵盤對當前時間及鬧鐘時間進行設置,單片機需要將這些信息寫入到一個時鐘芯片內(nèi)部,時鐘芯片初始化后根據(jù)我們設定好的時間及日期產(chǎn)生一個實時值存在自己的存儲器中,單片機讀取時鐘芯片中的這個實時值后,通過控制器的控制將這個值顯示在顯示器上。鬧鐘的實現(xiàn)原理如同上述,當時間到達設定的鬧鐘時間時,時鐘芯片以中斷的形式通知給單片機,單片機通過控制器

19、的控制使蜂鳴器發(fā)出報警提示。本章小結本章介紹了高仿真數(shù)顯模擬表盤電子鐘系統(tǒng)的整體設計思路和軟硬件設計方案,本設計采用了基于單片機的系統(tǒng)設計方案,由于引入了模塊化的設計思想,其硬件電路與軟件程序一一對應,各單元結構明確,條理清晰,給后續(xù)安裝和調(diào)試工作帶來極大的方便。第3章 硬件系統(tǒng)芯片特性簡介設計所需的芯片的硬件特性是系統(tǒng)設計的基礎,因此在介紹系統(tǒng)的硬件設計之前,應當介紹這些芯片的硬件特性。本章主要介紹了設計中用來作為系統(tǒng)控制的單片機stc89c54rc、提供實時時間功能的時鐘芯片ds12c887和液晶顯示模塊jm12864f的特點和相應管腳的含義。3.1 系統(tǒng)主控制芯片的介紹3.1.1 單片機

20、stc89c54rc簡介本課題設計選用stc89c54作為主控芯片,該芯片具有低成本、高性能、全靜態(tài)操作(0hz24mhz)、三級加密程序存儲器、可編程串行uart通道、低功耗空閑和掉電模式的特點,與mcs-51系列單片機產(chǎn)品指令系統(tǒng)完全兼容。該芯片內(nèi)部結構按其功能部件劃分可以看出由9大部分組成的。這9大部分是:1.一個8位中央處理機cpu。 2.有1280個字節(jié)的片內(nèi)數(shù)據(jù)存儲器ram。3.有16k+的片內(nèi)程序只讀存儲器rom或prom。為系統(tǒng)程序提供了大量的存儲空間。1000次的擦寫周期。4.有16k的flash存儲器。5.有8個特殊功能寄存器sfr。 6.有4個8位并行輸入輸出i/o接口:

21、p0口、 p1口、 p2口、 p3口(共32線), 用于并行輸入或輸出數(shù)據(jù)。7.有1個全雙工串行i/o接口。 8.有2個16位定時器/計數(shù)器。 9.有1個具有5個中斷源, 可編程為2個優(yōu)先級的中斷系統(tǒng)。 它可以接收外部中斷申請, 定時器/計數(shù)器中斷申請和串行口中斷申請。由上可見,stc89c54單片機的具有集成度高、系統(tǒng)結構簡單、系統(tǒng)擴展方便、可靠性高、處理功能強、運行速度高、容易產(chǎn)品化等特點。特別值得一提的是stc89c54單片機cpu中的位處理器,它實際上是一個完整的1位微計算機,這個1位微計算機有自己的cpu、位寄存器、i/o口和指令集5。3.1.2 單片機stc89c54rc的引腳功能

22、高仿真數(shù)顯模擬表盤電子鐘設計選用的stc89c54rc單片機芯片為40個引腳,它是用hmos工藝來制造的芯片,采用雙列直插(dip)方式封裝。40個管腳按其功能來分可分為三類:電源及時鐘、控制、端口,本文用到的stc89c54rc單片機管腳列表如表3-1所示、雙列直插封裝方式引腳如圖3-1所示。表3-1 stc89c54rc單片機管腳電源及時鐘引腳控制引腳i/o口引腳vcc、vss;xtall、xtal2psen、ale、ea、reset、p0、p1、p2、p3圖3-1 mcs-54雙列直插封裝方式的引腳1.電源引腳:vcc(40腳):接+5v電源正端vss(20腳):接+5v電源地端2.時鐘

23、引腳:兩個時鐘引腳xtal1、xtal2外接晶體與片內(nèi)的反相放大器構成了一個振蕩器,它為單片機提供了時鐘控制信號。2個時鐘引腳也可外接晶體振蕩器。(1)xtal1(19腳):接外部晶體的一個引腳。該引腳是內(nèi)部反相放大器的輸入端。這個反相放大器構成了片內(nèi)振蕩器。如果采用外接晶體振蕩器時,此引腳應該接地。(2)xtal2(18腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時鐘振蕩器時,該引腳接收時鐘振蕩器的信號,即把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。3.控制引腳(如表3-2所示)表3-2 控制引腳9腳29腳30腳31腳rst/vpdpsenale/progea/v

24、pp(1)rst/vpd(9腳):復位輸入。當振蕩器工作時,rts引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。(2)psen(29腳):程序存儲允許輸出是外部程序存儲器的讀選信號。(3)ale/prog(30腳):當訪問外部存儲器時可以鎖存地址。(4)ea/vpp(31腳):外部訪問允許。如果ea端為高電平(接vcc端),cpu則執(zhí)行單片機內(nèi)部程序存儲器中的指令。所以本文設計ea直接與vcc相接。4.i/o口線引腳排列(1)p0口8位、漏極開路的雙向i/o口。當使用片外儲存器及外擴i/o口時,p0口做為低字節(jié)地址/數(shù)據(jù)總線。在編程時,p0口可用于接收指令代碼字節(jié);在程序校檢時,p0口可輸出指

25、令字節(jié)(這是需要外加上拉電阻)。p0口也可作為通用i/o使用,變成準雙向口。當作為普通輸入時,應將輸出鎖存器置1。p0口可驅(qū)動8個ttl負載。(2)p1口8位、準雙口i/o,具有內(nèi)部上拉電阻。p1口是為用戶準備的i/o雙向口。在編程和校檢時,可用做輸入低8位地址;用做輸入時,應先將輸出鎖存器置1;p1口可驅(qū)動4個ttl負載。p1口的p1.0和p1.1具有替代功能。(3)p2口8位、準雙向i/o口,具有內(nèi)部上拉電阻。當使用片外儲存器或外擴i/o端口時,p2口輸出高8位地址;在編程校檢時,p2口可接收高字節(jié)地址和某些控制信號;p2口也可作為i/o口使用。用做輸入時,應先將輸出鎖存器置1;p2口可驅(qū)

26、動4個ttl負載。(4)p3口8位、準雙向i/o口,具有內(nèi)部上拉電阻。p3口可作為普通i/o口。用作輸入時,應先將輸出鎖存器置1;在編程校檢時,p3口接收某些控制信號;可驅(qū)動4個ttl。p3口還提供各種替代功能。p1口、p2口、p3口各i/o口線片內(nèi)均有固定的上拉電阻,當這3個準雙向i/o口作輸入口使用時,要向該口先寫“1”,另外準雙向i/o口無高阻的“浮空”狀態(tài)。p0口線內(nèi)無固定上拉電阻,由兩個mos管串接,既可開漏輸出又可處于高阻的“浮空”狀態(tài),故稱為雙向三態(tài)i/o口6。整個perom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms來完成。在芯片擦操作中

27、,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,8051設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止7。 5.定時器簡介片內(nèi)有2個16位的定時/計數(shù)器,具有四種工作方式。在單片機的應用中,往往需要精確的定時,或外部事件進行計數(shù)。為提高單片機的實時控制能力,因而需要在單片機內(nèi)部設置定時計數(shù)器。而定時器主要有2個,分別是t0(定時器0,14腳),t1(定時器1,15

28、腳)。3.2 時鐘電路芯片的介紹3.2.1 ds12c887時鐘芯片簡介ds12c887是一款與ds12887實時時鐘(rtc)功能兼容的替代產(chǎn)品。它提供rtc/日歷、定時鬧鐘、三個可屏蔽的中斷和一個通用中斷輸出、可編程方波以及114字節(jié)電池備份的靜態(tài)ram。少于31天的月份,月末日期可自動調(diào)整,其中包括閏年補償。該器件還可以工作于24小時或帶am/pm指示的12小時格式。一個精密的溫度補償電路用來監(jiān)視vcc的狀態(tài)。如果檢測到主電源故障,該器件可以自動切換到備用電源供電。vbackup引腳用于支持可充電電池或超級電容,內(nèi)部包括一個始終有效的涓流充電器。ds12c887時鐘芯片可以通過一個多路復

29、用的單字節(jié)接口訪問,該接口支持intel和motorola模式。由于 ds12c887能夠自動產(chǎn)生世紀、年、月、日、時、分、秒等時間信息,其內(nèi)部又增加了世紀寄存器,從而利用硬件電路解決子“千年”問題;ds12c887中自帶有鋰電池,外部掉電時,其內(nèi)部時間信息還能夠保持 10年之久;對于一天內(nèi)的時間記錄,有12小時制和 24小時制兩種模式。在 12小時制模式中,用 am和 pm區(qū)分上午和下午;時間的表示方法也有兩種,一種用二進制數(shù)表示,一種是用 bcd碼表示;ds12c887中帶有 128字節(jié) ram,其中有 11字節(jié) ram用來存儲時間信息,4字節(jié) ram用來存儲ds12c887的控制信息,稱

30、為控制寄存器,113字節(jié)通用 ram使用戶使用;此外用戶還可對 ds12c887進行編程以實現(xiàn)多種方波輸出,并可對其內(nèi)部的三路中斷通過軟件進行屏蔽。ds12c887時鐘芯片的主要性能如下:1.具有完備的時鐘、鬧鐘及到2100年的日歷功能,可選擇12小時制或24小時制計時,有am和pm、星期、夏令時間操作及閏年自動補償?shù)裙δ堋?.具有可編程選擇的周期性中斷方式和多頻率輸出的方波發(fā)生器功能。3.ds12c887內(nèi)部有14個時鐘控制寄存器,包括10個時標寄存器、4個狀態(tài)寄存器和114字節(jié)作掉電保護用的低功耗ram。4.由于該芯片具有多種周期中斷速率及時鐘中斷功能,因此可以滿足各種不同的待機要求,最長

31、可達24小時,使用非常方便。時標可選擇二進制或bcd碼表示。工作電壓:+4.5+5.5v。工作電流:715ma。工作溫度范圍:0+70。ds12887采用連續(xù)工作制,一般無需每次都初始化,即使是系統(tǒng)復位時也如此。但初始化時,首先應禁止芯片內(nèi)部的更新周期操作。所以,應先將ds12887狀態(tài)寄存器b中的set位置1,然后初始化00h09h時標參數(shù)寄存器和狀態(tài)寄存器a。此后,再通過讀狀態(tài)寄存器c,清楚寄存器c中的周期中斷標志位pf報警中斷標志位af、更新周期結束中斷標志位uf。通過讀寄存器d中的vrt位后將自動置1。最后,將狀態(tài)寄存器b中的set位置0,芯片開始計時工作8。3.2.2 ds12c88

32、7日歷時鐘芯片的引腳ds12c887日歷時鐘芯片的引腳標號,名稱及功能如表3-3所示。表3-3 ds12c887時鐘芯片的引腳引腳名稱功 能soedipbga11c5motmotorola或intel總線時序選擇端。利用此引腳選擇兩種總線類型中的一種,連接到vcc時選擇motorola總線時序,接地或懸空時選擇intel總線時序。該引腳內(nèi)部有一個下拉電阻。2x1連接標準的32.768khz石英晶體。內(nèi)部振蕩電路設計用于驅(qū)動負載電容(cl)為12.5p的石英晶體。引腳x1為振蕩器的輸入,可選擇外部32.768khz振蕩器。引腳x1外接振蕩器時,內(nèi)部振蕩器輸出引腳x2懸空。3x24-114-11f

33、4/d4/f3/d3/f2/d2/f1/d1ado-ad7雙向地址/數(shù)據(jù)復用總線。地址于總線周期的開始發(fā)送到總線上,并由as信號的下降沿鎖存到ds12r887。所寫的數(shù)據(jù)由ds的下降沿(motorola時序)或r/w信號的上升沿(intel時序)鎖存。讀周期中,ds12887于ds信號的后期(motorola)時序中ds和r/w均為高,intel時序中ds為低r/w為高)將數(shù)據(jù)發(fā)送到總線上。讀周期結束后,總線恢復到高阻狀態(tài),同時ds在motorola時序續(xù)表3-312/1612d5-d8gnd地。1313c1cs片選信號輸入,片選信號低電平有效,在訪問ds12r887的總線周期內(nèi)必須保持低電平

34、。在motorola時序中的ds和as信號工作期間,intel時序中的ds和r/w信號工作期間,cs必須保持有效。在cs信號無效的情況下,總線操作將不能訪問芯片。當vcc低于vpf電壓時,ds12r887內(nèi)部通過禁止cs輸入來拒絕訪問。此舉旨在斷電時保護rtc數(shù)據(jù)和ram數(shù)據(jù)。1414c3as地址選通輸入。由低變高的地址選通脈沖用來分高總線信號。在as信號的下降沿,地址鎖存到ds12r887內(nèi)。無論cs信號是否有效,as的下一個上升沿都將清除地址。地址選通信號必須先于每個讀或?qū)懺L問。如果在cs信號無效的情況下執(zhí)行了讀或?qū)懖僮鲃t必須在cs信號有效時且在讀或?qū)懺L問之前,重新發(fā)送一次地址選通信號。1

35、515c2r/w讀/寫輸入。r/w引腳有兩種操作模式。在mot引腳接vcc的motorola時序中,r/w電子來指示當前周期是讀還是寫。ds為高時,r/w為高電平表示讀周期,r/w為低電平則表示寫周期。在mot引腳接地的intel時序中,r/w為低電平有效。在此模式下,r/w引腳與普通ram的寫-使能信號(we)工作方式類似。在此信號的上升沿鎖存數(shù)據(jù)。222/3/16/20-22a3n.c.未連接。此引腳應保持懸空。在edip封裝中沒有此引腳。續(xù)表3-31717a1ds數(shù)據(jù)選通或讀輸入。ds引腳根據(jù)mot引腳電平有兩種模式。mot引腳接vcc時,選擇motorola總線時序。此模式下,總線周期

36、的后期ds為正脈沖,稱作數(shù)據(jù)選通脈沖。在讀周期中,ds表明ds12r887將要驅(qū)動雙向總線。在寫周期中,ds信號的下降沿使ds12r887數(shù)據(jù)驅(qū)動總線的時間周期,此模式下,ds引腳與普通ram的輸出使能信號(oe)工作方式類似。1818a2reset復位輸入,低電平有效reset引腳對時鐘,日歷或ram不起作用。上電時可將reset引腳首先保持低電平,以等待電源穩(wěn)定下來,保持低電平的時間可根據(jù)應用需要而定。但是,如果上電時使用reset信號,reset保持低電平的時間應當超過200ms,以保證控制ds12c887上電的內(nèi)部定時器結束。當reset為低電平,而且vcc大于vpf時,將產(chǎn)生一下操作

37、:1. 周期性中斷使能(pie)位清0。2. 鬧鐘中斷使能(aie)位清0。3. 更新結束中斷使能(uie)位清0。4. 周期性中斷標志(pf)位清0。5. 鬧鐘中斷標志(af)位清0。6. 更新結束中斷標志(uf)位清0。7. 中斷請求狀態(tài)標志(irqf)位清0。8. irq引腳置為高阻狀態(tài).9. 直到reset恢復為高電平才能訪問器件,方波輸出使能(sqwe)位清0。10. 在典型應用中,可將reset與vcc連接,使得ds12r887在進入或退出電源失效狀態(tài)時不影響任何控制寄存器的值。續(xù)表3-31919a4irq中斷請求輸出。ds12r887的irq引腳低電平有效,可用作處理器的中斷申請

38、輸入。只要引起中斷的狀態(tài)位置位,并且相應中斷使能位也置位,irq將一直保持低電平。處理器程序通常讀取c寄存器來消除irq引腳輸出。reset引腳也會清除未處理的中斷。沒有中斷發(fā)生時irq為高阻狀態(tài)。irq引腳為漏極開路輸出,需要使用一個外接上拉電阻與vcc相連。20vbackup連接可充電電池或超級電容。在vcc大于vbackup時,此引腳提供涓流充電功能。21a5rclr清除ram。rclr引腳低電平有效,用來清除(設為邏輯1)所有114個字節(jié)的通用ram,但不影響與rtc相關的ram。要清除ram,必須在未加vcc的后備電池模式下,將rclr強制為邏輯0.rclr功能通過人機接口使用(手工

39、或通過一個開關實現(xiàn)對地短接),而不是通過外部緩沖器驅(qū)動,該引腳已通過內(nèi)部上拉,不要外接上拉電阻。2323c4sqw方波輸出。sqw引腳能提供rtc內(nèi)部15級分頻器的13個分頻比之一??赏ㄟ^對計時器a編程來控制sqw引腳的輸出信號頻率,sqw信號可通過寄存器b的sqwe位打開或關閉。當vcc低于vpf時,sqw信號無法輸出。2424a6-a8b1-b8c6-c8vcc主電源的dc電源引腳,vcc在正常范圍內(nèi)時,可訪問器件的所有功能,并能進行數(shù)據(jù)讀寫,如果vcc低于vpf,則禁止讀和寫。3.3 jm12864f漢字圖形點陣液晶顯示器jm12864f漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8

40、192個中文漢字(16x16點陣)、128個字符(8x16點陣)及64x256點陣顯示ram(gdram)。主要技術參數(shù)和顯示特性如表3-4所示。表3-4 主要技術參數(shù)和顯示特性電源vdd 3.3v+5v(內(nèi)置升壓電路,無需負壓)顯示內(nèi)容128列 64行顯示顏色黃綠顯示角度6:00鐘直視lcd類型stn與mcu接口8位或4位并行/3位串行配置led背光有種軟件功能光標顯示、畫面移位、自定義字符、睡眠模式等3.3.1 jm12864f液晶顯示器引腳功能jm12864f漢字圖形點陣液晶顯示模塊邏輯工作電壓(vdd)為4.55.5v,電源地(gnd)為0v,工作溫度(ta)為-10 60(常溫) /

41、 -2070(寬溫)。jm12864f漢字圖形點陣液晶模塊的引腳名稱及功能說明見表3-5。表3-5 jm12864f漢字圖形點陣液晶顯示模塊的引腳引腳號引腳名稱方向功能說明1vss-模塊的電源地2vdd-模塊的電源正端3v0-lcd驅(qū)動電壓輸入端4rs(cs)h/l并行的指令/數(shù)據(jù)選擇信號;串行的片選信號5r/w(sid)h/l并行的讀寫選擇信號;串行的數(shù)據(jù)口6e(clk)h/l并行的使能信號;串行的同步時鐘7db0h/l數(shù)據(jù)0續(xù)表3-58db1h/l數(shù)據(jù)19db2h/l數(shù)據(jù)210db3h/l數(shù)據(jù)311db4h/l數(shù)據(jù)412db5h/l數(shù)據(jù)513db6h/l數(shù)據(jù)614db7h/l數(shù)據(jù)715ps

42、bh/l并/串行接口選擇:h-并行;l-串行16nc空腳17/reth/l復位 低電平有效18nc空腳19led_a(led+5v)背光源正極20led_k(led-ov)背光源負極3.4 ds18b20溫度傳感器對于感溫電路的設計部分,本文采用由dallas半導體公司生產(chǎn)的ds18b20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領域的溫度測量及控制儀器、測控系統(tǒng)和大型設備中。它具有體積小,接口方便,傳輸距離遠等特點。下面將詳細介紹這款芯片的技術性能和內(nèi)部結構。1.ds18b20技術性能 :a.采用單總線專用技術,既可通過串行口線,也可通過其它i

43、/o口線與微機接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進制數(shù),含符號位);b.測溫范圍為-55-+125,測量分辨率為0.0625;c.內(nèi)含64位經(jīng)過激光修正的只讀存儲器rom;d.適配各種單片機或系統(tǒng)機;e.用戶可分別設定各路溫度的上、下限;f.內(nèi)含寄生電源。 2.ds18b20內(nèi)部結構主要由四部分組成:a. 64位光刻rom,光刻rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼,64位光刻rom的排列是:開始8位(28h)是產(chǎn)品類型標號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(crc=x8+x5+x4

44、+1),光刻rom的作用是使每一個ds18b20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個ds18b20的目的結構圖;b.溫度傳感器,它負責完成對溫度的測量,如表3-6所示,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/lsb形式表達,其中s為符號位;c. 溫度報警觸發(fā)器th和tl,該寄存器有8為組成,用于存儲設定的報警溫度;d. 配置寄存器,它是用來配置不同的位數(shù)來確定溫度和數(shù)字的轉(zhuǎn)化。由圖3-2可以知道r1,r0是溫度的決定位,由r1,r0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對應的轉(zhuǎn)化時間,四種配置的分

45、辨率分別為0.5,0.25,0.125和0.0625,出廠時以配置為12位。表3-6 ds18b20溫度值格式表r1r2thermometerresolutionmaxconversiontime009-bit93.75ms (/8)0110-bit187.5ms (/4)1011-bit375ms (/2)1112-bit750ms ()圖3-2 ds18d20配置寄存器結構本章小結本章主要介紹高仿真數(shù)顯模擬表盤電子鐘所用到的主要控制芯片(stc98c54單片機)、溫度傳感器(18b20)及時鐘芯片(ds12c887)和一個液晶顯示模塊(jm12864f)的功能、原理及性能,并且對各個芯片的

46、管腳的功能做了細致的說明,為下章系統(tǒng)電路的設計和系統(tǒng)軟件設計做了充分準備。第4章 系統(tǒng)電路設計及特性4.1 主控制電路的設計本設計主控制電路主要包括單片機最小系統(tǒng)、蜂鳴器鬧鐘提示電路和四位鍵盤控制電路。本次單片機的最小系統(tǒng)電路采用外部時鐘方式及系統(tǒng)復位電路采用上電自動復位。主控制電路如圖4-1所示9。圖4-1 主控電路原理圖對電路說明如下:1.單片機采用外接晶振的方法,頻率為12mhz為定時器/計數(shù)器的編程和應用提供1s的機器周期;2.復位電路采用上電自動復位,上電的瞬間,rc電路充電,單片機rst(9腳)引腳端出現(xiàn)正脈沖,只要rst端保持10ms以上的高電平,就能使單片機有效地復位;3.由于

47、p1口、p2口、p3口單片機內(nèi)部有上拉電阻p0口沒有,所以在p0口接了一個排阻(a103j)作為上拉電阻,提高p0口的帶負載能力;4.蜂鳴器主要用來為系統(tǒng)提供聲音提示,例如系統(tǒng)通電時、開機音樂以及鬧鐘提示音樂時。本設計采用pnp型三極管(s8550)與蜂鳴器和單片機相連,當單片機相應管腳出現(xiàn)低電平時,pnp三極管導通,蜂鳴器發(fā)出聲音。5.由于所需的按鍵較少,本文采用獨立按鍵作為系統(tǒng)設置的輸入,這種按鍵電路具有配置靈活且軟件簡單的特點。按鍵是否被按下可以通過檢測按鍵與單片機相連的管腳是否是低電平,當按鍵按下時單片機的相應管腳與地相連因此呈現(xiàn)低電平。4.2系統(tǒng)時鐘電路設計本文設計的系統(tǒng)時鐘電路ds

48、12c887時鐘芯片與stc89c54單片機的各個管教連接方法如圖4-2系統(tǒng)時鐘電路原理圖所示。圖4-2 系統(tǒng)時鐘電路原理圖本設計采用intel的總線,根據(jù)第三章芯片的介紹,ds12c887時鐘芯片的mot管腳為被置地。相應的片選信號輸入管腳cs、地址選通輸入管腳、讀/寫輸入管腳r/w和數(shù)據(jù)選通過度輸入管腳分別與單片機的p3.5、p3.4、p3.6和p3.7相連,通過相應的軟件編程實現(xiàn)對時鐘芯片的控制。值得注意的是時鐘芯片的irq管腳與單片機的p3.2管腳(外部中斷0)相連,由于該時鐘芯片支持鬧鐘功能,當鬧鐘到時,芯片會向單片機發(fā)出信號,通過這個外部中斷引腳單片機在收到這個信號后會產(chǎn)生中斷,以

49、便進行相應的操作10。4.3 液晶顯示電路 顯示電路部分主要由液晶顯示jm12864f模塊和stc89c54單片機的相應管腳組成,在第三章3.3節(jié)jm12864f漢字圖形點陣液晶顯示器具體介紹了jm12864f個管腳的功能和名稱,如圖4-3液晶顯示電路原理圖所示,為液晶顯示模塊與單片機相連的電路原理圖。 圖4-3 液晶顯示電路原理圖對液晶顯示電路說明如下:1.液晶模塊的管腳1(vss)和管腳20(背光源負極)分別接地,管腳2(vdd)接到系統(tǒng)提供的+5v電源上。管腳17(ret)復位低電平有效,本設計液晶不用復位,所以與+5v電源相接。2.液晶模塊管腳3(v0)與一個滑動電阻器(w103)相連

50、用于作為液晶的電壓驅(qū)動,可以調(diào)節(jié)滑動電阻器阻值的大小來調(diào)節(jié)液晶屏顯示的對比度。3.液晶模塊的片選信號4管腳(rs)、讀寫信號5管腳(r/w)和并行使能信號6管腳(e)分別與單片機的p1.0、p1.1和p3.3管腳相連,用于對液晶顯示的片選和讀寫進行控制。4.液晶模塊15管腳(psb)是用來對液晶采用并行或是串行數(shù)據(jù)模式進行控制的,此管腳的為高是對應為并行模式,反之為串行模式。由于本文采用并行的傳輸模式,psb管腳被置高電平。于是對于數(shù)據(jù)和命令的輸出端口,本設計將stc89c54rc單片機的p0端口的8位作為輸出端口與液晶模塊的8位數(shù)據(jù)口對應相接。值得注意的是p0端口內(nèi)部沒有上拉電阻,是開漏的,

51、不管它的驅(qū)動能力多大,相當于它是沒有電源的,需要外部的電路提供電源,所以在單片機stc89c54rc的p0端口加上拉電阻的,從而提高單片機p0端口的帶負載能力。本設計為了保證每個端口的上拉電阻一致在設計中我們采用了標準的排組(a103j)。5.液晶模塊的管腳19(背光源正極)經(jīng)過npn三極管(s9013)發(fā)射極(e)和集電極(c)接+5v電源。三極管基極(b)經(jīng)過滑動電阻器(w502)與單片機p1.7管教相接,從而可用程序中控制stc89c54rc單片機p1.7管腳高低電平就可以控制液晶屏背光的亮滅,可以實現(xiàn)高仿真數(shù)顯模擬表盤電子鐘節(jié)電功能。改變滑動電阻器阻值的大小還可以調(diào)節(jié)液晶屏背光亮度的強

52、弱。這樣設計實現(xiàn)了jm12864f液晶屏幕背光亮度和對比度可調(diào),更人性化和智能化11。4.4溫度采集電路溫度傳感器ds18b20的管腳排列及封裝如圖4-4所示, 各個管教具體說明如下:(1)管腳1為接地;(2)管腳2為數(shù)據(jù)的輸入和輸出(i/o)口,獨特的一線接口,只需要一條口線通信多點能力,簡化了分布式溫度傳感應用,無需外部元件,可用數(shù)據(jù)總線供電;(3)管腳3為電源,電壓范圍為+3.0 v至+5.5 v。圖4-4ds18b20引腳分布圖本設計溫度采集電路使用的ds18b20溫度傳感器如圖4-4 ds18b20引腳分布圖中pr-35封裝形式,溫度采集電路的具體設計如下圖4-5溫度采集電路原理圖。

53、圖4-5 溫度采集電路原理圖溫度采集電路中溫度傳感器ds18b20的1角接地,管腳2與5v的電源相連為其正常工作供電,管腳3通過一個10k的上拉電阻與單片機的p3.0端口相連接,有利于對溫度數(shù)據(jù)的讀取。上文主要介紹了高仿真數(shù)顯模擬表盤電子鐘的各個單元硬件系統(tǒng)的設計方法。同時在每個系統(tǒng)模塊電路均給出了具體的原理圖,將各個單元模塊具體的電路原理圖結合起來,組成的整機電路如圖4-6高仿真數(shù)顯模擬表盤電子鐘整機電路圖所示。圖4-6高仿真數(shù)顯模擬表盤電子鐘整體電路圖本章小結本章主要對各單元電路進行了詳細的分析和論述,針對硬件設計中出現(xiàn)的問題提出了解決和簡化的方法,并結合各部分功能設計出了整機電路圖。經(jīng)測

54、試證明本設計各單元電路設計方案正確可行,各項指標穩(wěn)定可靠。第5章 系統(tǒng)的軟件設計及工作流程軟件設計是單片機開發(fā)中一個必須的環(huán)節(jié),本章將重點介紹本設計使用的軟件編譯軟件和各單元程序具體的實現(xiàn)方法,還簡要對集成開發(fā)環(huán)境keil進行了介紹。5.1 集成開發(fā)環(huán)境keil簡介單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要編成cpu可以執(zhí)行的機器碼(.hex文件)有兩種方法:一中是手工匯編,另一種是機器匯編,目前已經(jīng)極少使用匯編的方法了。機器匯編是通過匯編軟件將源程序變成機器碼,用于mcs-51單片機的匯編軟件有早期的編程軟件a51,隨著單片機開發(fā)技術的不斷發(fā)展,從普通使用匯編語言到

55、逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也不斷發(fā)展,keil軟件是目前最流行開發(fā)mcs-51系列單片機的軟件,這從近年來個仿真機廠商紛紛宣布全面支持keil即可看出。keil c51是美國 keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。集成開發(fā)環(huán)境keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows 界面。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,同過一個集成開發(fā)環(huán)境(uvision),將這些部分組合在一起。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 keil c51 生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。以前的操作系統(tǒng)等系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言依賴于計算機硬件,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好的編程語言就是高級語言,但是一般高級語言難以實現(xiàn)匯編語言的一些功能人們設想找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優(yōu)點于一身,于是c語言就產(chǎn)生了并且能進行位操作,能實現(xiàn)匯編語言大部分功能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論