電子時鐘的設(shè)計與制作畢業(yè)論文_第1頁
電子時鐘的設(shè)計與制作畢業(yè)論文_第2頁
電子時鐘的設(shè)計與制作畢業(yè)論文_第3頁
電子時鐘的設(shè)計與制作畢業(yè)論文_第4頁
電子時鐘的設(shè)計與制作畢業(yè)論文_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄中文摘要、關(guān)鍵詞31、緒論31.1課題研究的背景及意義31.2 國內(nèi)外研究41.3電子時鐘概述51.4 論文章節(jié)構(gòu)成及安排52、電子時鐘設(shè)計方案52.1 兩種設(shè)計方案的選擇52.2 系統(tǒng)電路63、硬件系統(tǒng)設(shè)計73.1 核心控制電路73.2 秒計時電路93.3 顯示電路114、軟件系統(tǒng)設(shè)計124.1 DS1302子程序124.2 LCD5110子程序144.3 主程序145、設(shè)計系統(tǒng)的調(diào)試155.1 硬件調(diào)試155.2 軟件調(diào)試156、本設(shè)計系統(tǒng)小結(jié)166.1 系統(tǒng)不足及功能拓展166.2 學(xué)習(xí)心得與展望16參考文獻(xiàn)16英文摘要、關(guān)鍵詞16電子時鐘的設(shè)計與制作信息技術(shù)學(xué)院電子信息科學(xué)與技術(shù)

2、專業(yè)指導(dǎo)教師 *作 者 *摘要:從古代的沙漏計時,到現(xiàn)在的機械鐘表、石英鐘,計時技術(shù)得發(fā)展經(jīng)過了一個漫長的完善過程,這充分顯現(xiàn)出了時間不論對古人還是現(xiàn)在的我們的重要性?,F(xiàn)在,全球社會都進(jìn)入了信息化時代,人們更加重了對時間計量精度的依賴,以至于鐘表應(yīng)用越來越廣,功能越來越多。普通的機械表對于當(dāng)代人復(fù)雜繁瑣的要求顯然早已不太適應(yīng),電子時鐘應(yīng)運而生。電子時鐘不僅能滿足基本時間要求,而且體積小,成本低廉,最大的亮點在于可以隨時根據(jù)不同的客戶要求進(jìn)行改進(jìn)、增加功能,所以電子鐘越來越受到人們的青睞。本課題即著眼于此,研究的主要目的是設(shè)計一個基于單片機的電子時鐘系統(tǒng)。由于單片機有價格實惠而且功能齊全的優(yōu)點,

3、在自動控制產(chǎn)品中廣泛應(yīng)用。本設(shè)計以ATmega16芯片為核心,以實時時鐘芯片DS1302為主要依托,通過LCD液晶屏完成其顯示、計時功能,本設(shè)計實現(xiàn)了所需功能的硬件電路,并應(yīng)用C語言進(jìn)行軟件編程。關(guān)鍵詞:電子時鐘 DS1302 LCD液晶屏1、緒論1.1課題研究的背景及意義時間的寶貴是個亙古不變的真理,然而工作的忙碌性和繁雜性很容易讓人忘記當(dāng)前的時間或是工作中不能及時方便地知曉時間。交通上,火車汽車要準(zhǔn)時到達(dá),航班要準(zhǔn)時起飛;在日常生活中,學(xué)校要求上學(xué)準(zhǔn)時,公司召開的會議要求參加準(zhǔn)時,重要約會要求到達(dá)準(zhǔn)時;在工業(yè)生產(chǎn)中,許多工作環(huán)節(jié)都規(guī)定了精準(zhǔn)的時間、間隔以及次序。所以說,隨時準(zhǔn)確地知道時間并

4、且利用時間是學(xué)習(xí)、工作、生活的必要要求。單片機是一種集成電路芯片,它將各種功能集成到一塊硅片上并且內(nèi)含完善的微型計算機系統(tǒng)。單片機自推出到現(xiàn)在已經(jīng)發(fā)展了二十多年,應(yīng)用領(lǐng)域有工業(yè)生產(chǎn)、通訊以及交通設(shè)備,還有辦公自動化、PC機外圍器件、汽車電子器件以及網(wǎng)絡(luò)通訊等。單片機的優(yōu)點有集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等,所以本設(shè)計討論的電子時鐘系統(tǒng)就是利用單片機制成。電子時鐘與機械時鐘相比具有很多優(yōu)越性,首先,其主要特點是直觀性,電子時鐘可以通過數(shù)字顯示反映出當(dāng)前的時間。其次在使用壽命方面,因為電子鐘不是機械驅(qū)動,所以使用壽命更長。然后在準(zhǔn)確度方面,由于應(yīng)用了電子集成電路和石

5、英晶體振蕩器,數(shù)字時鐘的精準(zhǔn)度遠(yuǎn)遠(yuǎn)超過了老式石英鐘的石英機芯驅(qū)動。最后,電子時鐘還能大大擴(kuò)展老式鐘表的功能,在準(zhǔn)確顯示時間得基礎(chǔ)上,還可借助單片機實現(xiàn)諸如鬧鈴、定時、自動報警等功能。電子時鐘的意義不僅僅在于反應(yīng)時間本身,這個時間系統(tǒng)還可以當(dāng)做一個單位模塊應(yīng)用于其他設(shè)備中,比如定時廣播、定時開關(guān)烤箱、定時關(guān)閉路燈,以及其他各種定時電氣的自動啟用等設(shè)備,都是內(nèi)嵌了電子時鐘而實現(xiàn)其時間功能的。因此,研究電字時鐘及其拓展電路的應(yīng)用,將會對以后研究其他自動化設(shè)備產(chǎn)生積極意義。1.2 國內(nèi)外研究時間計時的歷史要從公元1300年前開始追溯,那時人們主要是利用天文現(xiàn)象或流動物質(zhì)的連續(xù)性運動來計時。我國天文學(xué)家

6、張衡制造的漏水轉(zhuǎn)渾天儀是最早出現(xiàn)的機械鐘。公元1350年,意大利的丹蒂制造出第一臺機械打點塔鐘,這是最簡單的鐘表。公元1582年左右,意大利物理學(xué)家伽利略發(fā)明了重力擺。18世紀(jì)到19世紀(jì),鐘表制造行業(yè)已逐步實現(xiàn)工業(yè)化大規(guī)模生產(chǎn),并且已經(jīng)達(dá)到了相當(dāng)高的水平。20世紀(jì),隨著資本主義工業(yè)化國家的高速發(fā)展,電子行業(yè)逐漸展露鋒芒,尤其在20世紀(jì)末,電子技術(shù)飛速發(fā)展,使全球進(jìn)入一個信息化新時代,在這個趨勢下,新興的電子產(chǎn)品幾乎滲透到我們生產(chǎn)生活的各個部分。與此同時,現(xiàn)代電子產(chǎn)品的性能一步步提升,電子產(chǎn)品更新?lián)Q代的速度也越來越快。我國鐘表行業(yè)的發(fā)展則經(jīng)歷了古代、近代、現(xiàn)當(dāng)代。1949年以前,我國還沒有手表制

7、造業(yè),1949年以后開始了我國鐘表行業(yè)的發(fā)展;六十年代時,我國還是計劃經(jīng)濟(jì)模式,全國化大生產(chǎn),由國家投資,生產(chǎn)的全都是機械表;到了七十年代到八十年代,隨著國際電子技術(shù)的發(fā)展,我國電子表也跟上步伐,猛烈沖擊了傳統(tǒng)的機械鐘表所占的全國壟斷的形勢;九十年代,石英鐘表發(fā)展已基本完善,基本統(tǒng)一了我國的鐘表市場。時至今日,石英技術(shù)在計時領(lǐng)域大放異彩,各種計時工具大多采用了石英晶體振蕩器。而單片機的概念提出后,電子行業(yè)高速發(fā)展,各種芯片的研發(fā)層出不窮,DS1302這種實時時鐘芯片也應(yīng)運而生,將這種實時時鐘芯片與單片機技術(shù)結(jié)合就可以很容易就實現(xiàn)走時間的功能,時間可以方便地顯示在LCD液晶屏上。1.3電子時鐘概

8、述如今,電子時鐘形態(tài)各異,種類繁多,有微型、嵌入型的電子時鐘,也有懸掛在公共場合的大型電子表,這些電子表大都外形美觀,而且拓展了不少功能。由于單片機可以很容易實現(xiàn)芯片的智能化,所以在電子鐘的基礎(chǔ)上,人們可以根據(jù)自己的需要以及場合要求添加不同的附加功能。需要整點報時可添加蜂鳴器,需要測量環(huán)境溫度可以添加溫度傳感器,或者檢測空氣質(zhì)量、空氣濕度等,也可以設(shè)置定時鬧鈴功能甚至還可以添加USB端口讀取其他設(shè)備數(shù)據(jù)。日常生活中的手表鐘表等都是靠石英真晶體振蕩器實現(xiàn),因此走字精準(zhǔn),類似的,本設(shè)計所利用的實時時鐘芯片需要外接石英晶振,采用石英技術(shù),而且不需要經(jīng)常調(diào)試,使用起來很方便。由于采用了實時時鐘芯片DS

9、1302,這將代替?zhèn)鹘y(tǒng)的鐘表的機械傳動。1.4 論文章節(jié)構(gòu)成及安排本設(shè)計是以AVR單片機ATmega16為核心,以實時時鐘芯片DS1302為主要器件,以液晶屏LCD5110來完成時間顯示功能。論文共五章,每章分別是:第一章:緒論,介紹了本設(shè)計研究的背景及意義和國內(nèi)外研究狀況和本電子鐘概述。第二章:電子時鐘設(shè)計方案分析,介紹了本設(shè)計所涉及的芯片選擇以及總體方案的設(shè)計。第三章:硬件系統(tǒng)的設(shè)計,介紹了本設(shè)計的硬件電路構(gòu)成以及電路原理。第四章:軟件系統(tǒng)的設(shè)計,介紹本設(shè)計所需的軟件工具以及如何用C語言實現(xiàn)軟件編程。第五章:系統(tǒng)調(diào)試,介紹本設(shè)計后期的整體調(diào)試包括硬件和軟件調(diào)試。2、電子時鐘設(shè)計方案2.1

10、兩種設(shè)計方案的選擇實現(xiàn)電子鐘就是實現(xiàn)“走時間”,即實現(xiàn)秒信號的產(chǎn)生,由秒信號才能進(jìn)而產(chǎn)生分鐘信號、小時信號。關(guān)于秒信號的產(chǎn)生,有兩種設(shè)計方案供選擇。第一種是采用專用的實時時鐘芯片。時下常用的時鐘芯片有DS1302、SB2068、PCF8485等。這些芯片可以完成秒計時工作,進(jìn)而計出小時、年月日等。實時時鐘芯片大都價格實惠而且學(xué)習(xí)起來容易上手,所以被廣泛地采用。本設(shè)計介紹的實時時鐘芯片DS1302主要特點是數(shù)據(jù)傳輸方式為串行通信并且由于芯片內(nèi)部自帶鋰電池,所以掉電也可以工作所以不必?fù)?dān)心耗電這點很方便。第二種是完全用軟件方法實現(xiàn)計時,需要利用單片機中斷功能,具體操作是:設(shè)置幾個字節(jié)分別存放秒、分、

11、時、日、周、月、年等信息。利用定時器實現(xiàn)1秒定時中斷,這便是秒信息,每一次中斷都使秒字節(jié)加1;軟件設(shè)置當(dāng)秒字節(jié)累計到60時,分字節(jié)加1,同時秒字節(jié)清零;當(dāng)分字節(jié)累計加到60時,時字節(jié)加1,同時分字節(jié)清零;時字節(jié)累計加到24時,日字節(jié)加一,時字節(jié)清零。以此類推,再實現(xiàn)周、月、年的計時。這種設(shè)計方案的硬件電路更加簡單,單片機自己即可完成計時,但缺點是每次執(zhí)行main程序,定時器都需要重新賦值,每當(dāng)單片機斷電時,程序即停止,也就無法繼續(xù)完成計時工作。對比以上兩種設(shè)計方案,由于筆者對實時時鐘芯片比較感興趣,希望研究單片機控制其他芯片完成工作,所以決定選擇第一種方案,將單片機與時鐘芯片作為計時的硬件電路

12、基礎(chǔ)。對于第一種設(shè)計方案,先用板塊化思想將其各部分功能劃分。經(jīng)過分析可知,整個系統(tǒng)由核心控制板塊,秒計時板塊,顯示板塊以及一些輔助板塊如按鍵、溫度采集等板塊組成。核心控制由單片機及其最小系統(tǒng)構(gòu)成,秒計時由實時時鐘芯片DS1302完成,這兩塊已經(jīng)完成電子時鐘的基本功能,顯示板塊決定選用液晶屏LCD5110完成。2.2 系統(tǒng)電路PROTEL是一款畫電路圖的軟件,由Altium生產(chǎn),這款EDA軟件上手容易,使用簡單,功能齊全,所以在電子行業(yè)的CAD軟件中,是電子設(shè)計者的首選軟件,故本設(shè)計選用Protel軟件畫出基本時鐘電路圖如下。圖2-1時鐘電路圖圖中右側(cè)是本系統(tǒng)的核心控制芯片ATmega16,其左

13、側(cè)引腳分別連接液晶屏LCD5110和實時時鐘芯片DS1302,中間的SPI是本系統(tǒng)的下載軟件串口。3、硬件系統(tǒng)設(shè)計本設(shè)計系統(tǒng)采用板塊化的設(shè)計思想將整個設(shè)計系統(tǒng)分為核心控制板塊,秒計時板塊,顯示板塊以及按鍵、溫度采集板塊。并將所要實現(xiàn)的功能分配給相應(yīng)的板塊,通過軟件與硬件相結(jié)合的方式實現(xiàn)每個板塊的功能之后,再通過調(diào)整將所有板塊有機地整合成為一個電路完整、功能齊全、使用方便的時鐘系統(tǒng)。3.1 核心控制電路本設(shè)計的核心控制電路采用單片機控制,由AVR單片機ATMEGA16完成。ATMEGA16是一款高性能、低功耗的八位AVR微處理器。 ATMEGA16內(nèi)核具有種類繁多的指令集和三十二個通用的工作寄存

14、器。由于所有寄存器都和運算邏輯總單元ALU 直接連接,所以運行一條指令時,這條指令可以在單位時鐘周期內(nèi)同時訪問兩個獨立的工作寄存器。正是這種結(jié)構(gòu)才使得ATMEGA16芯片代碼效率大大提高,并且使得ATMEGA16芯片具有比普通的 CISC(復(fù)雜指令系統(tǒng)計算機)微控制器更高的數(shù)據(jù)吞吐率,最高可達(dá)十倍。ATMEGA16芯片有許多令人驚喜的特點,主要包括16K字節(jié)的Flash,512字節(jié)的EEPROM,1K 字節(jié)的SRAM。ATMEGA16芯片具有32個通用I/O 口,并且?guī)缀趺總€I/O都有第二功能。ATMEGA16芯片支持片內(nèi)編程與調(diào)試,具有可編程串行USART (Universal Synchr

15、onous/Asynchronous Receiver/Transmitter,通用同步/異步串行接收/發(fā)送器,USART是一個全雙工通用同步/異步串行收發(fā)模塊,該接口是一個高度靈活的串行通信設(shè)備)。ATMEGA16的引腳大都有第二功能,這是比51系列單片機先進(jìn)的地方,需要第二功能時可以直接連在該引腳上便可方便使用。本設(shè)計系統(tǒng)主要使用了B區(qū)引腳即完成了電子鐘的基本功能。其中,PB0當(dāng)做LCD液晶屏背景燈光使能引腳,PB1連接實時時鐘芯片DS1302的時鐘引腳SCK,PB2連接實時時鐘芯片DS1302的數(shù)據(jù)引腳I/O,PB3連接實時時鐘芯片DS1302的復(fù)位引腳RST。PB4連接液晶屏LCD51

16、10的CS#引腳,PB5連接液晶屏LCD5110的總線主機輸出/ 從機輸入引腳,此處應(yīng)用了單片機引腳的第二功能,PB6連接液晶屏LCD5110的數(shù)據(jù)或命令引腳D/C#,PB7連接液晶屏LCD5110的時鐘引腳CLK。PB8連接液晶屏LCD5110的外部復(fù)位輸入引腳RESET。圖3-1 ATMEGA16引腳圖3.2 秒計時電路本設(shè)計系統(tǒng)選擇美國DALLAS公司生產(chǎn)的實時時鐘電路DS1302來完成秒計時板塊工作。實時時鐘芯片DS1302以其接口簡單,計時準(zhǔn)確,帶充電功能,使用方便,低功耗以及工作電壓范圍寬等優(yōu)點,得到了廣泛的應(yīng)用。實時時鐘芯片DS1302可以對年、月、日、周、時、分、秒進(jìn)行計時,還

17、具有閏年補償功能。芯片內(nèi)部集成了可編程日歷時鐘和31個字節(jié)大小的靜態(tài)RAM,有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。芯片采用三線接口與CPU進(jìn)行同步通信,還可以用突發(fā)的方式一次性傳輸不止一字節(jié)的RAM數(shù)據(jù)或時鐘信號。DS1302芯片有主電源和備份電源雙引腳,還具有對備份電池進(jìn)行涓細(xì)電流充電的能力,可有效延長備份電池的使用壽命,備份電源可由大容量電容(1F)來替代。需要特別指出的是,DS1302芯片的工作需要使用32.768KHz的晶振。各個引腳的功能是:圖3-2 DS1302引腳u VCC1 :電源輸入引腳,單電源供電時接VCC1 腳,雙電源供電時用于接備份電源。u VCC

18、2 :電源輸入引腳,雙電源供電時用于接主電源。u GND:接地引腳。u RST:控制移位寄存器/復(fù)位引腳u SCLK:串行時鐘輸入引腳u X1:32.768KHz晶振輸入引腳u X2:32.768KHz晶振輸出引腳u I/O:數(shù)據(jù)輸入/輸出引腳實時時鐘芯片DS1302的X1和X2引腳用于外接32.768千赫茲的石英晶振,產(chǎn)生的振蕩源提供給芯片內(nèi)部電路計時使用。實時時鐘芯片DS1302采用三線串行接口方式。外部控制電路可以通過RST、SCLK和I/O引腳來實現(xiàn)數(shù)據(jù)傳輸。其中,RST引腳為通信允許信號,低電平有效,即RST=0允許通信,RST=1時禁止通信。SCLK引腳為串行數(shù)據(jù)的位同步脈沖信號,

19、I/O引腳為雙向串行數(shù)據(jù)傳輸信號。實時時鐘芯片DS1302的備份電池可選用可充電鎳鎘電池或者1 uF以上的超容量電容。DS1302內(nèi)部的涓流充電器在主電壓工作正常時向備份電池充電,理論上說,系統(tǒng)主電源的工作電壓應(yīng)該稍微高于備份電池電壓,否則無法充電。本設(shè)計系統(tǒng)中,整個電路使用了兩種電源,主電源將為整個電路供電,還有DS1302的備用電源。當(dāng)主電源被切斷后,DS1302啟用備用電源,可以保持DS1302繼續(xù)工作。當(dāng)主電源恢復(fù)供電,LCD液晶屏可以依舊顯示當(dāng)前時間,而不會因為斷電使系統(tǒng)復(fù)位到初始化時間,避免了重新校時的麻煩。實時時鐘芯片DS1302為從器件,接受從外部位處理器的命令來完成功能設(shè)定以

20、及控制數(shù)據(jù)傳輸。外部處理器通過命令字節(jié)完成操作,首先向?qū)崟r時鐘芯片DS1302寫入一個命令字節(jié),接著是數(shù)據(jù)字節(jié)。表3-1 DS1302命令字節(jié)的格式表位序D7D6D5D4D3D2D1D0定義1RAM/CKA4A3A2A1A0RD/W其中,實時時鐘芯片DS1302命令字節(jié)各位的含義如下。u 命令字節(jié)的最高位D97始終為1.u RAM/CK位(D6位):DS1302片內(nèi)隨機存儲器/時鐘選擇位,當(dāng)RAM/CK=1時,為隨機存儲器操作,A4A0的范圍為030;當(dāng)RAM/CK=0時,為時鐘操作,定義時鐘和其他寄存器的地址。A4A0的范圍為06,由低到高位分別為秒、分、時、日、月、星期、年的寄存器。u A

21、4A0(D5D1):片內(nèi)日歷時鐘寄存器或隨機存儲器的地址選擇位。u RD/W位(D0):DS1302讀寫控制位。當(dāng)RD/W=1時,為讀操作;當(dāng)RD/W=0時,為寫操作。時鐘操作時,DS1302共有秒寄存器、分寄存器、小時寄存器、日寄存器、月寄存器、星期寄存器、年寄存器,這些寄存器與日歷、時間相關(guān),保存了時鐘信息,存放的數(shù)據(jù)格式為BCD碼形式。有兩點值得注意,第一是秒寄存器的第七位定義為暫停標(biāo)志,當(dāng)該位設(shè)置為1時,芯片將停止振蕩時鐘;當(dāng)該位置0時,始終開始運行。第二是小時寄存器的第七位用于定義DS1302是運行十二小時模式還是二十四小時模式,當(dāng)該位置1時,選擇十二小時模式,當(dāng)該位置0時,選擇二十

22、四小時模式。RAM操作負(fù)責(zé)讀寫DS1302的片內(nèi)RAM存儲器。當(dāng)選擇片內(nèi)RAM操作時,命令字節(jié)中A4A0位用于表示片內(nèi)RAM單元地址,地址范圍為00H1EH,用時可自由調(diào)用。3.3 顯示電路LCD5110最早用于手機屏幕,后來也廣泛應(yīng)用于各類便攜式的顯示系統(tǒng),本設(shè)計即采用液晶屏LCD5110完成顯示時間工作。該芯片的特點是:是84×48的點陣LCD(48行,84列輸出),可以顯示4行漢字;與主控芯片的通信方式為串行傳輸,所以僅有少量傳輸線;支持多種串行通信協(xié)議(本設(shè)計采用AVR單片機,LCD5110支持AVR的SPI),數(shù)據(jù)傳輸速率最高可到4Mbps;供電電壓低,且具有掉電模式,低功

23、耗。圖3-3 LCD5110引腳圖u VDD為電源輸入引腳,需連接3.345V電壓。u CLK為同步時鐘輸入引腳。u DIN為數(shù)據(jù)輸入引腳,時鐘上升沿有效。u D/C為數(shù)據(jù)/命令切換引腳,低電平時選擇命令功能,高電平時選擇數(shù)據(jù)功能。u CS為片選信號,低電平有效。u GBD為地引腳。u VOUT為供電引腳。液晶屏為84×48點陣LCD,意味著有84×48點,每個像素點的亮滅狀態(tài)即對應(yīng)于需要顯示的信息,在LCD上顯示字符實際上就是按照字符的點陣圖顯示設(shè)計出各個像素點的狀態(tài)。字模軟件就是針對LCD液晶屏所開發(fā)的可以方便顯示點陣的工具,只要將所需顯示的信息先在字模軟件中生成對應(yīng)代

24、碼,就能方便地能利用其對應(yīng)代碼。圖3-4 字模軟件ReadHzk圖液晶屏的顯示原理比較復(fù)雜,但是現(xiàn)在產(chǎn)品大都附帶驅(qū)動程序,所以結(jié)合字模軟件,可以很輕松利用LCD完成顯示功能。4、軟件系統(tǒng)設(shè)計由于本設(shè)計系統(tǒng)核心控制芯片為AVR系列單片機,所以軟件開發(fā)工具選用WinAVR系列,本設(shè)計利用programmer's notepad作為編寫器,用雙龍下載器下載程序。由于安裝了WinAVR后,文件夾WinAVRavrincludeavr下包含有豐富的頭文件,所以在用programmer's notepad編寫程序時,需要將這些頭文件包含在內(nèi)。4.1 DS1302子程序圖4-1 DS1302

25、一個字節(jié)寫入時序圖以上是DS1302一個字節(jié)寫入的時序圖,第一個字節(jié)是地址字節(jié),第二個字節(jié)是數(shù)據(jù)字節(jié)。RST信號必須拉高,否則輸入無效,結(jié)束時,RST信號拉低。地址字節(jié)和數(shù)據(jù)字節(jié)的讀取是上升沿有效,而且是由最低有效位開始讀入。以下是向DS1302寫入一個字節(jié)數(shù)據(jù)(沒有RST操作)。void DS1302_writeB(uchar byte)uchar i; for(i=0;i<8;i+) /8位數(shù)據(jù)計數(shù) if(byte&0x01) /當(dāng)前位是否是1 PORTB|=BIT(RTC_DATA); /當(dāng)前位是1,拉高數(shù)據(jù)端 else PORTB&=BIT(RTC_DATA);

26、/當(dāng)前位是0,拉低數(shù)據(jù)端 PORTB&=BIT(RTC_CLK); /拉低時鐘端 Delayus(10); /調(diào)整時鐘和脈沖寬度 PORTB|=BIT(RTC_CLK); /時鐘上升沿(DS1302采樣數(shù)據(jù)) byte>>=1; /數(shù)據(jù)右移1位,為送出新數(shù)據(jù)位做準(zhǔn)備 圖4-2 DS1302一個字節(jié)讀入時序圖以上是DS1302一個字節(jié)讀入的時序圖,與寫一個字節(jié)不同,這是先寫地址字節(jié),然后再讀數(shù)據(jù)字節(jié),而且是下降沿有效,前提是RST信號必須拉高,寫字節(jié)也是由最低有效位開始寫入。以下是從DS1302讀出一個字節(jié)數(shù)據(jù)(沒有RST操作)的代碼。uchar DS1302_readB(v

27、oid)uchar i,byte=0; DDRB&=BIT(RTC_DATA); /設(shè)置數(shù)據(jù)端口輸入 PORTB&=BIT(RTC_DATA); /去除上拉電阻 for(i=0;i<8;i+) /8位 PORTB|=BIT(RTC_CLK); /上升沿有效 Delayus(10); PORTB&=BIT(RTC_CLK); /輸出數(shù)據(jù)下降沿有效 Delayus(10); /等待數(shù)據(jù)變化 if(PINB&BIT(RTC_DATA) byte|=(1<<i); /如果是高電平就將返回數(shù)據(jù)位置為1 else byte&=(1<<i

28、); /如果是低電平就將返回數(shù)據(jù)位置為0 DDRB|=BIT(RTC_DATA); /設(shè)置數(shù)據(jù)端口為輸出 return byte; /返回讀出的數(shù)據(jù) 完成DS1302的基本寫字節(jié)和讀字節(jié)操作后,對DS1302進(jìn)行設(shè)置初始時間操作,讀取時間操作以及初始化操作,即可完成時間工作。4.2 LCD5110子程序液晶屏LCD5110出廠自帶驅(qū)動程序,自帶二十六個字母顯示以及常用符號,函數(shù)LCD_write_english_String以及LCD_write_chinese_string都已寫好,故本設(shè)計再利用字模軟件生成電子時鐘所需的初始化漢字或字符即可。4.3 主程序主程序首先初始化液晶屏LCD511

29、0,然后初始化實時時鐘芯片DS1302的三根數(shù)據(jù)線以及啟動DS1302的振蕩器,使DS1302開始秒計時工作,再設(shè)置好時間初始值為當(dāng)前實時時間。接著設(shè)置一個無限循環(huán)函數(shù),即獲取當(dāng)前時間和顯示當(dāng)前時間即可。 圖4-3 總程序流程圖5、設(shè)計系統(tǒng)的調(diào)試本設(shè)計的軟硬件完成后,還需要進(jìn)行系統(tǒng)調(diào)試,分為硬件調(diào)試和軟件調(diào)試兩部分,現(xiàn)分別介紹如下。5.1 硬件調(diào)試硬件調(diào)試即在硬件電路完成后,用萬能表等工具對電路進(jìn)行檢查。本設(shè)計將各個器件焊接在萬能板上完成,焊接過程中難免出現(xiàn)焊接錯誤或者虛焊等不應(yīng)出現(xiàn)的情況,所以硬件檢測需要在熟悉系統(tǒng)電路原理的基礎(chǔ)上進(jìn)行,硬件調(diào)試是一項很需要細(xì)心和耐心的工作。調(diào)試時有幾點需要注

30、意。第一,查看電源是否連接正確,是否按照芯片要求連接了正確伏安的電壓源,本設(shè)計中,DS1302的主電源和備用電源都連接在3.3V的電壓源上。第二,ATMEGA16與DS1302、LCD5110、SPI之間是否連接準(zhǔn)確,必須嚴(yán)格對照電路圖檢查。第三,用萬能表仔細(xì)檢查每個焊點是否虛焊,本系統(tǒng)用雙排針做單片機的SPI,焊接時很容易使相鄰管腳連接到一塊,這種情況尤其要注意,一經(jīng)發(fā)現(xiàn),必須用工具將其斷路。在燒入代碼時完成以上硬件檢測工作后,燒入代碼仍然不能正常運行,此后則需要結(jié)合軟件調(diào)試來分析是否是硬件問題,如果將代碼燒入其他設(shè)備可正常運行,則說明本設(shè)計的硬件依然有問題,則需要繼續(xù)排查。本設(shè)計系統(tǒng)板子焊

31、好后接通電源無法通電,經(jīng)萬用表檢測,發(fā)現(xiàn)ATmega16芯片管腳有焊連錯誤并且指示燈連接錯誤,改正后問題解決。5.2 軟件調(diào)試用雙龍下載器將代碼燒寫進(jìn)本設(shè)計系統(tǒng),在液晶屏上觀測運行結(jié)果。最開始,液晶屏完全無顯示,僅有背景燈光。于是從硬件、軟件兩部分分別排查,用以上硬件檢測方法后,再進(jìn)行軟件檢測。軟件檢測需要分模塊進(jìn)行。筆者及小組成員首先檢測液晶屏,向液晶屏燒入一段簡單的顯示程序,結(jié)果正常,排除了液晶屏的硬件問題,經(jīng)過繼續(xù)的排查,考慮是實時時鐘芯片DS1302的代碼編寫不正確。經(jīng)過仔細(xì)閱讀芯片手冊,發(fā)現(xiàn)DS1302的讀寫操作需要提高注意,在寫一個字節(jié)的時候,AVR單片機的I/O口應(yīng)該一直保持輸出

32、狀態(tài),但在讀一個字節(jié)的時候,AVR單片機的I/O口應(yīng)該先是輸出狀態(tài),然后變?yōu)檩斎霠顟B(tài),而且必須改變時鐘信號的順序,所以筆者經(jīng)調(diào)試明白了時鐘信號與復(fù)位(片選)信號的關(guān)系:在寫入數(shù)據(jù)時,當(dāng)RST信號還沒有拉高之前,必須把時鐘信號初始化拉低。6、本設(shè)計系統(tǒng)小結(jié)6.1 系統(tǒng)不足及功能拓展首先總結(jié)本設(shè)計系統(tǒng)的不足以及可考慮的進(jìn)一步拓展:1) 可設(shè)置復(fù)位按鍵、調(diào)整時間按鍵(現(xiàn)在只能通過程序復(fù)位、設(shè)初始值,不能自動調(diào)時間)。2) 基于ds1302的缺陷,“年”時鐘寄存器只能控制個位及十位數(shù)字。3) 可加上蜂鳴器,利用中斷實現(xiàn)整點報時。4) 可設(shè)置鬧鈴功能。5) 可加上DS18B20溫度傳感器顯示溫度或加上S

33、HT11溫濕度傳感器,在屏幕上動態(tài)顯示 實時溫濕度。6.2 學(xué)習(xí)心得與展望本次畢業(yè)設(shè)計系統(tǒng)的學(xué)習(xí)心得與展望有:1) 理論與實踐相結(jié)合的重要性,通過實際動手,進(jìn)一步學(xué)習(xí)了單片機知識。2) 學(xué)會了自主學(xué)習(xí)芯片的方法與技巧及編程上的經(jīng)驗,如:片選拉高之前必須將時鐘拉低,但是這一點芯片手冊時序圖不顯示,需經(jīng)驗積累。3) 通過實際動手打開了思路,有信心在短時間內(nèi)學(xué)習(xí)一種芯片。4) 知識的嚴(yán)密性很重要,團(tuán)隊合作很重要。參考文獻(xiàn)1 楊欣等電子設(shè)計從零開始M北京:清華大學(xué)出版社2005.10.2 李軍,劉君華. AVR單片機的特點及其應(yīng)用J. 測控技術(shù) , 2002,(07) .3 李慧. 基于FPGA的電子

34、萬年歷設(shè)計J. 微計算機信息 , 2010,(20) .4 黃慶華.單片機開發(fā)技術(shù)與實訓(xùn).北京.電子工業(yè)出版社,2006.7.5 李振軍電路設(shè)計基礎(chǔ)與典型范例M北京:電子工業(yè)出版社2008.01.Abstract: from the ancient time hourglass, to the present mechanical clock and watch, quartz clock, The timing technology development has gone through a long process of improvement, which fully shows the importance of time for both of the ancients an

溫馨提示

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

評論

0/150

提交評論