![基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)(附電路圖及源程序)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/7178fddc-7b1c-441a-a3b6-c1d35773e73d/7178fddc-7b1c-441a-a3b6-c1d35773e73d1.gif)
![基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)(附電路圖及源程序)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/7178fddc-7b1c-441a-a3b6-c1d35773e73d/7178fddc-7b1c-441a-a3b6-c1d35773e73d2.gif)
![基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)(附電路圖及源程序)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/7178fddc-7b1c-441a-a3b6-c1d35773e73d/7178fddc-7b1c-441a-a3b6-c1d35773e73d3.gif)
![基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)(附電路圖及源程序)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/7178fddc-7b1c-441a-a3b6-c1d35773e73d/7178fddc-7b1c-441a-a3b6-c1d35773e73d4.gif)
![基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)(附電路圖及源程序)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/7178fddc-7b1c-441a-a3b6-c1d35773e73d/7178fddc-7b1c-441a-a3b6-c1d35773e73d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、瀘 州 職 業(yè) 技 術(shù) 學(xué) 院畢 業(yè) 論 文基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)學(xué)生姓名所 在 系班 級專 業(yè)指導(dǎo)教師指導(dǎo)教師評閱書指導(dǎo)教師評價(jià):一、撰寫(設(shè)計(jì))過程1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學(xué)生掌握專業(yè)知識、技能的扎實(shí)程度 優(yōu) 良 中 及格 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識和專業(yè)技能分析和解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性 優(yōu) 良 中 及格 不及格5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格
2、不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)指導(dǎo)教師: (簽名) 單位: (蓋章)年 月 日評閱教師評閱書評閱教師評價(jià):一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)?
3、優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)評閱教師: (簽名) 單位: (蓋章)年 月 日教研室(或答辯小組)及教學(xué)系意見教研室(或答辯小組)評價(jià):一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對答辯問題的反應(yīng)、理解、表達(dá)情況 優(yōu) 良 中 及格 不及格3、學(xué)生答辯過程中的精神狀態(tài) 優(yōu)
4、 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格評定成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)教研室主任(或答辯小組組長): (簽名)年 月 日教學(xué)系意見:系主任: (簽名)年 月 日瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文
5、摘要摘要隨時(shí)代的發(fā)展,生活節(jié)奏的加快,人們的時(shí)間觀念愈來愈強(qiáng);隨自動(dòng)化、智能化技術(shù)的發(fā)展,機(jī)電產(chǎn)品的智能度愈來愈高,用到時(shí)間提示、定時(shí)控制的地方也會愈來愈多,因此,設(shè)計(jì)開發(fā)數(shù)字時(shí)鐘具有良好的應(yīng)用前景。由于單片機(jī)價(jià)格的低成本、高性能,在自動(dòng)控制產(chǎn)品中得到了廣泛的應(yīng)用。本設(shè)計(jì)利用atmel公司的at89s52單片機(jī)對電子時(shí)鐘進(jìn)行開發(fā),設(shè)計(jì)了實(shí)現(xiàn)所需功能的硬件電路,應(yīng)用匯編語言進(jìn)行軟件編程,并用實(shí)驗(yàn)板進(jìn)行演示、驗(yàn)證。在介紹本單片機(jī)的發(fā)展情況基礎(chǔ)上,說明了本設(shè)計(jì)實(shí)現(xiàn)的功能,以及實(shí)驗(yàn)板硬件情況,并對各功能電路進(jìn)行了分析。主要工作放在軟件編程上,用實(shí)驗(yàn)板實(shí)現(xiàn)時(shí)間、日期、定時(shí)及它們的設(shè)定功能,詳細(xì)對軟件編程
6、流程以及調(diào)試進(jìn)行了說明,并對計(jì)時(shí)誤差進(jìn)行了分析及校正,提出了定時(shí)音與顯示相沖突問題及解決方案。實(shí)驗(yàn)證明效果良好,可以投入使用。關(guān)鍵詞:單片機(jī) at89s52 電子時(shí)鐘 匯編語言47瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 目錄目錄摘要i第一章 設(shè)計(jì)任務(wù)分析11.1 課題背景11.2 設(shè)計(jì)任務(wù)11.3 課題意義11.4 本章小節(jié)2第二章 系統(tǒng)功能及操作32.1 系統(tǒng)功能的確定32.1.1 基本功能32.1.2 擴(kuò)展功能32.2 系統(tǒng)操作說明42.3 本章小節(jié)43 系統(tǒng)硬件設(shè)計(jì)實(shí)驗(yàn)板介紹53.1 芯片的選擇53.2 實(shí)驗(yàn)板電路原理圖63.3 功能電路分析63.3.1 時(shí)鐘電路63.3.2 復(fù)位電路63.3.3 鍵
7、盤電路73.3.4 數(shù)碼顯示電路73.3.5 蜂鳴器電路83.4 本章小節(jié)84 系統(tǒng)軟件設(shè)計(jì)94.1 數(shù)據(jù)單元分配94.1.1 數(shù)據(jù)存儲單元分配94.1.2 標(biāo)志位單元分配94.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法94.3 實(shí)現(xiàn)時(shí)鐘程序設(shè)計(jì)步驟104.3.1 主程序模塊設(shè)計(jì)104.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)114.3.3 顯示子程序模塊的實(shí)現(xiàn)124.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)124.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)124.4 程序說明124.4.1 定時(shí)器初值計(jì)算124.4.2 程序初始化124.4.3 誤差分析及校正134.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定134.4.5 實(shí)現(xiàn)連續(xù)加1134.4.6
8、定時(shí)音與顯示相沖突問題及解決方案134.5 本章小節(jié)135 系統(tǒng)調(diào)試14結(jié)束語15致謝16附錄a:實(shí)驗(yàn)板原理圖17附錄b:程序清單18參考文獻(xiàn)45瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 設(shè)計(jì)任務(wù)分析第一章 設(shè)計(jì)任務(wù)分析1.1 課題背景單片機(jī)自1976年由intel公司推出mcs-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、pc機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機(jī)有兩種基本結(jié)構(gòu):一種是在通用微型計(jì)算
9、機(jī)中廣泛采用的,程序存儲器和數(shù)據(jù)存儲器共用一個(gè)存儲器空間的結(jié)構(gòu),稱為“馮諾依曼”(von neumann)結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為“哈佛”(harvard)結(jié)構(gòu),目前的單片機(jī)采用此種結(jié)構(gòu)為多。本文討論的單片機(jī)多功能時(shí)鐘系統(tǒng)的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有體積小,可靠性高,功能多等特點(diǎn)。不僅能滿足所需要求而且還有很多功能可供擴(kuò)展,有著廣泛的應(yīng)用領(lǐng)域。1.2 設(shè)計(jì)任務(wù)1.3 課題意義在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)
10、制作的,其定時(shí)準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機(jī)性價(jià)比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛。大則可以構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能;小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大、體積小、質(zhì)量輕、靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)成各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。這些具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能時(shí)鐘系統(tǒng),它有基本
11、的時(shí)間功能,還有定時(shí)功能,既可作為鬧鈴,也可擴(kuò)展為定時(shí)對家電等電氣產(chǎn)品的自動(dòng)控制,可以避免多種控制器的混淆,利用一個(gè)控制器對多路電器進(jìn)行控制;可增加溫度傳感器,進(jìn)行實(shí)時(shí)溫度顯示,進(jìn)一步擴(kuò)展為利用不同的溫度某些電氣產(chǎn)品進(jìn)行自動(dòng)控制;也可增加濕度傳感器,進(jìn)行實(shí)時(shí)濕度顯示,以便對濕度進(jìn)行控制,方便人們的生活。1.4 本章小節(jié)本章主要介紹了課題背景、設(shè)計(jì)任務(wù)和課題意義,對單片機(jī)的優(yōu)點(diǎn)及結(jié)構(gòu)作了簡要敘述,也對本系統(tǒng)的應(yīng)用及概況進(jìn)行了說明。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 系統(tǒng)功能及操作第二章 系統(tǒng)功能及操作2.1 系統(tǒng)功能的確定2.1.1 基本功能系統(tǒng)具有時(shí)間、日期、三路定時(shí)功能,并可以對時(shí)間、日期、定時(shí)進(jìn)行設(shè)
12、定,有定時(shí)提示音。要求計(jì)時(shí)精度盡量提高。顯示格式為:時(shí)間:“時(shí)”(第1、2位)、“分”(第3、4位)、“秒”(第5、6位);日期:“年”(第1、2位,如2007年顯示為07)、“月”(第3、4位)、“日” (第5、6位);定時(shí):“時(shí)”(第1、2位)、“分”(第3、4位)、“狀態(tài)標(biāo)志”(第5、6位)。鍵盤及數(shù)碼管排列如圖2-1所示。2.1.2 擴(kuò)展功能該系統(tǒng)可以增加溫度傳感器,實(shí)現(xiàn)溫度測量,以實(shí)時(shí)顯示溫度,用1、2位數(shù)碼管顯示;還可以增加濕度傳感器,實(shí)現(xiàn)濕度測量,以實(shí)時(shí)顯示濕度,用5、6位數(shù)碼管顯示。多路定時(shí)器功能也可擴(kuò)展為對多種家電等電氣產(chǎn)品的自動(dòng)控制,比如電飯煲等;也可利用溫度對某些電氣產(chǎn)品
13、進(jìn)行自動(dòng)控制,比如空調(diào)等;還可利用濕度傳感器對濕度進(jìn)行調(diào)節(jié)。如圖2-1所示。圖2-1 系統(tǒng)功能圖2.2 系統(tǒng)操作說明(1)按k1鍵顯示日期,3秒后自動(dòng)返回時(shí)間顯示,3秒內(nèi)按k2鍵進(jìn)入日期設(shè)置,此時(shí)年位閃爍,按k1鍵進(jìn)行年位加1或連續(xù)加1調(diào)整。按k2鍵依次切換到月位、日位,分別按k1鍵進(jìn)行月位、日位調(diào)整,日位設(shè)置好后,再按k2鍵保存日期設(shè)定值,并返回顯示時(shí)間。(2)按k2鍵大于1秒進(jìn)入時(shí)間設(shè)置,此時(shí)小時(shí)位閃爍,秒位自動(dòng)清零,按k1鍵進(jìn)行小時(shí)調(diào)整,按k2鍵切換到分鐘位,按k1鍵進(jìn)行分鐘調(diào)整,分位設(shè)置好后,再按k2鍵保存時(shí)間設(shè)定值,并返回顯示時(shí)間,按所設(shè)定的時(shí)間值進(jìn)行計(jì)時(shí)。(3)連續(xù)按k3鍵顯示3路
14、定時(shí)及其開關(guān)狀態(tài),當(dāng)顯示某一路定時(shí)時(shí),3秒后自動(dòng)返回時(shí)間顯示,3秒內(nèi)按k2鍵進(jìn)入定時(shí)設(shè)置,設(shè)置同日期(5、6位顯示00為當(dāng)路定時(shí)關(guān),顯示01為當(dāng)路定時(shí)開)。當(dāng)路定時(shí)設(shè)置完后按k2鍵保存定時(shí)設(shè)定值并返回時(shí)間顯示。(4)按k4鍵顯示實(shí)時(shí)溫度和濕度,5秒后自動(dòng)返回時(shí)間顯示。2.3 本章小節(jié)本章主要對本系統(tǒng)的基本功能和擴(kuò)展功能進(jìn)行了說明,也對本系統(tǒng)的系統(tǒng)的顯示情況及操作作了詳細(xì)說明。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 系統(tǒng)軟件設(shè)計(jì)3 系統(tǒng)硬件設(shè)計(jì)實(shí)驗(yàn)板介紹3.1 芯片的選擇本設(shè)計(jì)選用at89s52芯片,它是一種低功耗、高性能cmos 8位微控制器,具有8k(0000h1fffh)在線系統(tǒng)可編程flash存儲器。
15、片上flash允許程序存儲器在線編程,也適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在線系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。at89s52具有以下標(biāo)準(zhǔn)功能:8k(0000h1fffh)flash,256字節(jié)(00hffh)數(shù)據(jù)存儲器(ram),64k(0000hffffh)程序存儲器(rom),32位i/o口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口內(nèi)晶振及時(shí)鐘電路。其中,數(shù)據(jù)存儲器(ram)用于存放各種運(yùn)算的中間結(jié)果,作緩存和數(shù)據(jù)暫存,以及設(shè)置特征標(biāo)志等。at89s52的片內(nèi)數(shù)據(jù)存
16、儲器用位尋址方式,最大尋址范圍為256字節(jié)(00hffh)。按使用情況不同可分成低128字節(jié)(00h7fh)和高128字節(jié)(80hffh)。其中低128字節(jié)為真正的ram存儲器,高128字節(jié)為特殊功能寄存器(sfr)區(qū),如累加器acc、程序狀態(tài)字psw、數(shù)據(jù)指針dptr、程序計(jì)數(shù)器pc等。整個(gè)片內(nèi)ram區(qū)分布如圖3-1所示。圖3-1 片內(nèi)ram區(qū)3.2 實(shí)驗(yàn)板電路原理圖實(shí)驗(yàn)板電路結(jié)構(gòu)框圖如圖3-2所示,原理電路圖(只有本設(shè)計(jì)所需部分)見附錄a。圖3-2 實(shí)驗(yàn)板結(jié)構(gòu)框圖3.3 功能電路分析3.3.1 時(shí)鐘電路實(shí)驗(yàn)板的時(shí)鐘振蕩源電路如圖3-3所示。其中jt 為11.0592mhz 的晶振,改變兩電
17、容cb的值即可對此晶振頻率進(jìn)行調(diào)節(jié)。該電路提供單片機(jī)工作所需的振蕩頻率,計(jì)算定時(shí)器初值即需此晶振頻率,在通信時(shí)也需知道晶振頻率,以對波特率進(jìn)行計(jì)算。圖 3-3 時(shí)鐘電路3.3.2 復(fù)位電路如圖3-4所示為實(shí)驗(yàn)板的復(fù)位電路,當(dāng)reset 信號為低電平時(shí),實(shí)驗(yàn)板為工作狀態(tài),當(dāng)reset信號為高電平時(shí),實(shí)驗(yàn)板為復(fù)位或下載程序狀態(tài)。由于at89s52具有isp 的功能,即可以通過并口線直接將程序下載到單片機(jī)內(nèi),因此, at89s52 具有兩種狀態(tài),下載程序狀態(tài)和運(yùn)行狀態(tài)。該復(fù)位電路能實(shí)現(xiàn)上電自動(dòng)復(fù)位,也能手動(dòng)復(fù)位,一般復(fù)位時(shí)reset應(yīng)保持20毫秒以上高電平,此復(fù)位時(shí)間由接地電容控制。圖 3-4 復(fù)位
18、電路3.3.3 鍵盤電路如圖3-5所示為陣列按鍵電路,各設(shè)置及轉(zhuǎn)換信號由此電路輸入,實(shí)驗(yàn)板提供了16個(gè)按鍵,由p1口經(jīng)sn74f244(驅(qū)動(dòng)芯片)輸出擴(kuò)展成44的陣列按鍵,p1.0p1.3為行線,p1.4p1.7為列線。sn74f244有一片選信號線,當(dāng)此口線為低電平時(shí),a1a4與y1y4接通,反之,a1a4與y1y4斷開。此鍵盤用掃描工作方式,若有鍵按下,則相應(yīng)位端口被拉低為低電平,由于本系統(tǒng)只用了4個(gè)按鍵,所以只需對4個(gè)按鍵進(jìn)行掃描。掃描時(shí),先置p3.3口為高電平,向p1口送0efh(mov p1,#0efh),再置p3.3口為低電平,讀p1口(mov a,p1),最后判斷p1口低4位哪位
19、是低電平,若某位為低電平,則相應(yīng)按鍵被按下,如p1.0為低電平(acc.0=0),則k1鍵被按下。圖 3-5 陣列按鍵3.3.4 數(shù)碼顯示電路如圖3-6所示為數(shù)碼顯示電路,實(shí)驗(yàn)板使用了6個(gè)共陽數(shù)碼管,p0口為段碼信號線,b1b6為位控線,是p1口經(jīng)sn74f573(反向驅(qū)動(dòng)芯片,即輸入為高電平,則輸出為低電平,反之則輸出為高電平,該芯片也有一片選信號c,當(dāng)此信號為高電平時(shí)有效)反向得到,再由b1b6控制晶體管q1q6,以達(dá)到控制每位數(shù)碼管的目的。系統(tǒng)采用動(dòng)態(tài)顯示,先向p0口送第一位數(shù)碼管需要顯示的段碼值,再給p1口送0feh,延時(shí)1毫秒使第一位數(shù)碼管顯示,又向p0口送第二位數(shù)碼管需要顯示的段碼
20、值,p1口送0fdh,延時(shí)1毫秒,使第二位數(shù)碼管顯示。依次遞推,直到最后一位數(shù)碼管,然后再循環(huán)。改變延時(shí)時(shí)長可以調(diào)節(jié)數(shù)碼管顯示的亮度,由于單片機(jī)執(zhí)行速度很快(微秒級),所以看上去數(shù)碼管一直亮著。圖 3-6 數(shù)碼顯示電路3.3.5 蜂鳴器電路其硬件原理圖如圖3-7所示。此電路用于定時(shí)時(shí)發(fā)出提示音。speaker與p3.2口相連,當(dāng)speaker輸出高電平時(shí)蜂鳴器不響,而speaker輸出低電平時(shí)蜂鳴器發(fā)出響聲。只需控制speaker輸出高低電平的時(shí)間和變化頻率,就可以讓蜂鳴器發(fā)出不同的聲音。此電路用于產(chǎn)生定時(shí)器提示音。圖 3-7 蜂鳴器電路3.4 本章小節(jié)本章主要對芯片作了介紹,對其內(nèi)存單元作了
21、詳細(xì)說明,并對系統(tǒng)硬件(實(shí)驗(yàn)板)的結(jié)構(gòu)框圖和各功能電路作了說明,以及這些電路在本設(shè)計(jì)中的用途。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 系統(tǒng)軟件設(shè)計(jì)4 系統(tǒng)軟件設(shè)計(jì)4.1 數(shù)據(jù)單元分配4.1.1 數(shù)據(jù)存儲單元分配數(shù)據(jù)存儲單元分配如下表所示:項(xiàng)目秒分時(shí)日月年存儲單元30h31h32h33h34h35h項(xiàng)目定時(shí)1:開關(guān)定時(shí)1:分定時(shí)1:時(shí)定時(shí)2:開關(guān)定時(shí)2:分定時(shí)2:時(shí)存儲單元36h37h38h39h3ah3bh項(xiàng)目定時(shí)3:開關(guān)定時(shí)3:分定時(shí)3:時(shí)存顯示首地址堆棧起始單元存儲單元3ch3dh3eh3fh50h4.1.2 標(biāo)志位單元分配標(biāo)志位單元(20h)分配如下表所示:位單元項(xiàng)目位單元項(xiàng)目01h1、2位數(shù)碼管閃爍
22、標(biāo)志位08h定時(shí)1顯示標(biāo)志位02h09h定時(shí)2顯示標(biāo)志位03h3、4位數(shù)碼管閃爍標(biāo)志位0ah定時(shí)3顯示標(biāo)志位04h0bh定時(shí)1響鈴標(biāo)志位05h5、6位數(shù)碼管顯示標(biāo)志位0ch定時(shí)2響鈴標(biāo)志位06h0dh定時(shí)3響鈴標(biāo)志位07h日期顯示標(biāo)志位0eh總響鈴標(biāo)志位4.2 計(jì)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法時(shí)鐘的最小計(jì)時(shí)單位是秒,使用定時(shí)器的方式1,最大的定時(shí)時(shí)間也只能達(dá)到131毫秒??砂讯〞r(shí)器的定時(shí)時(shí)間定為50毫秒,這樣,計(jì)數(shù)溢出20次即可得到時(shí)鐘的最小計(jì)時(shí)單位秒。計(jì)數(shù)20次可以用軟件實(shí)現(xiàn),對定時(shí)器溢出次數(shù)進(jìn)行計(jì)數(shù),計(jì)滿20次即為1秒。從秒到分,從分到時(shí),以及日、月、年都是通過軟件累加并進(jìn)行比較的方法實(shí)現(xiàn)的。4.3
23、 實(shí)現(xiàn)時(shí)鐘程序設(shè)計(jì)步驟系統(tǒng)采用模塊化結(jié)構(gòu),主程序只需調(diào)用各個(gè)子程序模塊即可實(shí)現(xiàn)相應(yīng)功能。其模塊結(jié)構(gòu)圖如圖4-1所示。圖4-1 程序各模塊方框圖4.3.1 主程序模塊設(shè)計(jì)整個(gè)程序進(jìn)行模塊化設(shè)計(jì),主程序只需調(diào)用相應(yīng)的程序即可。主程序流程如圖4-2所示。圖4-2 主程序流程圖4.3.2 計(jì)時(shí)子程序模塊的實(shí)現(xiàn)當(dāng)t0中斷時(shí),執(zhí)行本程序,因t0設(shè)為50毫秒中斷,故中斷20次為1秒。中斷程序分別有20次計(jì)數(shù)(1秒),60次計(jì)數(shù)(1分),60次計(jì)數(shù)(1小時(shí)),24次計(jì)數(shù)(1天),28、29、30、31次計(jì)數(shù)(1個(gè)月),12次計(jì)數(shù)(1年)。當(dāng)前位到設(shè)定數(shù)值時(shí)寫0或1,下一位加1。由于本世紀(jì)是21世紀(jì),年位前兩位
24、是4的倍數(shù),故判斷閏年時(shí)只需對年的后兩位進(jìn)行計(jì)算,能被4整除為閏年,否則為平年,年位只進(jìn)行加1,大于99時(shí)又重新開始。計(jì)時(shí)中斷流程圖如圖4-3所示。圖4-3 計(jì)時(shí)子程序流程圖 圖4-4 顯示子程序流程圖4.3.3 顯示子程序模塊的實(shí)現(xiàn)顯示原理在3.3.4節(jié)已給予了說明,流程圖如圖4-4所示。4.3.4 時(shí)鐘設(shè)定子程序模塊的實(shí)現(xiàn)當(dāng)設(shè)定時(shí)間時(shí),斷開t0中斷,秒單元清0,進(jìn)入時(shí)、分單元設(shè)定。設(shè)定好后重裝t0初值,開t0中斷。流程圖如圖4-6所示。圖4-6 時(shí)鐘設(shè)定子程流程圖4.3.5 日期、定時(shí)設(shè)定子程序模塊的實(shí)現(xiàn)日期、定時(shí)的設(shè)定同時(shí)鐘設(shè)定。定時(shí)設(shè)定時(shí),把時(shí)鐘的秒位換成定時(shí)標(biāo)志位,“00”為當(dāng)路定時(shí)
25、關(guān),“01”為當(dāng)路定時(shí)開,流程圖與時(shí)鐘設(shè)定程序相似。4.4 程序說明4.4.1 定時(shí)器初值計(jì)算因定時(shí)器工作于方式1,需要50ms的中斷,所以計(jì)數(shù)初值:=216 - tfosc12=65536 - 5010-311.059210612=19456表示成十六進(jìn)制為=4c00h,故(th0)=4ch,(tl0)=00h。4.4.2 程序初始化程序初始化時(shí),清相應(yīng)內(nèi)存單元(20h4fh共48個(gè)單元),送時(shí)間(00時(shí)00分00秒)、日期(07年10月01日)初值,送定時(shí)器t0、t1初值,th0= th1=4ch,tl0= tl1=00h,特殊寄存器(sp=50h、tmod=11h)值等。4.4.3 誤差
26、分析及校正當(dāng)t0中斷時(shí),需重裝定時(shí)初值,且要加上從斷開t0中斷到允許t0中斷共有13個(gè)周期,以減小誤差,故理論重裝定時(shí)初值為(th0)=4ch,(tl0)=13h。但該外接晶振電路的晶振頻率可調(diào),可能出現(xiàn)誤差,所以實(shí)際不是這個(gè)值。經(jīng)調(diào)試,當(dāng)定時(shí)初值為(th0)=4ch,(tl0)=06h時(shí),24小時(shí)約慢2秒,所以每當(dāng)計(jì)時(shí)24小時(shí)之后,給秒單元(30h)送02h,使秒累加時(shí)從2加起,24小時(shí)就少加2秒,即可使時(shí)間得到校正。4.4.4 實(shí)現(xiàn)閃動(dòng)設(shè)定閃動(dòng)可選用段碼送00h實(shí)現(xiàn),也可禁止當(dāng)前位顯示,選通位送0實(shí)現(xiàn)。本設(shè)計(jì)選用后者實(shí)現(xiàn)閃動(dòng),用定時(shí)器t1進(jìn)行控制。4.4.5 實(shí)現(xiàn)連續(xù)加1先判斷鍵是否松開,
27、若松開,則只執(zhí)行一次加1程序段,進(jìn)行單次加1;若未松開則連續(xù)執(zhí)行加1程序段,實(shí)現(xiàn)連續(xù)加1。每執(zhí)行一次加1程序段就調(diào)用顯示子程序進(jìn)行延時(shí),以對調(diào)節(jié)速度進(jìn)行控制。本系統(tǒng)以5hz的速度連續(xù)加1,這樣能快速對時(shí)間、日期、定時(shí)進(jìn)行設(shè)定。4.4.6 定時(shí)音與顯示相沖突問題及解決方案由于蜂鳴器響時(shí)p3.2口的電平呈高頻變化,頻率1k2k,其間隙時(shí)間為0.51毫秒,小于6 毫秒,因顯示時(shí)每個(gè)數(shù)碼管顯示1毫秒,至少需要6毫秒,故蜂鳴器響時(shí)無法進(jìn)行顯示。為解決此問題,可增加鎖存器,采用靜態(tài)顯示;也可增加一語音芯片,既可解決此問題,也可把定時(shí)音換成音樂或語音提示,或增加其它功能,使系統(tǒng)功能更強(qiáng)。4.5 本章小節(jié)本章
28、主要對系統(tǒng)的軟件設(shè)計(jì)進(jìn)行了詳細(xì)說明,從數(shù)據(jù)單元及標(biāo)志單元的分配,到各子程序模塊的實(shí)現(xiàn)方法,以及對時(shí)鐘的誤差分析、校正,定時(shí)音與顯示相沖突問題及解決方案。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 系統(tǒng)調(diào)試5 系統(tǒng)調(diào)試該時(shí)鐘程序的功能模塊先后實(shí)現(xiàn)的順序?yàn)椋褐鞒绦驎r(shí)間模塊顯示模塊鍵盤模塊時(shí)間設(shè)定及其顯示模塊日期及其顯示模塊日期設(shè)定及其顯示模塊定時(shí)及其顯示模塊定時(shí)設(shè)定及其顯示模塊定時(shí)提示音及與顯示相沖突的協(xié)調(diào)模塊。每完成一個(gè)模塊就與前一個(gè)已完成的模塊結(jié)合起來調(diào)試,直至實(shí)現(xiàn)相應(yīng)功能,再編寫下一模塊程序。在與主程序銜接時(shí),主程序和各子程序也需作相應(yīng)的改動(dòng),以便與子程序更好的銜接,特別是顯示子程序需作較大改動(dòng),以便對不同內(nèi)
29、容進(jìn)行顯示。程序用偉福軟件進(jìn)行匯編語言程序編寫,該軟件還可進(jìn)行軟件仿真。用匯編語言編好程序后,先編譯,把匯編語言編譯成二進(jìn)制代碼和十六進(jìn)制代碼。若編譯無法進(jìn)行,說明程序有語法錯(cuò)誤,需進(jìn)行修改。編譯成功后則可進(jìn)行軟件仿真,仿真可單步運(yùn)行,也可連續(xù)運(yùn)行。仿真時(shí)應(yīng)調(diào)出數(shù)據(jù)窗口,看各單元數(shù)據(jù)是否正確,這是軟件仿真的目的。當(dāng)然,有些錯(cuò)誤軟件仿真不容易發(fā)現(xiàn),這就得把編譯得到二進(jìn)制代碼或十六進(jìn)制代碼下載到實(shí)驗(yàn)板上運(yùn)行(用easy 51pro下載軟件,與實(shí)驗(yàn)板相配的下載軟件。下載時(shí)先擦再寫,若不能能正常寫入,則再擦,再寫,直到寫入芯片),看是否正常,若不正常,再根據(jù)出錯(cuò)的地方返回用軟件仿真,查看相應(yīng)的數(shù)據(jù)單元
30、,再修改程序,這樣反復(fù)調(diào)試,直至程序可用,在實(shí)驗(yàn)板上能正常運(yùn)行。待程序調(diào)試成功后即可燒寫到實(shí)驗(yàn)板上,讓其運(yùn)行,至此,完成系統(tǒng)調(diào)試。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 結(jié)束語結(jié)束語經(jīng)過兩個(gè)多月的工作,基于單片機(jī)的電子時(shí)鐘系統(tǒng)的設(shè)計(jì)已經(jīng)完成。經(jīng)試驗(yàn)驗(yàn)證,滿足設(shè)計(jì)要求。由于加入了計(jì)時(shí)修正,在精度方面已經(jīng)相當(dāng)準(zhǔn)確了,不過還可以達(dá)到更高精度,需要精確計(jì)算定時(shí)器t0中斷次數(shù)的誤差,再予以修正;在軟件的定時(shí)部分可以進(jìn)行改進(jìn),用循環(huán)程序?qū)崿F(xiàn),每次循環(huán)只需更改相應(yīng)單元即可,這樣使程序精簡。由于時(shí)間原因,沒能實(shí)現(xiàn)這兩部分。該系統(tǒng)的擴(kuò)展功能由于硬件原因不能實(shí)現(xiàn),以后如硬件允許可以實(shí)現(xiàn)這部分功能,還可增加其它功能。本次設(shè)計(jì)主要
31、涉及了單片機(jī)原理及接口技術(shù)的相關(guān)知識和匯編語言編程的諸多要領(lǐng)。設(shè)計(jì)中涉及的許多問題,更是對以前所學(xué)的知識的回顧及在過去的三年中學(xué)到知識的系統(tǒng)總結(jié),這次設(shè)計(jì)對我們將來的工作有很大的幫助。在設(shè)計(jì)中,我積極查閱資料,細(xì)心鉆研各個(gè)細(xì)節(jié),完成了多功能時(shí)鐘的開發(fā)與調(diào)試,也讓我們明白了在設(shè)計(jì)中考慮問題應(yīng)該全面。在設(shè)計(jì)中既鍛煉了我的動(dòng)手能力,又學(xué)會查閱資料,提煉需要的信息。由于本人水平有限,文中難免出現(xiàn)錯(cuò)誤與不足之處,懇請各位老師批評指正。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 致謝致謝首先要感謝我的家人,是他們讓我能上大學(xué);在大學(xué)里,先要學(xué)會學(xué)習(xí)才能學(xué)的更好,是老師教了我怎樣學(xué)習(xí),到現(xiàn)在能完成畢業(yè)設(shè)計(jì),都少不了老師的功勞
32、;在整個(gè)設(shè)計(jì)過程中,從硬件電路圖到軟件編程,應(yīng)用了相當(dāng)多的知識,包含了大學(xué)三年所學(xué)的知識,在此向各位任課老師表示感謝。在設(shè)計(jì)過程中,指導(dǎo)老師xxx老師給予了我很大幫助,李老師對設(shè)計(jì)中出現(xiàn)的問題作了及時(shí)講解和耐心指導(dǎo),使我的設(shè)計(jì)得以順利完成。在此,特向xxx老師、xxx老師、xxx老師等表示感謝;同時(shí),很多同學(xué)也給我提供了很多幫助,也向幫助我的同學(xué)表示感謝。瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 附錄a:實(shí)驗(yàn)板原理圖附錄a:實(shí)驗(yàn)板原理圖瀘州職業(yè)技術(shù)學(xué)院畢業(yè)論文 附錄b:程序清單附錄b:程序清單 org 0000h ljmp start org 000bh ljmp intt0 org 001bh ljmp i
33、ntt1 ;主程序;org 0020h start: mov r0,#20h ;清20h-4fh共48個(gè)單元 mov r7,#30h ;20h,21h標(biāo)志用 cleara: mov r0,#00h inc r0 djnz r7,cleara clr p2.2 clr p2.1 clr p2.0 mov sp,#50h mov 33h,#01h mov 34h,#0ah mov 35h,#07h mov tmod,#11h ;設(shè)t0、t1為16位定時(shí)器 mov tl0,#00h ;50ms定時(shí)初值(t0計(jì)時(shí)用) mov th0,#4ch mov tl1,#00h mov th1,#4ch set
34、b ea setb et0 setb tr0 mov r4,#14h start1: lcall display lcall key jb acc.3,$+6 date1: lcall date jb acc.2,$+6 timea: lcall time jb acc.1,$+6 settime1: lcall settime jb acc.0,$+6 jnb 0eh,$+6 ;定時(shí)顯示判斷 lcall ring1 sjmp start1;計(jì)時(shí)程序; intt0: push acc push psw clr et0 clr tr0 mov a,#06h ;tl=#06h,th=#4ch ad
35、d a,tl0 ;低8位初值修正 mov tl0,a ;重裝初值(低8位修正值) mov a,#4ch addc a,th0 ;高8位初值修正 mov th0,a ;重裝初值(高8位修正值) setb tr0 djnz r4, $+5 ;1s未到中斷退出 ljmp $+6 ljmp outt0 mov r4,#14h inc 30h mov a,30h cjne a,#3ch,$+6 ljmp $+6 ljmp outt0 mov 30h,#00h inc 31h lcall time1 ;調(diào)定時(shí)比較程序 mov a,31h cjne a,#3ch,$+5 sjmp $+5 ljmp outt
36、0 mov 31h,#00h inc 32h mov a,32h cjne a,#18h,$+6 ljmp $+6 ljmp outt0 mov 32h,#00h inc 33h mov30h,#02h;時(shí)間修正 mov a,34h cjne a,#02h,$+6 ljmp mon2 cjne a,#04h,$+6 ljmp day30 cjne a,#06h,$+6 ljmp day30 cjne a,#09h,$+6 ljmp day30 cjne a,#0bh,$+6 ljmp day30 mov a,33h cjne a,#20h,$+6 ljmp loop1 ljmp outt0 d
37、ay30: mov a,33h cjne a,#1fh,$+6 ljmp loop1 ljmp outt0 mon2: mov a,35h mov b,#04h div ab mov a,b jz day29 mov a,33h cjne a,#1dh,$+6 ljmp loop1 ljmp outt0 day29: mov a,33h cjne a,#1eh,$+6 ljmp loop1 ljmp outt0 loop1: mov 33h,#01h inc 34h mov a,34h cjne a,#0dh,$+6 ljmp $+6 ljmp outt0 mov 34h,#01h inc 35h mov a,35h cjne a,#64h,$+6 ljmp $+6 ljmp outt0 mov 35h,#00h outt0: pop psw pop acc setb et0 reti;定時(shí)比較程序; time1: jnb 0bh,ti
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年12月山東濱州市濱城區(qū)事業(yè)單位選調(diào)市外濱籍工作人員9人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2024年12月國家市場監(jiān)管總局直屬事業(yè)單位第二批公開招聘62人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 項(xiàng)目經(jīng)理申請書
- 公路項(xiàng)目施工合同范例
- 公司借用協(xié)議合同范本
- 助學(xué)貸款申請書200字
- 2025至2030年中國鉆井液用絮凝包被劑數(shù)據(jù)監(jiān)測研究報(bào)告
- 林權(quán)證申請書樣本
- 新生加入藝術(shù)團(tuán)申請書
- 2025至2030年中國直列式柴油機(jī)噴油器總成數(shù)據(jù)監(jiān)測研究報(bào)告
- 分層作業(yè),分出活力小學(xué)數(shù)學(xué)作業(yè)分層設(shè)計(jì)的有效策略
- 2023湖南省修訂醫(yī)療服務(wù)價(jià)格項(xiàng)目匯總表
- 驗(yàn)證機(jī)械能守恒物理實(shí)驗(yàn)報(bào)告
- (完整)雙溪課程評量表
- 成人機(jī)械通氣患者俯臥位護(hù)理2023護(hù)理團(tuán)體標(biāo)準(zhǔn)7
- 體育心理學(xué)(第三版)PPT全套教學(xué)課件
- 【鋼鐵冶煉】-銻冶煉先關(guān)工藝
- 拉線的制作詳細(xì)
- 護(hù)理管理組織體系架構(gòu)圖
- 漸變方格模板
- 潛水作業(yè)指導(dǎo)書
評論
0/150
提交評論