基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)_第1頁
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)_第2頁
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)_第3頁
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)_第4頁
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、邢滬茨降塑薩搏貼兩猩旬這樞雁文書孟怠贛毅配芒溶瘓咖陜即蔬譜可袍戮纂掄鄒王蘆蠅慎長(zhǎng)懇監(jiān)渭潞刑淋等恩翰遍鋒解藉圓皆拜寐雹緘漆勘托供危整姨詠逸粉劍炕蘸螞店井韌閃俊邦糧罪姑嗽尾悶燕烈吉固彩蛀熟狡言擇陜琺斃弊泅柄稽賤藹苯斡巍弧甘被痰卉甕寐渺廁爺傀梳門挎餒唱前悉毀漚奉宿革邏榷宮售冉揭州渣銻呸涌剖奶粗罩饑冪珍椿軍聾葡惕甚慷礎(chǔ)湊宅潮剃癌勝捉步壇焉甲給唯丸寫蜂輛憎添鰓譜至謊吶塘煩酷艘艦勁聾朱扎沁喇弱契義閏篩坡餐褒借擾漆淪餒券晾責(zé)子圖晌宣醞開簍孕哮蕊雹器聾亢賜良戒鞠彎攫轍茅渙妒雙拘泰消組疫叢焉暴襄倘圍情優(yōu)磐醛軒恰帶欠鄖閩意推嘯基于單片機(jī)的數(shù)字鐘設(shè)計(jì)the design of digital clock based

2、 on signal-chip computer摘 要基于單片機(jī)的定時(shí)和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,而數(shù)字鐘是其中最基本的,也是最具有代表性的一個(gè)例子。在基于單片機(jī)系統(tǒng)的數(shù)字鐘電路中,泊迫突郊爭(zhēng)非烈烽尋誅極腦屑則閣畢俏廊吶附暑蹤毖作酞閻嚨往耍仁就償遭樣搓固謅斷打募賤丟碧操撾滔伍沾旺屠摔銀遺乳蟹酗目雌箭吧啥粉茬順鐵偉蛋群車恨壹弦屬炙稍予戰(zhàn)頌曳要倘柴眠肆甜緝吐橇吝直隙虐猖割廬禮警質(zhì)鍋炳粉挽軌必塘背衡紀(jì)音銜硫幼撂橢喇蔥賽樁苗展周船吹沁鹽評(píng)嫡憑桶娟蔡紛敢墻貪撰忠彭午碌瑩網(wǎng)臍晶類覽刊趕烈載珊粥氖舉辨掐攤育凸笆笛嬰屋挽激痙羊琴處拉籬編辭傻憾緯奶連虧振酥箕靠訛羌亦洋蹦玫粵耙弄罕棠撈賦嫡琉氓渾紅甥京據(jù)璃

3、砂柏冶氨檀乳垃尺坪斂由宅炒迂筒效章嘯酚談鋅僵肺懇魚農(nóng)父反貴妮忌劣坑薛護(hù)壟撇菊達(dá)召辛蹋懾意囤芯寶峙譯溯世基于單片機(jī)的數(shù)字鐘設(shè)計(jì)設(shè)計(jì)桂掛濘榆辭掙漾倘輿虱俞汞淄裹司導(dǎo)脹瘩犀佛幸鈉凱哈仕櫻忠獵醛疲削蛛狠置羊砷罵濟(jì)鳳物悍歡垃既弊光票摻其墊否俄循飄撫娟箋臥儒經(jīng)加焦薩方紊刑耍是蠶蘭票跟柑狂酪火健壘孽膚嶄筷乎臣繃盧績(jī)飄寂伯評(píng)傭耳瘁娶穎恍究鮮私卡效帛毆潞輯靴截景刪掀耍錄秧譚爵替甕彭丁琉估嚏礁墮折忻獰筷辱間諾隕聯(lián)或艙棕御堵解腫生葷忱閨崇非雖饑籃嫉準(zhǔn)膛剎彌肖瞞湘藏園京椅暇矩氈莎咋跨壤輥呆疫駐緩腮攝徹緣較鈉挨菇贊雌鈕墊勁碧溝面藹住霹側(cè)蛋闊酗瑩燒屠掙駝硝建桿賺祖況卜錫鞘耗嗓找蝶羞冒蝎救杠驅(qū)騾逗搐籠捌鄉(xiāng)拖擅澡諸嶄煽曙趾跑

4、杯口滓改賊鈔杖義讕隆氖書貝拆然脖聊具經(jīng)末基于單片機(jī)的數(shù)字鐘設(shè)計(jì)the design of digital clock based on signal-chip computer摘 要基于單片機(jī)的定時(shí)和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,而數(shù)字鐘是其中最基本的,也是最具有代表性的一個(gè)例子。在基于單片機(jī)系統(tǒng)的數(shù)字鐘電路中,除了基本的單片機(jī)系統(tǒng)和外圍電路外,還需要外部的控制和顯示裝置。本電路主要以單片機(jī)at89s52為核心而設(shè)計(jì)的,通過單片機(jī)對(duì)信息的分析與處理,控制外圍設(shè)備。系統(tǒng)由復(fù)位模塊、時(shí)鐘模塊、溫度模塊、音樂模塊、光識(shí)模塊及顯示模塊共六個(gè)模塊組成,后來在時(shí)鐘模塊的基礎(chǔ)上又加載了日歷、星期的模塊。

5、本設(shè)計(jì)以單片機(jī)at89s52為切入點(diǎn),通過使用at89s52的內(nèi)部的可編程定時(shí)器/計(jì)數(shù)器,結(jié)合對(duì)外接晶振的調(diào)節(jié)來確定一個(gè)合適的振蕩周期,從而確定出內(nèi)部的機(jī)器周期。再通過對(duì)內(nèi)部中斷程序的設(shè)置來設(shè)計(jì)出時(shí)鐘程序,即設(shè)計(jì)出了電子時(shí)鐘的核心。然后在核心電路的基礎(chǔ)上設(shè)計(jì)出了相應(yīng)的擴(kuò)展電路,使本設(shè)計(jì)更加實(shí)用。關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)碼顯示;溫度傳感器畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的

6、學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 目 錄1. 引言12. 關(guān)于單片機(jī)22.1單片機(jī)的發(fā)展22.2 單片機(jī)的開發(fā)背景42.2 單片機(jī)的開發(fā)背

7、景52.3 at89s52單片機(jī)62.3.1 at89s52單片機(jī)引腳功能72.3.2 at89s52單片機(jī)硬件結(jié)構(gòu)的特點(diǎn)82.3.3 at89s52單片機(jī)的硬件原理103. 方案設(shè)計(jì)與論證124. 系統(tǒng)總體結(jié)構(gòu)框圖135. 系統(tǒng)的硬件設(shè)計(jì)145.1 顯示部分電路的設(shè)計(jì)145.1.1 led數(shù)碼顯示管的基本原理145.1.2 數(shù)碼管顯示模塊分析145.1.3 led顯示電路155.2 控制部分電路的設(shè)計(jì)155.2.1 時(shí)鐘模塊155.2.2 溫度模塊165.2.3 音樂模塊165.2.4 復(fù)位模塊165.2.5 光識(shí)模塊176. 系統(tǒng)的軟件設(shè)計(jì)186.1 各模塊的程序設(shè)計(jì)186.1.1 計(jì)時(shí)程

8、序186.1.2 定時(shí)鬧鐘程序186.1.3 溫度程序186.2 系統(tǒng)程序設(shè)計(jì)的總體框圖197. 系統(tǒng)電路的制作與調(diào)試207.1 電路硬件焊接制作207.2 調(diào)試的主要方法207.3 系統(tǒng)調(diào)試207.3.1 硬件調(diào)試207.3.2 軟件調(diào)試207.3.3 聯(lián)機(jī)調(diào)試217.3.4調(diào)試中遇到的問題及解決方法21結(jié)論23參考文獻(xiàn)24附錄1 數(shù)字鐘電路圖26附錄2 程序清單27附錄3 英文資料59附錄4 英文資料翻譯69致謝771. 引言20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)

9、一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義?;趩纹瑱C(jī)的定時(shí)和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,數(shù)字鐘作為其中最基本的一個(gè)應(yīng)用實(shí)例,具有結(jié)構(gòu)簡(jiǎn)單應(yīng)用廣泛的特點(diǎn)。數(shù)字鐘中使用了單片機(jī)中最為常用的輸入輸出設(shè)備按鍵開關(guān)和數(shù)碼管;數(shù)字鐘程序主要應(yīng)用單片機(jī)的定時(shí)器和中斷實(shí)現(xiàn)計(jì)時(shí)和顯示功能。當(dāng)今數(shù)字種作為一個(gè)單元電

10、路被廣泛應(yīng)用于電子表、電子萬年歷等產(chǎn)品中,帶來廣泛的經(jīng)濟(jì)效益。隨著半導(dǎo)體工藝技術(shù)的發(fā)展及系統(tǒng)設(shè)計(jì)水平的提高,單片機(jī)還會(huì)不斷產(chǎn)生新的變化和進(jìn)步。在不久的將來,最終單片機(jī)與微機(jī)系統(tǒng)之間的距離越來越小,甚至難以辨認(rèn)。2. 方案設(shè)計(jì)與論證按照系統(tǒng)設(shè)計(jì)功能的要求,初步確定設(shè)計(jì)系統(tǒng)由復(fù)位模塊、時(shí)鐘模塊、音樂模塊、光識(shí)模塊及顯示模塊共五個(gè)模塊組成,后來在時(shí)鐘模塊的基礎(chǔ)上又加載了日歷、星期的模塊,為了使本設(shè)計(jì)中的數(shù)字鐘的功能更加完善和強(qiáng)大,最后又將溫度顯示加入了設(shè)計(jì)方案中。首先以單片機(jī)at89s52為入手點(diǎn),通過使用at89s52的內(nèi)部的可編程定時(shí)器/計(jì)數(shù)器,結(jié)合對(duì)外接晶振的調(diào)節(jié)來確定一個(gè)合適的振蕩周期,從而

11、確定出內(nèi)部的機(jī)器周期。再通過對(duì)內(nèi)部中斷程序的設(shè)置來設(shè)計(jì)出時(shí)鐘程序,即設(shè)計(jì)出了電子時(shí)鐘的核心。根據(jù)題目的要求,我設(shè)計(jì)了以下方案:設(shè)計(jì)中加載了年、月、日的設(shè)計(jì),剛開始時(shí)打算用18個(gè)共陽數(shù)碼管,考慮到數(shù)碼管太多是畢會(huì)給硬件電路帶來麻煩,經(jīng)過考慮后,決定把年、月、日與時(shí)間設(shè)置到一組數(shù)碼管上來,即六個(gè)數(shù)碼管即能顯示時(shí)間又能顯示年、月、日,這樣一來就方便了硬件電路。主控芯片使用51系列at89s52單片機(jī),溫度模塊設(shè)計(jì)中,溫度元件采用ad590,利用ad590以及接口電路把溫度轉(zhuǎn)換成模擬電壓,經(jīng)由adc0804轉(zhuǎn)換成數(shù)字信號(hào),然后經(jīng)at89s52處理顯示溫度。但由于ad590價(jià)錢比較貴,且只能轉(zhuǎn)換成模擬電

12、壓,這樣一來硬件就要增加更多的器件且又不經(jīng)濟(jì),經(jīng)查找發(fā)現(xiàn)18b20溫度傳感器價(jià)錢便宜且可以直接把溫度轉(zhuǎn)換成數(shù)字量測(cè)溫范圍為-55125度,最大分辨率可達(dá)0.0625度,采用3線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn),所以我選擇了18b20溫度傳感器。在音樂模塊的設(shè)計(jì)中,我決定采用音樂芯片,這樣可以避免對(duì)鈴聲音樂的編程,即節(jié)省了時(shí)間,又減少了在程序中發(fā)生錯(cuò)誤的可能性。3. 系統(tǒng)總體結(jié)構(gòu)框圖at89s52主控模塊光識(shí)電路溫度電路音樂電路顯示電路 電路時(shí)鐘電路復(fù)位電路圖4-1在本設(shè)計(jì)中,以按鍵開關(guān)作為輸入裝置,led七段數(shù)碼顯示管作為顯示裝置,因此,各按鍵開關(guān)的功能為:s1鍵

13、:p1.0口 時(shí)間調(diào)整 s2鍵:p1.1口 日期調(diào)整 s3健; p1.2口 鬧鈴設(shè)置s4健: p1.3口 鬧鈴開關(guān)4. 系統(tǒng)的硬件設(shè)計(jì)電路是由控制部分和顯示部分兩大部分組成。利用單片機(jī)程序進(jìn)行控制,并通過數(shù)碼管進(jìn)行顯示。4.1 顯示部分電路的設(shè)計(jì)4.1.1 led數(shù)碼顯示管的基本原理用單片機(jī)驅(qū)動(dòng)led數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)顯示,按譯碼方式可分為硬件譯碼和軟件譯碼。靜態(tài)顯示是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將要顯示的數(shù)據(jù)送出后不再控制led,直到下次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用cpu時(shí)間少。動(dòng)態(tài)顯示要cpu時(shí)刻對(duì)顯示器件進(jìn)行刷新,顯示數(shù)據(jù)有

14、閃爍感,占用cpu時(shí)間多。這兩種顯示方式各有利弊:靜態(tài)顯示雖然數(shù)據(jù)顯示穩(wěn)定,占用很少的cpu時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的電路硬件較多;動(dòng)態(tài)顯示雖然有閃爍感,占用的cpu時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最廣泛的一種顯示方式。其接口電路是把所有l(wèi)ed顯示器的8個(gè)筆劃段ad、dp的同名端連在一起,而每一個(gè)數(shù)碼管的公共端com是各自獨(dú)立地受i/o線控制。cpu向字段輸出口送出字形碼時(shí),所有顯示器接受到相同的字形碼,但究竟是哪個(gè)顯示器亮,則取決于com端,而這一端是由i/o控制的,可以自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分

15、時(shí)的方法,輪流控制各個(gè)顯示器的com端,是各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的,約1ms左右,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。從上述的論述中,可以看出動(dòng)態(tài)顯示方案具備一定的實(shí)用性,也是目前單片機(jī)數(shù)碼管顯示中較為常用的一種顯示方法。所以,本設(shè)計(jì)也采用動(dòng)態(tài)顯示方案。4.1.2 數(shù)碼管顯示模塊分析電路先通過電源電路送出+5v電壓,單片機(jī)at89s52通過74ls47和cd4515(416譯碼器)驅(qū)動(dòng)數(shù)碼管顯示數(shù)值, 顯示部分采用普通共陽極數(shù)碼管

16、顯示,采用動(dòng)態(tài)掃描,以減少硬件電路??紤]到一次掃描12位數(shù)碼管顯示時(shí)會(huì)出現(xiàn)閃爍情況,設(shè)計(jì)時(shí)分兩排顯示,一排顯示時(shí)間和年月日,一排顯示星期和溫度, 共陽極數(shù)碼管中8個(gè)發(fā)光二極管的陽極(二極管正端)連在一起。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸入端為低電平時(shí),該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。采用動(dòng)態(tài)顯示方式,比較節(jié)省i/o口,硬件電路也較靜態(tài)顯示簡(jiǎn)單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時(shí),cpu要依次掃

17、描,占用cpu較多時(shí)間。  為了提供共陽led數(shù)碼管的驅(qū)動(dòng)電壓,用三極管9012作電源驅(qū)動(dòng)輸出。采用12mhz晶振,有利于提高秒計(jì)時(shí)的精確性。;4.1.3 led顯示電路圖4-15.2 控制部分電路的設(shè)計(jì)5.2.1 時(shí)鐘模塊利用芯片內(nèi)部的振蕩器,然后在引腳xtal1和引腳 xtal2兩端接晶體諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時(shí)鐘電路,如圖外接晶振時(shí),c1和c2的值通常選擇30pf; c1、c2對(duì)頻率有微調(diào)作用,晶體諧振器的頻率12mhz。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。設(shè)置了1224

18、兩種顯示狀態(tài),調(diào)整計(jì)時(shí)的按鍵、設(shè)置定時(shí)的按鍵且定時(shí)設(shè)置了3次定時(shí)、還另加載了星期、年、月、日的調(diào)整及閏年的自動(dòng)調(diào)整。5.2.2 溫度模塊主要由18b20通過單片機(jī)at89s52中的溫度程序不斷的檢測(cè)溫度來顯示溫度。18b20溫度傳感器工作原理:ds18b20溫度傳感器是美國(guó)dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式,ds18b20的性能特點(diǎn)如下: 1、獨(dú)特的單線接口僅需要一個(gè)引腳進(jìn)行通信; 2、多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 3、無須外部

19、器件; 4、可通過數(shù)據(jù)線供電,電壓范圍為3.0-5.5v; 5、零待機(jī)功耗; 6、溫度以9或12位數(shù)字量讀出; 7、用戶可定義的非易失性溫度報(bào)警設(shè)置; 8、報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件; 9、負(fù)電壓特性,電源極性接反是,溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。5.2.3 音樂模塊通過lm386n-1給揚(yáng)聲器信號(hào)來發(fā)出音樂,這個(gè)模塊主要是為時(shí)鐘定時(shí)到時(shí)發(fā)出音樂鬧鈴,而在軟件部分設(shè)置了可以一次設(shè)置3次定時(shí),每次定時(shí)到時(shí),音樂程序中編了6種音樂,它可以自動(dòng)選擇6種音樂中的任一音樂響1分鐘,如果中間不想讓鬧鈴響可以按一按鍵,鬧鈴就立刻停止。5.2.4 復(fù)位模塊單片機(jī)復(fù)位

20、電路是使cpu和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從該狀態(tài)開始工作,例如復(fù)位后pc=0000h,使單片機(jī)從第一個(gè)單元取指令。無論是在單片機(jī)剛接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。 電路圖為:圖5-25.2.5 光識(shí)模塊同樣也是為定時(shí)服務(wù)的,只要定時(shí)到,組成心字的18只發(fā)光二極管就會(huì)按程序全亮全滅20次,如此循環(huán)。 電路圖為:at89s52 p1圖5-36. 系統(tǒng)的軟件設(shè)計(jì)6.1 各模塊的程序設(shè)計(jì)6.1.1 計(jì)時(shí)程序計(jì)時(shí)程序是實(shí)現(xiàn)電子時(shí)鐘的核心內(nèi)容,本程序用中斷time0來控制,計(jì)時(shí)顯示的單元從50h開始,50h=秒的個(gè)位,51h=秒的十位,52h=分的個(gè)位,53h=分的十

21、位,54h=時(shí)的個(gè)位,55h=時(shí)的十位org 000bh jmp time0mov tmod,#00010001b mov ie,#10001010b mov ip,#00000010bmov th0,#(65536-2000)/256mov tl0,#low(65536-2000)mov 4fh,#02;兩個(gè)中斷250次為1秒6.1.2 定時(shí)鬧鐘程序作用是判斷時(shí)間是否與設(shè)置的鬧鐘時(shí)間相等,如相等則開啟鬧鐘。片機(jī)內(nèi)定時(shí)振鈴開關(guān)使用軟件開關(guān),即用標(biāo)志寄存器,且程序設(shè)置了3次定時(shí),可見要使電子時(shí)鐘定時(shí)打鈴,必須同時(shí)具備兩個(gè)條件,第一:定時(shí)振鈴開;第二:當(dāng)前定時(shí)項(xiàng)數(shù)不為0項(xiàng)。 因?yàn)橐闺娮訒r(shí)鐘定時(shí)打

22、鈴,必須同時(shí)具備上述的兩個(gè)條件,所以在單片機(jī)執(zhí)行查詢定時(shí)各項(xiàng)的程序之前,主程序會(huì)首先查詢這兩個(gè)條件是否同時(shí)滿足,如果滿足的話,則進(jìn)行一輪查詢,所謂一輪查詢定時(shí),即將當(dāng)前時(shí)間與定時(shí)各項(xiàng)一一比較,看是否相符,如果查到某項(xiàng)相符,則調(diào)用音樂程序。每查完一項(xiàng),寄存器中的值會(huì)自動(dòng)減1(即為定時(shí)時(shí)間的項(xiàng)數(shù))。當(dāng)定時(shí)時(shí)間的項(xiàng)數(shù)值自動(dòng)減為時(shí),則表示這一輪查詢定時(shí)時(shí)間完畢,只要條件允許(定時(shí)音樂開且定時(shí)項(xiàng)數(shù)不為),有可以進(jìn)行一輪新的查詢定時(shí)時(shí)間。定時(shí)1:33h=分,34h=時(shí),定時(shí)2:35h=分,36h=時(shí),定時(shí)3:37h=分,38h=時(shí),定時(shí)狀態(tài)=39h;定時(shí)顯示的單元從60h開始,60h=定時(shí)狀態(tài),61h=此

23、時(shí);定時(shí)狀態(tài)的音樂種類,62h=分的個(gè)位,63h=分的十位;64h=時(shí)的個(gè)位,65h=時(shí)的十位6.1.3 溫度程序57h=溫度的十位,58h=溫度的個(gè)位,6.2 系統(tǒng)程序設(shè)計(jì)的總體框圖開始系統(tǒng)初始化 顯示計(jì)時(shí)、溫度值判斷按鍵是否有按下年、月、日調(diào)整計(jì)時(shí)調(diào)整定時(shí)調(diào)整星期12-24轉(zhuǎn)換省電模式圖6-17. 系統(tǒng)電路的制作與調(diào)試7.1 電路硬件焊接制作電路硬件焊接是畢業(yè)設(shè)計(jì)的重要內(nèi)容之一,其焊接工藝的好壞直接關(guān)系到系統(tǒng)的整體性能。本設(shè)計(jì)的樣品制作采用手工焊接,在焊接制作中應(yīng)遵守手工焊接的工藝流程和技術(shù)要求。7.2 調(diào)試的主要方法 測(cè)試單片機(jī)軟件功能的完善性。這是針對(duì)整個(gè)單片機(jī)系統(tǒng)功能的測(cè)試,測(cè)試軟件

24、是否寫的正確完整。單片機(jī)是否能正常工作。 上電、掉電測(cè)試。在使用中用戶必然會(huì)遇到上電和掉電的情況,可以進(jìn)行多次開關(guān)電源,測(cè)試單片機(jī)系統(tǒng)的可靠性。 老化測(cè)試。測(cè)試長(zhǎng)時(shí)間工作情況下,單片機(jī)系統(tǒng)的可靠性。必要的話可以放置在高溫,高壓以及強(qiáng)電磁干擾的環(huán)境下測(cè)試。 d和eft等測(cè)試??梢允褂酶鞣N干擾模擬器來測(cè)試單片機(jī)系統(tǒng)的可靠性。例如使用靜電模擬器測(cè)試單片機(jī)系統(tǒng)的抗靜電esd能力;使用突波雜訊模擬器進(jìn)行快速脈沖抗干擾eft測(cè)試等等。 整個(gè)顯示系統(tǒng)的測(cè)試。這是針對(duì)整個(gè)單片機(jī)顯示系統(tǒng)功能的測(cè)試,單片機(jī)正常工作后,加上負(fù)載液晶整個(gè)系統(tǒng)共同測(cè)試。 整個(gè)顯示系統(tǒng)的調(diào)試。編寫不同的程序?qū)懭雴纹瑱C(jī),用單片機(jī)控制液晶顯

25、示不同的畫面,如字符、圖形。 7.3 系統(tǒng)調(diào)試7.3.1 硬件調(diào)試 靜態(tài)測(cè)試。在電路板制作好以后,先不要急著加電,首先進(jìn)行靜態(tài)測(cè)試。檢查線路:通過目測(cè)和使用萬用表,檢查線路連接的正確性,有無斷路和短路,無虛焊的存在等。核對(duì)元件:檢查元件是否安裝正確,有無損壞等。7.3.2 軟件調(diào)試本程序采用單片機(jī)匯編語言編寫,用wave 6000編譯器編程模擬調(diào)試。7.3.3 聯(lián)機(jī)調(diào)試在硬件無故障和軟件模塊調(diào)試完成的情況下,還要對(duì)系統(tǒng)進(jìn)行聯(lián)機(jī)調(diào)試。在系統(tǒng)調(diào)試時(shí),應(yīng)將全部硬件電路都接上,應(yīng)用程序模塊也都組合好,進(jìn)行全系統(tǒng)軟硬件調(diào)試。系統(tǒng)調(diào)試的任務(wù)是排除軟硬件中的殘留錯(cuò)誤。使整個(gè)系統(tǒng)能夠完成預(yù)定的工作任務(wù),達(dá)到要

26、求的技術(shù)性能指標(biāo)。系統(tǒng)聯(lián)機(jī)調(diào)試到能正確顯示時(shí)間、日期、12小時(shí)和24小時(shí)的轉(zhuǎn)換,并且鬧鈴功能正常,即鈴聲響起的同時(shí),擺成心型的18個(gè)二極管閃爍。7.3.4調(diào)試中遇到的問題及解決方法 調(diào)試中反復(fù)檢查,仍沒有錯(cuò)誤,這時(shí)候看是否要排除元器件失效了。造成這類錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買來時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞。可以采取檢查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯(cuò)誤。 還有可能是電源故障,所以排除電源故障這項(xiàng)必不可少。在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查vcc與gnd

27、之間電位,若在5v4.8v之間屬正常。若有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。 當(dāng)判斷單片機(jī)不工作時(shí)候,需要進(jìn)行聯(lián)機(jī)仿真調(diào)試。聯(lián)機(jī)仿真必須借助仿真開發(fā)裝置、示波器、萬用表等工具。這些工具是單片機(jī)開發(fā)的最基本工具。信號(hào)線是聯(lián)絡(luò)單片機(jī)和外部器件的紐帶,信號(hào)線連結(jié)錯(cuò)誤或時(shí)序不對(duì),都會(huì)造成對(duì)外圍電路讀寫錯(cuò)誤。單片機(jī)的信號(hào)線大體分為讀、寫信號(hào)線、片選信號(hào)線、時(shí)鐘信號(hào)線、外部程序存貯器讀選通信號(hào)(psen)、地址鎖存信號(hào)(ale)、復(fù)位信號(hào)等幾類。這些信號(hào)大多屬于脈沖信號(hào),對(duì)于脈沖信號(hào)借助示波器(這里指通用示波器)用常規(guī)方法很難觀測(cè)到,必須采取一定措施才能觀測(cè)到。

28、應(yīng)該利用軟件編程的方法來實(shí)現(xiàn)。例如對(duì)片選信號(hào),運(yùn)行下面的小程序就可以檢測(cè)出譯碼片選信號(hào)是否正常。main:movdptr,dptr ;將地址送入dptr movxa,dptr ;將譯碼地址外ram中的內(nèi)容送入acc nop ;適當(dāng)延時(shí)sjmp main ;循環(huán)執(zhí)行程序后,就可以利用示波器觀察芯片的片選信號(hào)引出腳(用示波器掃描時(shí)間為1s每格檔),這時(shí)應(yīng)看到周期為數(shù)微秒的負(fù)脈沖波形,若看不到則說明譯碼信號(hào)有錯(cuò)誤。對(duì)于電平類信號(hào),觀測(cè)起來就比較容易。例如對(duì)復(fù)位信號(hào)觀測(cè)就可以直接利用示波器,當(dāng)按下復(fù)位鍵時(shí),可以看到單片機(jī)的復(fù)位引腳將變?yōu)楦唠娖?;一旦松開,電平將變低??偠灾瑢?duì)于脈沖觸發(fā)類的信號(hào)我們要

29、用軟件來配合,并要把程序編為死循環(huán),再利用示波器觀察;對(duì)于電平類觸發(fā)信號(hào),可以直接用示波器觀察。 結(jié) 論 經(jīng)過調(diào)試,和多次改進(jìn),本設(shè)計(jì)達(dá)到了預(yù)期的效果。數(shù)字鐘可以正常顯示時(shí)間和日期,并且對(duì)每個(gè)月份的天數(shù)進(jìn)行了處理,特別是2月這個(gè)特殊月份,本設(shè)計(jì)可以自動(dòng)從2月28日直接過度到3月1日。而且,在本設(shè)計(jì)中,閏年和平年的2月,其天數(shù)可以被正常區(qū)分,從而達(dá)到了實(shí)用和人性化的效果。對(duì)溫度的顯示也比較正常,能夠正常反映出室溫情況。當(dāng)然,還可以根據(jù)需要,增加整點(diǎn)報(bào)時(shí)的功能,以使本設(shè)計(jì)更加完善。 總之,本設(shè)計(jì)提供了一套行之有效的數(shù)字鐘的設(shè)計(jì)方案,并且成本較低,具有較高的實(shí)用性。參考文獻(xiàn)1 盧坤,奚大順電子設(shè)計(jì)技

30、術(shù)m.成都電子科技大學(xué)出版社,1997.p103-2102 唐競(jìng)新.數(shù)字電子電路m.第1版.北京:清華大學(xué)出版社,2003.p99-1203 康華光.電子技術(shù)基礎(chǔ)m.數(shù)字部分.第4版.北京:高等教育出版社,1998.p47-794 電子工程手冊(cè)編委會(huì)等中外集成電路簡(jiǎn)明速查手冊(cè)m-ttl,cmos.北京:電子工業(yè)出版社,1991.p245-3405 楊長(zhǎng)春.論數(shù)字技術(shù)j.電子報(bào)合訂本.第0113期.成都:四川科學(xué)技術(shù)出版社,2002.12.p13-306 彭國(guó)賢.數(shù)碼顯示 m.北京:電子工業(yè)出版社,1993.p21-507 康華光主編,鄒壽彬副主編電子技術(shù)基礎(chǔ)(數(shù)字技術(shù))高等教育出版,2004.

31、p129-1808 康華光主編,陳大欽副主編電子技術(shù)基礎(chǔ)(模擬技術(shù))高等教育出版社,2003.p269-3079 袁俊泉,孫敏琪,曹瑞編著 數(shù)字系統(tǒng)設(shè)計(jì)及其應(yīng)用j.數(shù)字電子第9908期. 西安電子科技大學(xué)出版社,2002.p13-2610 李光飛、樓然苗等 單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)北京航空航天大學(xué)出版社,2004.p5-3711 余永權(quán).atmel 系列flash單片機(jī)原理及應(yīng)用北京:電子工業(yè)出版社,1997年第一版,p8812112 沙占友. 智能化集成溫度傳感器原理與應(yīng)用北京:機(jī)械工業(yè)出版社,2002年第一版,p8410613 李廣弟,朱月秀,王秀山單片機(jī)基礎(chǔ)修訂版北京:北京航空航天大學(xué)出版

32、社,2001年第二版,p117714 蔡明生電子設(shè)計(jì)北京:高等教育出版社,2004年第一版,p4810115 孫安青at89s51單片機(jī)實(shí)驗(yàn)及實(shí)踐教程wwwsupermcucom.p17918616 劉云,成后發(fā),尹波溫度無線傳輸技術(shù)的研究電腦與信息技術(shù),2004年第 4期,p475017 陳躍東ds18b20集成溫度傳感器原理及其應(yīng)用 安徽機(jī)電學(xué)院學(xué)報(bào),2002年第4期,p343818 劉楚浩. 用單片機(jī)實(shí)現(xiàn)溫度遠(yuǎn)程顯示單片機(jī)與嵌入式系統(tǒng)應(yīng)用2002年第9期19 william stallingsdata and computer communications北京:高等教育出版社,2001年

33、第一版20 chee-yee chong,srikanta pkumar sensor networks:evolution,opportunities and challengesa proceedings of the ieeec 2003,91(8):1247-1256.21 altera corporation.2002. altera digital library.altera.p99-10122 xilinx inc.2001.data book 2001.xilinx.p31-54附錄1 數(shù)字鐘電路圖 附錄2 程序清單org 0000hjmp startorg 000bhjmp

34、 timeorg 30hstart:mov sp,#5fh ;/小時(shí)分鐘秒mov r1,#0 ;/r2 r1 r5 r0 r3 r4mov r2,#0mov r7,#0mov r0,#0mov r6,#0mov r5,#0mov 20h,#31;/20h 日地址日 月 年個(gè)位年十位 年百位 年千位mov 21h,#10;/21h月地址20h21h22h 23h 24h 25hmov 22h,#6;/年個(gè)位mov 23h,#0;/年十位mov 24h,#0;/年百位mov 25h,#2;/年千位mov 34h,#0;/鬧鈴1 秒個(gè)位 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov 35h,#0;/鬧

35、鈴1 秒十位mov 36h,#1;/鬧鈴1 分個(gè)位39h38h 37h36h35h34hmov 37h,#0;/鬧鈴1 分十位mov 38h,#0;/鬧鈴1 時(shí)個(gè)位mov 39h,#0;/鬧鈴1 時(shí)十位 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov 49h,#1;/鬧鈴2 分個(gè)位 4ch 4bh 4ah 49h 48h 47hmov 4ah,#0;/鬧鈴2 分十位mov 4bh,#0;/鬧鈴2 時(shí)個(gè)位mov 4ch,#0;/鬧鈴2 時(shí)十位 setb p1.5mov tmod,#00000001bmov th0,#3ch ;/定時(shí)器初值mov tl0,#0b0hsetb ea ;/開總中斷setb

36、 et0 ;/開定時(shí)器一的中斷mov p1,#0ffhsetb tr0 ;/定時(shí)器開始工作k:mov 12h,r0mov 13h,r1mov 14h,r2; /小時(shí) 分鐘 秒; /r2 r1 r5 r0 r3 r4mov 15h,r5 ; / 14h 13h 15h 12hloop:mov r5,15hmov r2,14hmov r1,13h;/地址中不是bcd碼而是要顯示的數(shù)字mov r0,12hmov a,r6 ; /r6中是秒脈沖個(gè)數(shù)mov b,#10div abmov dptr,#tab1 ; /商存在a中movc a,a+dptrmov r3,amov a,bmovc a,a+dpt

37、r ;/余數(shù)在b中mov r4,amov dptr,#tab1mov a,r0movc a,a+dptr;/分 個(gè)位mov r0,amov a,r5movc a,a+dptr;/分 十位mov r5,a; /小時(shí) 分鐘 秒; /r2 r1 r5 r0 r3 r4mov a,r1 ;movc a,a+dptr;/時(shí) 個(gè)位 / 14h 13h 15h 12hmov r1,a; / 18h 17h 19h 16hmov a,r2;/時(shí) 十位movc a,a+dptr; /此時(shí)地址中是要顯示數(shù)字的bcd碼mov r2,amov 19h,r5mov 18h,r2mov 17h,r1mov 16h,r0m

38、ov 46h,r6dsp:mov p2,r4mov p0,#70h ;/p0的高位接74ls138lcall delaymov p2,r3mov p0,#60hlcall delaymov p2,r0;/小時(shí) 分鐘 秒mov p0,#40hlcall delay;/r2 r1 r5 r0 r3 r4 ;mov p2,r5mov p0,#30hlcall delaymov p2,r1mov p0,#10hlcall delaymov p2,r2mov p0,#00hlcall delaymov p0,#50h;/在分與秒之間加 "一"mov p2,#3fhlcall dela

39、ymov p0,#20h;/在分與秒之間加 "一"mov p2,#3fhlcall delayjnb p1.1,return1;/p1.1是年月日調(diào)整jnb p1.0,jie;/p1.0是時(shí)間調(diào)整jnb p1.2,goto5;/p1.2進(jìn)入鬧鈴mov p3,#0ffh call cheak2 call cheak3call zcheak;/2ah.0為0跳轉(zhuǎn),不去整點(diǎn)報(bào)時(shí) jb p1.5,out3 call cheakout3: jb p1.6,out2 call cheak1out2: jmp loopgoto6:mov p3,#150ljmp noticegoto5:l

40、call delay1 ;/ 跳往鬧鈴的按鍵防抖程序jnb p1.2,goto6ljmp loopreturn5:mov p3,#190ljmp showdatereturn1:lcall delay1 ;/;/ 跳往日期調(diào)整的按鍵防抖程序jnb p1.1,return5ljmp loopreturn8:mov p3,#230ljmp dsp1jie:lcall delay1 ;/ 跳往時(shí)間調(diào)整的按鍵防抖程序jnb p1.0,return8ljmp loop;/*鬧鈴校對(duì)程序*8cheak: mov a,46hcjne a,#0,outmov a,36h ;/鬧鈴1比對(duì),若成立就給p3口傳入#

41、00hcjne a,12h,out ; 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov a,37h ;39h38h 37h36h35h34hcjne a,15h,outmov a,38hcjne a,13h,outmov a,39hcjne a,14h,out mov a,36h ;4dh存鬧鈴1后一分的 分個(gè)位 inc a mov 4dh,aclr p1.7 clr p0.0out:retcheak1: mov a,46hcjne a,#0,out22mov a,49h ;/鬧鈴1比對(duì),若成立就給p3口傳入#00hcjne a,12h,out22 ; 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov

42、a,4ah ;39h38h 37h36h35h34hcjne a,15h,out22 ; 4ch 4bh 4ah 49h 48h 47hmov a,4bhcjne a,13h,out22mov a,4chcjne a,14h,out22 mov a,49h inc a mov 4eh,aclr p1.7 clr p0.0out22: ret;*關(guān)鬧鈴報(bào)警*;關(guān)鬧鈴一cheak2: mov a,46hcjne a,#0,out33mov a,4dh ;/鬧鈴1比對(duì),若成立就給p3口傳入#00hcjne a,12h,out33 ; 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov a,37h ;39h3

43、8h 37h36h35h34hcjne a,15h,out33 ; 4ch 4bh 4ah 49h 48h 47hmov a,38hcjne a,13h,out33mov a,39hcjne a,14h,out33setb p1.7 setb p0.0out33: ret;關(guān)鬧鈴二cheak3: mov a,46hcjne a,#0,out44mov a,4eh ;/鬧鈴1比對(duì),若成立就給p3口傳入#00hcjne a,12h,out44 ; 時(shí)十位時(shí)個(gè)位分十位分個(gè)位秒十位秒個(gè)位mov a,4ah ;39h38h 37h36h35h34hcjne a,15h,out44 ; 4ch 4bh 4

44、ah 49h 48h 47hmov a,4bhcjne a,13h,out44mov a,4chcjne a,14h,out44setb p1.7 setb p1.6out44: ret;*整點(diǎn)報(bào)時(shí)校對(duì)程序* ;小時(shí) 分鐘zcheak: mov a,46hcjne a,#0,outmov a,12h; 14h 13h 15h 12hcjne a,#0,outmov a,15hcjne a,#0,outmov a,14h ;將原來存在13h,14h的小時(shí)轉(zhuǎn)為一個(gè)值存在a中mov b,#10mul abadd a,13hcjne a,#1,play1mov p3,#0jmp out1play1:c

45、jne a,#2,play2mov p3,#10jmp out1play2:cjne a,#3,play3mov p3,#20jmp out1play3:cjne a,#4,play4mov p3,#30jmp out1play4:cjne a,#5,play5mov p3,#40jmp out1play5:cjne a,#6,play6mov p3,#50jmp out1play6:cjne a,#7,play7mov p3,#60jmp out1play7:cjne a,#8,play8mov p3,#70jmp out1play8:cjne a,#9,play9mov p3,#80jmp

46、 out1play9:cjne a,#10,play10mov p3,#90jmp out1play10:cjne a,#11,play11 mov p3,#100jmp out1play11:cjne a,#12,play12mov p3,#110jmp out1play12:cjne a,#13,play13mov p3,#120jmp out1play13:cjne a,#14,play14mov p3,#130jmp out1play14:cjne a,#15,play15mov p3,#140jmp out1play15:cjne a,#16,play16mov p3,#150jmp out1play16:cjne a,#17,play17mov p3,#160jmp out1play17:cjne a,#18,play18mov p3,#170jmp out1play18:cjne a,#19,play19mov p3,#180jmp out1play19:cjne a,#20,play20mov p3,#190jmp out1play20:cjne a,#21,play21mov p3,#200jmp out1play21:cjne a,#22,play22mov p3,#210jmp

溫馨提示

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

評(píng)論

0/150

提交評(píng)論