版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1 引言</b></p><p> 電子打鈴課題設(shè)計(jì)著重于實(shí)踐和動(dòng)手能力的培養(yǎng),通過(guò)閱讀并學(xué)習(xí)本論文可以大概了解單片機(jī)的發(fā)展及其工作方法,了解匯編語(yǔ)言,掌握一定的MCS—51單片機(jī)知以及用指令編程方法和技巧。能用MCS—51單片機(jī)指令編制出一些實(shí)用的小程序。</p><p> 另一方面通過(guò)本論文可以了解電子打鈴打鈴器的時(shí)鐘走時(shí)、顯示、
2、定時(shí)器等的工作方式以及時(shí)鐘控制打鈴編程方法。時(shí)鐘走時(shí)是利用定時(shí)器計(jì)數(shù)進(jìn)行的,顯示由鍵盤(pán)顯示接口電路與五個(gè)數(shù)碼顯示組成,利用可實(shí)現(xiàn)對(duì)鍵盤(pán)、顯示器的自動(dòng)掃描并且可以減輕對(duì)CPU的負(fù)擔(dān),具有顯示穩(wěn)定、程序簡(jiǎn)單、不會(huì)出現(xiàn)誤動(dòng)作的特點(diǎn)。</p><p> 時(shí)鐘控制就是利用鍵盤(pán)輸入一個(gè)時(shí)設(shè)定的時(shí)間值,再經(jīng)過(guò)程序中的比較判斷程序來(lái)控制時(shí)鐘走。</p><p><b> 的性價(jià)比。</
3、b></p><p><b> 2.2 機(jī)型選擇</b></p><p> 機(jī)型選擇的出發(fā)點(diǎn)及依據(jù),可根據(jù)市場(chǎng)情況,選擇成熟、穩(wěn)定、貨源充足的機(jī)型產(chǎn)品。同時(shí)還應(yīng)根據(jù)應(yīng)用系統(tǒng)的要求考慮所選的單片機(jī)應(yīng)具有很高的性價(jià)比。</p><p> 另一方面為提高經(jīng)濟(jì)效率,縮短研制周期,最好選用最熟悉的機(jī)種和器件。采用性能優(yōu)良的單片機(jī)開(kāi)發(fā)工具也很能
4、加快系統(tǒng)的研制過(guò)程。</p><p><b> 2.3 器件選擇</b></p><p> 應(yīng)用系統(tǒng)除單片機(jī)以外,系統(tǒng)通常還有傳感器、模擬電路、輸入輸出設(shè)備。這些部件的選擇應(yīng)符合系統(tǒng)的精度、速度和可靠性等方面的要求。</p><p> 2.4 軟、硬件功能的劃分</p><p> 系統(tǒng)的軟件與硬件的設(shè)計(jì)是緊密聯(lián)系
5、在一起的,在某場(chǎng)合硬件和軟件具有一定的互換性。為了降低成本、簡(jiǎn)化硬件結(jié)構(gòu),某些功能可由軟件來(lái)完成。若為了提高工作速度、精度、減少軟件的工作量、提高可靠性,也可以采用硬件來(lái)完成??傊?,硬件、軟件兩者是相輔相成的,可根據(jù)實(shí)際應(yīng)用情況來(lái)合理選擇。</p><p> 3 模塊電路設(shè)計(jì)與比較</p><p> 3.1 時(shí)鐘方案選擇</p><p> 方案一:因?yàn)轭}目中只
6、要求顯示小時(shí)和分鐘,因此可以用門電路組合構(gòu)成時(shí)鐘發(fā)生器,但此方案硬件復(fù)雜,穩(wěn)定性低,且不易控制。 </p><p> 方案二:采用時(shí)鐘芯片。該芯片可以進(jìn)行時(shí)分秒的計(jì)數(shù),可編程接口,還具有報(bào)警功能和掉電保存功能,并且可以對(duì)其方便的進(jìn)行程序控制,完全能滿足題目的要求。</p><p> 3.2 顯示模塊的選擇 </p><p> 方案一:采用數(shù)
7、碼管顯示。數(shù)碼管亮度高、體積小、重量輕,但其顯示信息簡(jiǎn)單、有限,在本題目中應(yīng)用很大。 </p><p> 方案二:采用液晶顯示。液晶顯示功耗低,輕便防震。由于本題顯示信息比較簡(jiǎn)單,采用液晶顯示界面不清晰,操作不方便。 </p><p> 3.3 其他設(shè)計(jì)的考慮 </p><p> 鬧鈴響采用帶音樂(lè)芯片的揚(yáng)聲器,為實(shí)現(xiàn)題目中接觸止鬧
8、功能,我們可以采用觸發(fā)開(kāi)關(guān)控制鬧鈴的啟動(dòng)。通過(guò)單片機(jī)的中斷定時(shí)控制鬧鈴?fù)V埂?#160;</p><p> 4 系統(tǒng)模塊設(shè)計(jì)及電路圖 </p><p> 4.1 鍵盤(pán)接口電路設(shè)計(jì)</p><p> 我們采用 2 × 8 的鍵盤(pán),原理圖如圖所示。 </p><p>&l
9、t;b> 4.2電源電路設(shè)計(jì)</b></p><p><b> 4.3 顯示模塊 </b></p><p> 4.4 數(shù)碼管驅(qū)動(dòng)模塊</p><p> 5 測(cè)試方法及結(jié)果 </p><p> 5.1 測(cè)試方法 采用先分別調(diào)試各單元模塊,調(diào)通后再進(jìn)行整機(jī)調(diào)試的方法,
10、以提高調(diào)試效率。 </p><p> ?。?#160;1) 時(shí)鐘測(cè)試 在帶有單片機(jī)的電路板上編程調(diào)試,使其在液晶上顯示出時(shí)分秒,并可以通過(guò)鍵盤(pán)控制設(shè)定時(shí)間和鬧鈴開(kāi)關(guān)的時(shí)間。利用仿真機(jī)調(diào)試成功后通過(guò)編程器將程序?qū)懭胄酒姓{(diào)試,調(diào)試結(jié)果顯示,該模塊可以顯示時(shí)分秒,可以正常工作。 </p><p> ( 2) 鬧鐘測(cè)試 通過(guò)
11、鍵盤(pán)控制設(shè)定鬧鐘開(kāi)關(guān)和鬧鐘響的時(shí)間,并通過(guò)單片機(jī)程序驅(qū)動(dòng)音樂(lè)電路發(fā)聲。經(jīng)過(guò)調(diào)試,鬧鐘功能正常,滿足題目的基本要求。 </p><p><b> 5.2 測(cè)試結(jié)果</b></p><p> 5.2.1 基本要求</p><p> 上電復(fù)位后,由顯示信息可知達(dá)到數(shù)字顯示時(shí)間、鬧鐘開(kāi)、關(guān)狀態(tài)、鬧鐘燈熄滅的顯示要求,</p>
12、<p> 可進(jìn)行時(shí)間設(shè)定,在新的時(shí)間點(diǎn)上運(yùn)行,實(shí)現(xiàn)時(shí)間設(shè)置功能;可進(jìn)行鬧鐘時(shí)間設(shè)定,在新的時(shí)間點(diǎn)到達(dá)時(shí),發(fā)出聲報(bào)警,實(shí)現(xiàn)鬧鐘設(shè)置功能;時(shí)間到達(dá)鬧鐘設(shè)置值時(shí),系統(tǒng)發(fā)出聲報(bào)警,實(shí)現(xiàn)鬧鐘控制。</p><p> 5.2.2 自行發(fā)揮部分</p><p><b> 多鬧鐘設(shè)置</b></p><p> 系統(tǒng)可以設(shè)置多個(gè)鬧鐘時(shí)間,目
13、前以1個(gè)為例設(shè)計(jì)了系統(tǒng),可實(shí)現(xiàn)多點(diǎn)啟鬧及</p><p><b> 顯示日歷、星期</b></p><p> 6 電子打鈴的研制過(guò)程</p><p> 電子打鈴的研制過(guò)程實(shí)際上是一個(gè)應(yīng)用系統(tǒng)的研制過(guò)程。所謂應(yīng)用系統(tǒng),就是利用單片機(jī)為某應(yīng)用目的而設(shè)計(jì)的單片機(jī)專用系統(tǒng)(在調(diào)試過(guò)程中通常稱為目標(biāo)系統(tǒng))。</p><p>
14、 電子打鈴和一般的計(jì)算機(jī)應(yīng)用系統(tǒng)一樣,也是由硬件和軟件組成。硬件指單片機(jī)、擴(kuò)展的存儲(chǔ)器、輸入輸出設(shè)備、控制設(shè)備、執(zhí)行部件等組成的系統(tǒng)。軟件是各種各種應(yīng)用程序的總稱。硬件和軟件只有緊密結(jié)合,協(xié)調(diào)一致,才能組成高性能的應(yīng)用系統(tǒng)。在系統(tǒng)的研制過(guò)程中,軟硬件的功能總是在不斷地調(diào)整,以便相互適應(yīng),相互配合,以達(dá)到最佳的性價(jià)比。</p><p> 電子音時(shí)鐘的研制過(guò)程主要包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、在線仿真調(diào)試、程
15、序固化等幾個(gè)階段。</p><p><b> 6.1 硬件設(shè)計(jì)</b></p><p> 硬件設(shè)計(jì)的主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,以及在所選的機(jī)型上的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所用到的外圍電路等,然后設(shè)計(jì)出系統(tǒng)電路原理圖。</p><p> 對(duì)于電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對(duì)它的速度、精度、價(jià)格的要求而確定。除此之外,還應(yīng)考慮和系統(tǒng)中的傳感器、放
16、大器相匹配問(wèn)題。</p><p> 1.地址譯碼電路的設(shè)計(jì):MCS-51系統(tǒng)有充足的存儲(chǔ)空間,包括64KB程序存儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器,在應(yīng)用系統(tǒng)中一般不需要這么大的容量。為了簡(jiǎn)化硬件線路,同時(shí)還要使用到的存儲(chǔ)器空間地址連續(xù),通常采用譯碼器、線選法相結(jié)合的辦法。</p><p> 2.線驅(qū)動(dòng)器的設(shè)計(jì):MCS-51系統(tǒng)單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線負(fù)載能力有限。若所擴(kuò)展的電路負(fù)載超
17、過(guò)總線負(fù)載能力時(shí),系統(tǒng)便不能可靠地工作。此情況下必須在部線上加驅(qū)動(dòng)器。</p><p> 3. 其它電路的設(shè)計(jì):由于單片機(jī)具有很多的特點(diǎn),它被大量地應(yīng)用于工業(yè)測(cè)控系統(tǒng)中,而在這些系統(tǒng)中,經(jīng)常要對(duì)一些現(xiàn)場(chǎng)物理量進(jìn)行測(cè)量或者將其采集下來(lái)進(jìn)行信號(hào)處理之后,再反過(guò)來(lái)去控制被測(cè)對(duì)象或相關(guān)設(shè)備。在這種情況下,應(yīng)用系統(tǒng)的硬件設(shè)計(jì)就應(yīng)該包括與此有關(guān)的外圍電路。例如,鍵盤(pán)、顯示器、開(kāi)關(guān)、輸入輸出設(shè)備、采樣、放大、應(yīng)用系統(tǒng)各部分的
18、驅(qū)動(dòng)能力等外圍電路,要進(jìn)行全盤(pán)合理的設(shè)計(jì)。</p><p> 4.可靠性設(shè)計(jì):課題設(shè)計(jì)的可靠性是一項(xiàng)最重要最基本的技術(shù)指標(biāo),這是硬件設(shè)計(jì)時(shí)必須考慮的一個(gè)指標(biāo)。</p><p> 可靠性是指在規(guī)定的條件規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力。規(guī)定的條件包括環(huán)境條件(如溫度、濕度、振動(dòng)等)、供電條件等。規(guī)定的時(shí)間一般指平均故障時(shí)間,平均無(wú)故障時(shí)間、連續(xù)正常運(yùn)行時(shí)間等。規(guī)定的功能隨單片機(jī)的應(yīng)用系統(tǒng)不
19、同而不同。單片機(jī)應(yīng)用系統(tǒng)在實(shí)際工件中,可能會(huì)受到各種外部和內(nèi)部的干擾,使系統(tǒng)工作產(chǎn)生錯(cuò)誤或故障,為了降低錯(cuò)誤和故障的產(chǎn)生機(jī)率,常采用以下可提高可靠性的措施:</p><p> (1)提高元件的可靠性;</p><p> (2)提高印刷電路板和組裝的質(zhì)量,設(shè)計(jì)電路板時(shí)布線及接地方法要符合要求;</p><p> (3)對(duì)供電電源采用擴(kuò)干擾措施;</p>
20、;<p> (4)輸入輸出通道擴(kuò)干擾措施。</p><p> 6.1 工藝設(shè)計(jì),包括機(jī)箱、面板、配線、接插件等,這也是一個(gè)初次進(jìn)行系統(tǒng)設(shè)計(jì)人員容易疏忽但又十分重要的問(wèn)題。在設(shè)計(jì)時(shí)要充分考慮到安裝、調(diào)試、維修的方便。</p><p><b> 6.2 軟件設(shè)計(jì)</b></p><p> 在電子打鈴的研制中,軟件設(shè)計(jì)是工作量最
21、大而也是最重要的一環(huán),其設(shè)計(jì)的一般方法和步驟如下。</p><p> 6.2.1 系統(tǒng)定義</p><p> 系統(tǒng)定義是指在軟件設(shè)計(jì)前,首先要進(jìn)一步明確設(shè)計(jì)軟件所要完成的任務(wù),然后結(jié)合硬件結(jié)構(gòu),而確定軟件承擔(dān)的任務(wù)細(xì)節(jié)。其軟件定義內(nèi)容有:</p><p> ?。?)確定各輸入/輸出的功能,信號(hào)的類別,電平范圍,與系統(tǒng)接口方式,占用口地址,讀取的輸入方式等。<
22、;/p><p> ?。?)定義分配存儲(chǔ)器空間,包括系統(tǒng)主程序,常數(shù)表格,功能子程序塊的劃分,入口地址等。</p><p> ?。?)若有斷電保護(hù)措施,應(yīng)定義數(shù)據(jù)暫存區(qū)標(biāo)志單元等。</p><p> ?。?)面板開(kāi)關(guān),按鍵等控制輸入量的定義與軟件編制密切有關(guān),系統(tǒng)運(yùn)行過(guò)程的顯示,運(yùn)算結(jié)果的顯示,正常運(yùn)行和出錯(cuò)顯示等也是由軟件完成的。所以事先要給予以定義。</p>
23、;<p> 6.2.2 設(shè)計(jì)細(xì)節(jié)</p><p> ?。?)根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)相對(duì)獨(dú)立的部分。根據(jù)它們之間的聯(lián)系和時(shí)間上的關(guān)系,設(shè)計(jì)出合理的軟件總體結(jié)構(gòu),使其清晰、簡(jiǎn)捷、流程合理。</p><p> ?。?)培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序?qū)嵭心K化、子程序化。既便于調(diào)試、鏈接,又便于移植、修改。</p><p> ?。?)建立
24、正確的數(shù)學(xué)模型。即根據(jù)功能要求,描述出各個(gè)輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)性能好壞的重要因素。</p><p> (4)為提高軟件設(shè)計(jì)的總體效率,以簡(jiǎn)明、直觀的方法對(duì)任務(wù)進(jìn)行描述,在編寫(xiě)應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。這不僅是程序設(shè)計(jì)的一個(gè)重要組成部分,而且是決定成敗的關(guān)鍵部分。從某種意義上講,多花一份時(shí)間來(lái)設(shè)計(jì)程序流程圖,就可以節(jié)約幾倍源程序編輯調(diào)試時(shí)間。</p><p>
25、; ?。?)注意在程序的有關(guān)位置處寫(xiě)上功能注釋,提高程序的可讀性。</p><p> ?。?)加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性的有力措施。</p><p> 6.3 軟件結(jié)構(gòu)設(shè)計(jì)</p><p> 合理的軟件結(jié)構(gòu)是設(shè)計(jì)出一個(gè)性能優(yōu)良的單片機(jī)應(yīng)用于系統(tǒng)軟件的基礎(chǔ),必須充分重視。依據(jù)系統(tǒng)的定義,把整個(gè)工作分解為若干相對(duì)獨(dú)立的操作,再考慮各操作之間的相
26、互聯(lián)系及時(shí)間關(guān)系而設(shè)計(jì)出一個(gè)合理的軟件結(jié)構(gòu)。</p><p> 對(duì)于簡(jiǎn)單的課題設(shè)計(jì),可采用順序結(jié)構(gòu)設(shè)計(jì)方法,其系統(tǒng)軟件由主程序和若干個(gè)中斷服務(wù)程序構(gòu)成。明確主次序和中斷服務(wù)程序完成的操作及指定各中斷的優(yōu)先級(jí)。</p><p> 對(duì)于復(fù)雜的課題設(shè)計(jì),可采用實(shí)時(shí)多任務(wù)操作系統(tǒng),此操作系統(tǒng)應(yīng)具備任務(wù)調(diào)度,實(shí)時(shí)控制,實(shí)時(shí)時(shí)鐘,輸入輸出和中斷控制,系統(tǒng)調(diào)用,多個(gè)任務(wù)并行運(yùn)行等功能。以提高系統(tǒng)的實(shí)
27、時(shí)性和并行性。</p><p> 在程序設(shè)計(jì)方法上,模塊程序設(shè)計(jì)是單片機(jī)應(yīng)用中常用的程序設(shè)計(jì)方法。這種模塊化程序便于設(shè)計(jì)和調(diào)試,容易完成可供多個(gè)程序共享的優(yōu)點(diǎn),但各個(gè)模塊之間的連接有一定的難度。根據(jù)需要也可以采用自上而下的程序設(shè)計(jì)方法,此方法先從主程序開(kāi)始設(shè)計(jì),然后再編制個(gè)從屬的程序和子程序。這種方法比較符合人傘兵日常思維。缺點(diǎn)是上一級(jí)的程序錯(cuò)誤會(huì)對(duì)整個(gè)程序產(chǎn)生影響。</p><p>
28、 軟件結(jié)構(gòu)設(shè)計(jì)和程序設(shè)計(jì)方法確定后,根據(jù)系統(tǒng)功能定義,可先畫(huà)出程序粗框圖,再對(duì)粗框圖進(jìn)行擴(kuò)充和具體化,即對(duì)存儲(chǔ)器,寄存器,標(biāo)志位等工作單元作具體的分配和說(shuō)明。再繪制出詳細(xì) 的流程圖(細(xì)框圖)。</p><p> 程序流程圖設(shè)計(jì)出以后,便可著手編寫(xiě)程序,單片機(jī)應(yīng)用程序一般采用匯編語(yǔ)言較好,編寫(xiě)完成后可以手工或通過(guò)主處理器連機(jī)用開(kāi)發(fā)系統(tǒng)上的交叉匯編程序匯編成目標(biāo)碼程序,再經(jīng)過(guò)調(diào)試正常運(yùn)行后,固化到EPROM中去,完
29、成了整個(gè)應(yīng)用系統(tǒng)的設(shè)計(jì)。</p><p> 6.4 程序設(shè)計(jì)的基本方法</p><p> 當(dāng)給定一個(gè)題目,進(jìn)行程序設(shè)計(jì)時(shí),一般應(yīng)按以下幾個(gè)步驟進(jìn)行:分析題目,確定算法,程序結(jié)構(gòu)的設(shè)計(jì),編寫(xiě)源程序,匯編和調(diào)試。</p><p> 6.4.1 分析題目</p><p> 分析題目就是明確題目的任務(wù),弄清所給頂?shù)脑紨?shù)據(jù)和應(yīng)得到的結(jié)果,以及
30、運(yùn)算精度和速度的要求等。分析題目是整個(gè)程序設(shè)計(jì)的重點(diǎn)。若任務(wù)比較簡(jiǎn)單,其原始數(shù)據(jù)和目的要求等比較清楚,就容易確定設(shè)計(jì)方法。而對(duì)于比較復(fù)雜的課題,必須作全面深入的分析,才能為以后的工作打下基礎(chǔ)。</p><p> 6.4.2 確定方法</p><p> 確定方法就是選擇解決問(wèn)題的方法。例如,對(duì)于單純的數(shù)值計(jì)算問(wèn)題,匯編語(yǔ)言指令本身只能進(jìn)行加、減、乘、除….等基本運(yùn)算,但是實(shí)際問(wèn)題可能是計(jì)
31、算某個(gè)函數(shù)之后才解方程。在這種情況下,確定算法就是設(shè)法用基本運(yùn)算方法來(lái)解決其它的復(fù)雜問(wèn)題。往往算法不是唯一的。不同的方法在占用存儲(chǔ)單元數(shù),計(jì)算精度,編程工作量等方面是有差別的,這就需要進(jìn)行比較和選擇。</p><p> 6.4.3 程序結(jié)構(gòu)的設(shè)計(jì)</p><p> 程序結(jié)構(gòu)的設(shè)計(jì)是算法轉(zhuǎn)化為程序的準(zhǔn)備階段。如果算法比較簡(jiǎn)單,這一不可以省掉,直接按算法編寫(xiě)程序。如果比較復(fù)雜,同需要進(jìn)行程
32、序結(jié)構(gòu)的設(shè)計(jì)。程序結(jié)構(gòu)的設(shè)計(jì)一般采用流程圖法。流程圖是有規(guī)定的圖形符號(hào)配合文字說(shuō)明來(lái)表示算法或處理總是的步驟??陀^存在具有直觀.易懂的特點(diǎn),是程序結(jié)構(gòu)設(shè)計(jì)的有力工具。</p><p> 6.4.4 流程圖的繪制</p><p> 有一個(gè)由粗到細(xì)的過(guò)程,需要反復(fù)修改,求得完善。程序的基本結(jié)構(gòu)是有順序結(jié)構(gòu),分支結(jié)構(gòu)和子程序結(jié)構(gòu)等四類。當(dāng)程序較大時(shí),應(yīng)根據(jù)功能將整個(gè)程序分類若干模塊。<
33、/p><p> 6.4.5 編寫(xiě)源程序</p><p> 程序結(jié)構(gòu)設(shè)計(jì)完成之后,下一步是編寫(xiě)程序。在編程之前要規(guī)劃好寄存器和存儲(chǔ)器的使用。對(duì)于程序區(qū),表格,數(shù)據(jù)緩沖區(qū),檔志單元等作好系統(tǒng)安排。編程根據(jù)程序流程圖來(lái)進(jìn)行,所編寫(xiě)的源程序要力求簡(jiǎn)單明了,層次清晰,運(yùn)行時(shí)間短,占用存儲(chǔ)空間小。</p><p> 6.4.6 匯編和調(diào)試</p><p&g
34、t; 對(duì)于編好的程序,要進(jìn)行匯編和調(diào)試。匯編是將源程序變?yōu)榭蓤?zhí)行的目的程序。在匯編過(guò)程中,可能發(fā)現(xiàn)源程序的某些錯(cuò)誤,需作修改。匯編完成后還要通過(guò)調(diào)試來(lái)檢查所 </p><p> 編程序是否正常運(yùn)行。調(diào)試方法一般是輸入給定的數(shù)據(jù),使程序運(yùn)行,檢查程序運(yùn)行結(jié)果是否正確。調(diào)試工作可以先部分(或模塊)而后總體。在
35、調(diào)試過(guò)程中一般總會(huì)發(fā)生不正常情況,而要反復(fù)修改程序,直到獲得正確的結(jié)果為止。</p><p><b> 7 電子打鈴的調(diào)試</b></p><p> 電子打鈴設(shè)計(jì)完成后,依據(jù)硬件的設(shè)計(jì)試制和組裝樣機(jī)及軟件設(shè)計(jì)完成后,便進(jìn)入系統(tǒng)的調(diào)試階段。調(diào)試電子打鈴的一般方法如下。</p><p> 7.1 硬件調(diào)試方法</p><p
36、> 電子打鈴的硬件和軟件調(diào)試是分不開(kāi)的,許多硬件故障是在軟件設(shè)計(jì)時(shí)才發(fā)現(xiàn)的。但通常是應(yīng)先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來(lái)調(diào)試。</p><p> 7.1.1 常見(jiàn)的硬件故障</p><p> ?。?)常見(jiàn)的錯(cuò)誤:樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤或加工過(guò)程中的工藝性錯(cuò)誤所造成的。這類錯(cuò)誤包括錯(cuò)線.開(kāi)路.短路.相位錯(cuò)等。</p><p> ?。?)器
37、件失效:有兩方面的原因,一是器件本身已損壞或性能不符合要求;二是由于組裝錯(cuò)誤造成元器件失效,如電解電容.二極管的極性錯(cuò)誤,集成塊安裝方向錯(cuò)誤等。</p><p> (3)可靠性差:引起可靠性差的原因很多,如金屬化孔與接插件接觸不良會(huì)造成系統(tǒng)時(shí)好時(shí)壞,經(jīng)不起振動(dòng);內(nèi)部和外部的干擾.電源紋波系數(shù)大.器件負(fù)載過(guò)大等造成邏輯電平不穩(wěn)定;走線和布局不合理等也會(huì)引起系統(tǒng)可靠差。</p><p>
38、(4)電源故障:若樣機(jī)存在電源故障,系統(tǒng)加電后將造成器件損壞。電源故障包括:電壓值不符合設(shè)計(jì)要求電源引線和插座不對(duì).功率不足.負(fù)載能力差等。</p><p> 7.1.2 調(diào)試方法</p><p> ?。?)脫機(jī)調(diào)試:在樣機(jī)加電之前,先用萬(wàn)用表等工具,根據(jù)硬件電氣原理圖和裝配圖仔細(xì)檢查站樣機(jī)線路的正確性,并核對(duì)元器件的型號(hào).規(guī)格和安裝是否符合要求。應(yīng)特別注意電源的下走線,防止電源之間的適
39、中和極性錯(cuò)誤,并重點(diǎn)檢查擴(kuò)展系統(tǒng)總線是否存在相互間的適中或與其他信號(hào)線的短路。對(duì)于樣機(jī)所用電源事先必須單獨(dú)調(diào)試,調(diào)試好后,檢查其電壓值.負(fù)載能力.極性等均符合要求,才能加到系統(tǒng)的各個(gè)部件上。在不插片子的情況下,加電檢查各插件上引腳的電位,仔細(xì)測(cè)量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)插座上各點(diǎn)電位是否正常,若有高壓,聯(lián)機(jī)時(shí)將會(huì)損壞開(kāi)發(fā)機(jī)。</p><p> ?。?)聯(lián)機(jī)調(diào)試:通過(guò)脫機(jī)調(diào)試可排除一些明顯的硬件故障。有些
40、故障還是要通過(guò)聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。</p><p> 聯(lián)機(jī)前先斷電,將單片機(jī)開(kāi)發(fā)系統(tǒng)的仿真頭插到樣機(jī)的單片機(jī)插座上,檢查一下開(kāi)發(fā)機(jī)與樣機(jī)之間的電源.接地是否良好。一切正常,即可打開(kāi)電源。通電后執(zhí)行開(kāi)發(fā)機(jī)的讀寫(xiě)指令,對(duì)用戶樣機(jī)的存儲(chǔ)器I/O端口進(jìn)行讀寫(xiě)操作邏輯檢查,若有故障,可用示波器觀察有關(guān)波形(如選中的譯碼器輸出波形.主導(dǎo)寫(xiě)控制信號(hào).地址數(shù)據(jù)波形以及有關(guān)控制電平)。通過(guò)對(duì)波形的觀察分析,尋找故障原因,并進(jìn)
41、一步排除故障。可能的故障有:線路連接上有邏輯錯(cuò)誤.有短路和斷路現(xiàn)象.集成電路失效等。在用戶系統(tǒng)的樣機(jī)(主機(jī)部分)調(diào)試好后,可以插上用戶系統(tǒng)的其他外圍部件如.鍵盤(pán).顯示器輸出驅(qū)動(dòng)板、A/D、D/A板等。 再對(duì)這些板進(jìn)行初步的調(diào)試。在調(diào)試過(guò)程中若發(fā)現(xiàn)用戶系統(tǒng)工作不穩(wěn)定,可能有下列情況:電源系統(tǒng)供電電流不足,聯(lián)機(jī)時(shí)公共地線接觸不良;擁護(hù)系統(tǒng)主板負(fù)載過(guò)大;用戶的各級(jí)電源濾波不完善等。對(duì)這些問(wèn)題一定要認(rèn)真查處原因,加以排除。 </p>
42、<p> 7.2 軟件調(diào)試方法</p><p> 軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計(jì)技術(shù)有關(guān)。如果采用模塊程序設(shè)計(jì)技術(shù),則逐個(gè)模塊分別調(diào)試。調(diào)試各子程序暗無(wú)天日定要符合現(xiàn)場(chǎng)環(huán)境,即入口條件和出口條件。調(diào)試的手段可采用單步運(yùn)行或段點(diǎn)運(yùn)行方式,通過(guò)檢查用戶系統(tǒng)CPU的現(xiàn)場(chǎng)、RAM的內(nèi)容和I/O口的狀態(tài),檢查程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求。通過(guò)檢測(cè)可以發(fā)現(xiàn)程序中的死循環(huán)錯(cuò)誤、機(jī)器碼錯(cuò)誤及轉(zhuǎn)移地址的錯(cuò)誤
43、,同時(shí)也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障、軟件算法及硬件設(shè)計(jì)故障。在調(diào)試過(guò)程中不斷調(diào)整用戶系統(tǒng)的軟件和硬件,逐步通過(guò)一個(gè)一個(gè)程序模塊。</p><p> 各模塊通過(guò)以后,可以把有關(guān)的功能模塊聯(lián)合起來(lái)一起進(jìn)行綜合調(diào)試。在這個(gè)階段若發(fā)生故障,可以考慮各子程序在運(yùn)行時(shí)是破壞現(xiàn)場(chǎng),緩沖單元是否發(fā)生沖突,標(biāo)志位的建立和清除上設(shè)計(jì)上有沒(méi)有失誤,堆棧區(qū)有沒(méi)有溢出。輸入設(shè)備的狀態(tài)是否正常等等。若用戶系統(tǒng)是在開(kāi)發(fā)機(jī)的監(jiān)控程序下運(yùn)行時(shí)
44、,還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。</p><p> 經(jīng)單步和斷點(diǎn)運(yùn)行調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試,這是因?yàn)閱尾竭\(yùn)行只能驗(yàn)證程序的正確與否,而不能確定定時(shí)的精度、CPU的實(shí)時(shí)響應(yīng)等問(wèn)題。待全部調(diào)試完成后應(yīng)反復(fù)運(yùn)行多次,除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計(jì)要求、安排的用戶操作是否合理等,必要時(shí)再作適當(dāng)?shù)男拚?lt;/p><p> 如果采用實(shí)時(shí)多任務(wù)操
45、作系統(tǒng),一般是逐個(gè)任務(wù)進(jìn)行調(diào)試,調(diào)試方法與上相似只是實(shí)時(shí)多任務(wù)操作系統(tǒng)的應(yīng)用程序是由若干個(gè)任務(wù)程序組成,一般是逐個(gè)進(jìn)行調(diào)試,在調(diào)試某一個(gè)任務(wù)時(shí),同時(shí)也調(diào)試相關(guān)的子程序、中斷服務(wù)程序和一些操作系統(tǒng)的程序。調(diào)試完后,再使各任務(wù)同時(shí)運(yùn)行,如果操作系統(tǒng)無(wú)錯(cuò)誤,一般情況下系統(tǒng)就能正常運(yùn)行。</p><p> 軟件和硬件聯(lián)調(diào)完成后,反復(fù)運(yùn)行正常則可將用戶系統(tǒng)固化到EPROM中,插入用戶樣機(jī)后,用戶系統(tǒng)即能脫機(jī)工作,至此系統(tǒng)
46、研制完成。</p><p><b> 結(jié) 論</b></p><p> 本系統(tǒng)以AT89C51為核心部件,利用軟件編程,通過(guò)鍵盤(pán)控制和液晶顯示實(shí)現(xiàn)了時(shí)鐘功能、鬧鐘功能,并完成了對(duì)環(huán)境溫度和市電信號(hào)頻率及有效值的測(cè)量顯示,能實(shí)現(xiàn)題目的基本要求和發(fā)揮部分。盡量做到硬件電路簡(jiǎn)單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差。
47、由于時(shí)間有限和本身知識(shí)水平的發(fā)揮,我們認(rèn)為本系統(tǒng)還有需要改進(jìn)和提高的地方,例如選用更高精度的元器件,硬件電路更加精確穩(wěn)定,軟件測(cè)量算法進(jìn)一步的改進(jìn)與完善等。</p><p> 此次畢業(yè)設(shè)計(jì)中,我們組做的是一個(gè)可在線調(diào)整的單片機(jī)電子打鈴,從畢業(yè)設(shè)計(jì)任務(wù)下達(dá)到設(shè)計(jì)任務(wù)的完成,整個(gè)過(guò)程經(jīng)歷了確定設(shè)計(jì)目標(biāo)、擬訂設(shè)計(jì)項(xiàng)目、執(zhí)行設(shè)計(jì)任務(wù)、完成設(shè)計(jì)任務(wù)四個(gè)步驟。在這四個(gè)步驟中,執(zhí)行設(shè)計(jì)任務(wù)是最艱辛的,但同時(shí)也是我們組團(tuán)隊(duì)精神
48、得到最大發(fā)揮的時(shí)候,是我們組最具有成就感的階段。</p><p> 在執(zhí)行設(shè)計(jì)任務(wù)的過(guò)程中,零件的選購(gòu)、實(shí)物的焊接以及到后來(lái)論文的完成都不是最難的,最難的是硬件的調(diào)試,因?yàn)槔碚撆c實(shí)踐總是存在著差距,想出來(lái)的東西沒(méi)有經(jīng)過(guò)實(shí)踐的檢驗(yàn)是不可靠的,任何一個(gè)小小的疏忽大意都能導(dǎo)致失敗。比如說(shuō),因?yàn)镻0口與其它口的區(qū)別,要在AT89C51單片機(jī)的P0口上驅(qū)動(dòng)LED的顯示必須加上上拉電阻(資料書(shū)上只簡(jiǎn)單地用一句話來(lái)描述),但
49、是我們?cè)跀M訂設(shè)計(jì)項(xiàng)目的過(guò)程中忽略了這一點(diǎn),以至在調(diào)試的過(guò)程中沒(méi)有達(dá)到原定的計(jì)劃,即無(wú)法驅(qū)動(dòng)LED發(fā)光。在查閱了大量的資料書(shū)并對(duì)實(shí)物進(jìn)行詳細(xì)的檢查分析后,我們組終于發(fā)現(xiàn)問(wèn)題地所在并及時(shí)地解決了問(wèn)題,之后再一次對(duì)硬件進(jìn)行調(diào)試,這次終于成功了。這只是一個(gè)例子,在設(shè)計(jì)的過(guò)程中遇到的問(wèn)題遠(yuǎn)遠(yuǎn)不止這一個(gè)。從這一方面來(lái)說(shuō),我認(rèn)識(shí)到要做成一件事是很難的,期中必定有很多的阻礙,但是我們一定要慢慢來(lái),一點(diǎn)一點(diǎn)地找出問(wèn)題,再一點(diǎn)一點(diǎn)地解決它,這樣的話,到達(dá)成
50、功的彼岸也就僅僅是時(shí)間的問(wèn)題了。我想,通過(guò)這次設(shè)計(jì),特別是通過(guò)對(duì)硬件的制作而不單單是對(duì)原理的論述,我學(xué)到的不僅僅是電子方面的知識(shí),更重要的是,我學(xué)到了作為一名電子設(shè)計(jì)者所必需的心理素質(zhì),那就是——決心加上耐心!</p><p> 當(dāng)然,在制作的過(guò)程中我也強(qiáng)烈地感受到團(tuán)隊(duì)的力量,沒(méi)有團(tuán)隊(duì)地共同努力是不可能完成設(shè)計(jì)任務(wù)地。除此之外,沒(méi)有老師的關(guān)心與幫助也是很難達(dá)到設(shè)計(jì)要求的,在此再次向三位指導(dǎo)老師:魯杰爽、魯杰爽及
51、彭俊珍老師表示感謝!</p><p> 經(jīng)過(guò)本次畢業(yè)課題設(shè)計(jì),在為不經(jīng)意中我已掌握了不少關(guān)于單片機(jī)的實(shí)用知識(shí)。我深感自豪、充實(shí)、略有些成就感。同時(shí)也使我的能力進(jìn)一步提高。為我畢業(yè)后能更好的適應(yīng)社會(huì)工作打下一定的基礎(chǔ)。為此,我忠心的感謝各級(jí)領(lǐng)導(dǎo)及指導(dǎo)老師的大力支持。</p><p> 經(jīng)過(guò)兩個(gè)星期的單片機(jī)電子打鈴的課題的設(shè)計(jì),我從中學(xué)到了很多東西。如:如何設(shè)計(jì)硬件電路,如何編寫(xiě)、調(diào)試軟件
52、程序等。這使我受益非淺,感受很深。這不僅使我重溫了單片機(jī)的基本結(jié)構(gòu)及工作原理,接口技術(shù),而且進(jìn)一步熟悉了如何使用單片機(jī)匯編語(yǔ)言編寫(xiě)程序和調(diào)用程序的方法與技巧。能夠熟練地對(duì)小鍵盤(pán)進(jìn)行操作,對(duì)單片機(jī)常用的幾種芯片也有了更深一步的了解,而且學(xué)會(huì)了如何利用計(jì)算機(jī)進(jìn)行程序匯編和寫(xiě)入程序存儲(chǔ)進(jìn)行調(diào)試,使我對(duì)整個(gè)制作流程有了深刻的了解和體會(huì)。特別是認(rèn)識(shí)到使用單片機(jī)進(jìn)行軟件、硬件的開(kāi)發(fā)過(guò)程中應(yīng)注意設(shè)計(jì)要求、經(jīng)過(guò)及解決一些客觀存在問(wèn)題的重要性及其意義。在
53、電子打鈴課題的設(shè)計(jì)制作過(guò)程使我們對(duì)單片機(jī)的設(shè)計(jì)、開(kāi)發(fā)產(chǎn)生了更加深厚的興趣,但是也遇到了很多問(wèn)題和挫折,然而經(jīng)過(guò)自己不斷的探索和請(qǐng)教學(xué)習(xí)后,還是將它們一一解決,并得到了很多很深刻的教訓(xùn)和許多寶貴經(jīng)驗(yàn),找出自身整個(gè)設(shè)計(jì)過(guò)程中所存在的問(wèn)題,并認(rèn)識(shí)到自己在以后應(yīng)該怎樣去克服它們。在整個(gè)設(shè)計(jì)過(guò)程中我的動(dòng)手能力與解決問(wèn)題的能力也進(jìn)一步提高。</p><p> 雖本次設(shè)計(jì)中我走了不少的彎路,吃了不少的苦頭。但是,我從中得到了
54、更多。使我對(duì)單片機(jī)的開(kāi)發(fā)產(chǎn)生了濃厚的興趣,對(duì)我的將來(lái)充滿斗志和信心。我相信,將來(lái)的社會(huì),只要能想到的就能做。因?yàn)榭萍紵o(wú)邊,智慧無(wú)限。我相信我們的能力。</p><p> 由于我們?cè)O(shè)計(jì)的電子打鈴課題的重點(diǎn)在于軟件程序的設(shè)計(jì),利用PROTEL99電路圖設(shè)計(jì)應(yīng)用軟件進(jìn)行設(shè)計(jì)硬件電路圖的原理圖與PCB電路板圖,利用計(jì)算機(jī)進(jìn)行編寫(xiě)程序,編譯程序和編程器將程序?qū)懭氲紸T89C2051存儲(chǔ)器里。在單片機(jī)上進(jìn)行調(diào)試。在軟件設(shè)計(jì)
55、時(shí),由于相對(duì)應(yīng)單片機(jī)的中斷系統(tǒng)指令系統(tǒng)內(nèi)部和外部存儲(chǔ)器不是很了解,所以出現(xiàn)了許多不必要的麻煩。就拿編程來(lái)說(shuō),由于沒(méi)有處理好子程序的返回和時(shí)鐘中斷程序時(shí)間就導(dǎo)致時(shí)鐘運(yùn)行到指定的時(shí)間后不打轉(zhuǎn)而是繼續(xù)走時(shí),由于沒(méi)有把握好計(jì)數(shù)、顯示等一些細(xì)節(jié)地方,而導(dǎo)致時(shí)鐘計(jì)數(shù)不準(zhǔn)確、不能正常顯示時(shí)間等一系列相當(dāng)嚴(yán)重的問(wèn)題。在經(jīng)過(guò)反復(fù)檢查、分析、調(diào)試之后,從中發(fā)現(xiàn)了中斷時(shí)的數(shù)值設(shè)置不太適合,不能使用兩個(gè)時(shí)鐘標(biāo)準(zhǔn)等一系列問(wèn)題,經(jīng)過(guò)自己的反復(fù)修改、調(diào)試和驗(yàn)證,最終
56、才得以解決達(dá)到設(shè)計(jì)的要求。在整個(gè)設(shè)計(jì)過(guò)程中,程序的調(diào)試是其中一個(gè)非常重要的環(huán)節(jié)。在調(diào)試過(guò)程中,小鍵盤(pán)的操作是十分必要的,特別是在調(diào)試程序中,有時(shí)往往需要在程序中設(shè)置斷點(diǎn)來(lái)判斷程序是否正確,通過(guò)它,我們可以很快找到出錯(cuò)的地方,對(duì)程序進(jìn)行分析并加以修正。其中有一點(diǎn)是值得我們注意的:在程序設(shè)計(jì)之前一定要知道設(shè)計(jì)要求,要清</p><p> 在這次的電子打鈴的課題設(shè)計(jì)過(guò)程中,我對(duì)所學(xué)的PROTEL99設(shè)計(jì)應(yīng)用軟件有了更
57、深一步的理解與掌握,能夠十分熟練的運(yùn)用其各個(gè)菜單的功能,在設(shè)計(jì)電路時(shí)要細(xì)心,有耐心,每一個(gè)環(huán)節(jié)都不能有半點(diǎn)的差錯(cuò),每一個(gè)連接點(diǎn)都不能粗心,否則就不能成功。就拿電路原理圖轉(zhuǎn)化為PCB板圖來(lái)說(shuō),如果有一個(gè)元件沒(méi)有封裝或封裝錯(cuò)誤,一個(gè)元件的管腳編號(hào)不一至,在轉(zhuǎn)化時(shí)就會(huì)出錯(cuò)。有時(shí)我們所使用的元件在元件庫(kù)中無(wú)法找到,這就需要我們自己制作,在整個(gè)制作過(guò)程中,元件的定義是很關(guān)鍵很重要的一步,我們必須對(duì)元件的每一管腳功能都很熟悉,以及元件的每一項(xiàng)參數(shù)也
58、要了解。元件的引腳也要畫(huà)的均勻,它們的每一步都是連貫的,都是一環(huán)扣一環(huán),對(duì)所做的元器件不進(jìn)行了解就不可能制作出一個(gè)合格的元器件。</p><p> 此次課題設(shè)計(jì)大體分為準(zhǔn)備、設(shè)計(jì)、調(diào)試驗(yàn)證、整理四個(gè)階段。就準(zhǔn)備來(lái)說(shuō),主要查資料。其目的是溫故專業(yè)知識(shí),熟悉AT89C2051等芯片;再者設(shè)計(jì)階段主要是原理圖設(shè)計(jì)、程序設(shè)計(jì)等。在前階段的基礎(chǔ)上,根據(jù)設(shè)計(jì)目的做出設(shè)計(jì)計(jì)劃。此階段要求熟練操作計(jì)算機(jī)軟件。如PROTEL及匯
59、編等應(yīng)用軟件。同時(shí),要具有一定的編程能力以及應(yīng)用能力;而調(diào)試驗(yàn)證階段主要就程序的調(diào)試,及驗(yàn)證結(jié)果。此階段要掌握編程器及單片機(jī)實(shí)驗(yàn)電路板的應(yīng)用。使程序達(dá)到預(yù)期效果。整理階段就是把設(shè)計(jì)的原理圖及程序做裝飾。使其通俗易懂,一目了然,有條有理。然后把課題設(shè)計(jì)所涉及的必用資料,以書(shū)面的形式打印出來(lái),裝訂成本。提交答辯。此次畢業(yè)設(shè)計(jì)也就圓滿完成。</p><p> 在這個(gè)設(shè)計(jì)過(guò)程中,我們?nèi)绻麤](méi)有對(duì)以上的知識(shí)進(jìn)行學(xué)習(xí)就不可能
60、對(duì)它們整體化,系統(tǒng)化;也就不能完成課題設(shè)計(jì)。我們?nèi)绻麤](méi)有細(xì)心和耐心,沒(méi)有刻苦鉆研,艱苦奮斗的精神,整個(gè)課題就不可能設(shè)計(jì)成功。經(jīng)過(guò)本次課題設(shè)計(jì),使我的專業(yè)知識(shí)得到進(jìn)一步提高,特別是在單片機(jī)編程、匯編語(yǔ)言的應(yīng)用,計(jì)算機(jī)的操作,單片微型計(jì)算機(jī)實(shí)驗(yàn)板的使用,編程器和電腦的配合使用,以及Protel 99SE軟件的熟練應(yīng)用等方面。無(wú)論是那一方面都馬虎不得。因?yàn)樗鼈儾讲较噙B,環(huán)環(huán)相扣。對(duì)待它們只有耐心、恒心,更要細(xì)心和信心。</p>
61、<p> 總之,本次單片機(jī)電子打鈴課題的設(shè)計(jì)讓我學(xué)到了很多東西,使我受益非淺。</p><p><b> 致謝</b></p><p> 衷心感謝我的指導(dǎo)老師魯杰爽老師。感謝他在我的畢業(yè)設(shè)計(jì)期間對(duì)我的精心指導(dǎo)和教誨。在畢業(yè)設(shè)計(jì)過(guò)程中,魯老師無(wú)論是在理論上還是在實(shí)踐中,都給了我很大的幫助。使我在程序調(diào)試等各個(gè)方面得到了很大的提高。魯老師治學(xué)態(tài)度嚴(yán)謹(jǐn),工作
62、態(tài)度認(rèn)真負(fù)責(zé),為人親切和藹,學(xué)術(shù)理論和實(shí)踐經(jīng)驗(yàn)豐富,是我學(xué)習(xí)的好榜樣。</p><p> 同時(shí)感謝和我合作的本小組成員(邵莉、朱云霞、張?zhí)m、曾玲、夏奎、陳春、李桂林、徐沛然、張杰、李維、揚(yáng)洋、黃京端、李學(xué)亮、王力、沙長(zhǎng)園)。在調(diào)試的過(guò)程中,我們團(tuán)結(jié)合作,充分發(fā)揮了集體的力量。遇到技術(shù)難關(guān),我們一起商討解決辦法,提出合理方案。在整個(gè)開(kāi)發(fā)過(guò)程中,是他們給了我無(wú)私的協(xié)助,幫助我順利地完成這次畢業(yè)設(shè)計(jì)。</p&g
63、t;<p> 本次用單片機(jī)設(shè)計(jì)的電子打鈴至此已全部完成,從開(kāi)始至結(jié)束的一切工作都經(jīng)同組同學(xué)齊心協(xié)力的努力下,以及魯杰爽老師和彭俊珍老師的關(guān)懷、支持和指導(dǎo)下,才能順利的完成(因?yàn)闊o(wú)論是資料的采集、零件選購(gòu)、軟件設(shè)計(jì)、還是硬件焊接、外觀設(shè)計(jì)、論文編寫(xiě)都是由先討論、后確定、再經(jīng)過(guò)老師的指導(dǎo),最后經(jīng)過(guò)分工合作來(lái)完成的),在這次的設(shè)計(jì)中體現(xiàn)出我們強(qiáng)大的團(tuán)隊(duì)精神,讓我們感受到團(tuán)隊(duì)的力量。享受到了學(xué)以致用,用以助學(xué)的快樂(lè)。特別是兩位老
64、師無(wú)微不至的關(guān)心,更另我們感受到學(xué)院的溫暖。老師的偉大。</p><p> 通過(guò)本次畢業(yè)設(shè)計(jì),使我們對(duì)書(shū)本又有了更深層次的認(rèn)識(shí),增強(qiáng)了每位組員的動(dòng)手能力,特別是認(rèn)識(shí)到理論與實(shí)際異同。理論需要實(shí)際的驗(yàn)證,實(shí)際需要理論為基礎(chǔ)和指導(dǎo)。</p><p> 在此向魯杰爽、劉華東、彭俊珍三位指導(dǎo)老師表示感謝!</p><p><b> 參考文獻(xiàn)</b>
65、;</p><p> 劉華東.單片機(jī)原理與應(yīng)用.北京:電子工業(yè)出版社,2002.</p><p> 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第二版) .武漢:華中科技大學(xué)出版社,2000.</p><p> 何小艇.電子系統(tǒng)設(shè)計(jì).浙江:浙江大學(xué)出版社,2004.</p><p> 胡宴如.模擬電子技術(shù).北京:高等教育出版
66、社,2004.</p><p> 胡翔俊.電路基礎(chǔ).北京:高等教育出版社,2004.</p><p> 楊樹(shù).數(shù)字電子技術(shù).北京:高等教育出版社,2004.</p><p><b> 附錄 A: 原理圖</b></p><p> 附錄 B: PCB圖(正面)</p><p> 附錄 C:
67、 PCB圖(反面)</p><p> 附錄 D: 應(yīng)用程序</p><p> ORG 0000H ;設(shè)置程序起始地址</p><p> START:LJMP L0030 </p><p> ORG 000BH ;設(shè)置T0中斷起始地
68、址</p><p> INTT00:LJMP INTT1 </p><p> ORG 001BH ;設(shè)置T1中斷起始地址</p><p> INTT01:LJMP INTT1</p><p> ORG 0030H</p><p>
69、 L0030:MOV 60H,#00H ;數(shù)碼管顯示緩沖單元清零</p><p> MOV 61H,#00H</p><p> MOV 62H,#00H</p><p> MOV 63H,#00H</p><p> MOV 64H,#00H</p><p>
70、 MOV 65H,#00H</p><p> MOV 50H,#00H ;秒計(jì)數(shù)緩沖單元清零</p><p> MOV 51H,#00H ;分計(jì)數(shù)緩沖單元清零</p><p> MOV 52H,#00H ;時(shí)計(jì)數(shù)緩沖單元清零</p><p>
71、; MOV 53H,#00H ;星期計(jì)數(shù)緩沖單元清零</p><p> MOV 54H,#00H ;日期計(jì)數(shù)緩沖單元清零</p><p> MOV 5AH,#07h</p><p> MOV 5BH,#00h</p><p> MOV 5CH,#00h&l
72、t;/p><p> CLR 10H ;對(duì)中斷處理的單雙兩部分單元清零 </p><p> CLR 11H</p><p> CLR 12H</p><p> CLR 13H</p><p> MOV R7,#00H
73、 ;對(duì)基礎(chǔ)計(jì)時(shí)清零</p><p> MOV R2,#00H ;對(duì)掃描計(jì)數(shù)清零</p><p> MOV P1,#0FFH ;輸出口初始化</p><p> MOV P3,#0FFH ;輸出口初始化</p><p> MOV
74、 SP,#66H ;設(shè)置堆棧的起始地址</p><p> MOV TMOD,#11H ;定時(shí)器1的初始化</p><p> MOV 8BH,#38H ;對(duì)定時(shí)器給初值</p><p> MOV 8DH,#38H ;對(duì)定時(shí)器給初值</p>
75、<p> SETB PT1 ;設(shè)置中斷的優(yōu)先級(jí)</p><p> SETB RS1 ;工作寄存器的設(shè)置</p><p> SETB RS0 ;T1使用第三組寄存器</p><p> MOV R1,#0FH</p>
76、<p> SETB ET1 ;開(kāi)中斷,啟動(dòng)定時(shí)器</p><p> SETB TR1 </p><p><b> SETB EA</b></p><p> CLR TR0</p><p> CLR RS1
77、 ;主程序使用第零組寄存器</p><p> CLR RS0</p><p> L01:LCALL DISPLAY1 ;調(diào)用顯示子程序</p><p> LCALL K1 ;調(diào)用鍵處理子程序</p><p> LJMP L01
78、 ;死循環(huán)</p><p> ORG 0100H ;設(shè)置定時(shí)器中斷子程序的起始地址</p><p> INTT1:PUSH ACC ;保護(hù)現(xiàn)場(chǎng)</p><p> PUSH PSW</p><p> PUSH DPH</
79、p><p> PUSH DPL</p><p> MOV A,B</p><p> PUSH ACC</p><p> SETB RS0 ;設(shè)定工程環(huán)境</p><p> SETB RS1 ;定時(shí)器使用第三組寄存器</
80、p><p> CLR TR1 ;關(guān)中斷</p><p> MOV TH1,#0FCH ;重設(shè)定時(shí)器初值</p><p> MOV TL1,#38H</p><p> SETB TR1 ;啟動(dòng)中斷</p><p
81、> LOOP2:CPL 10H ;對(duì)中斷處理的單雙兩部分單元取反</p><p> JNB 10H,LOOPA1 ;(10H)的位是否為0,是則轉(zhuǎn)移</p><p> CJNE R7,#00H,LOOP3 ;(R7)等于0嗎?是則順序執(zhí)行</p><p> LJMP
82、 LOOP4</p><p> LOOP3:DEC R7 ;R7減1</p><p> LOOP4:INC R2 ;R2加1</p><p> CJNE R2,#06H,LOOP5 ;(R2)等于0嗎?是則順序執(zhí)行</p><p>
83、LOOP5:JNC LOOP6 ;判斷進(jìn)位是否為0,是則順序執(zhí)行</p><p> LJMP LOOP7</p><p> LOOP6:MOV R2,#00H ;對(duì)R2清零</p><p> LOOP7:CJNE R2,#00H,LOOP8 ;R2等于0嗎?是則順序執(zhí)行(
84、顯示第一位碼)</p><p> MOV A,60H ;秒的個(gè)位</p><p> MOV DPTR,#DATA1 ;查顯示字碼</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A ;從P0送出去<
85、;/p><p> ORL P2,#7FH ;將P2口的低7位置1</p><p> CLR P2.0 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p> MOV R1,P2 ;將P2口的內(nèi)容讀出來(lái)</p><p> LJMP LO
86、OPA</p><p> LOOP8:CJNE R2,#01H,LOOP9 ;R2等于1嗎?是則順序執(zhí)行(顯示第二位碼)</p><p> MOV A,61H ;秒的十位</p><p> MOV DPTR,#DATA1 ;查顯示字碼</p><p> MO
87、VC A,@A+DPTR</p><p> MOV P0,A ;從P0送出去</p><p> ORL P2,#7FH ;將P2口的低7位置1</p><p> CLR P2.1 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p&g
88、t; MOV R1,P2 ;將P2口的內(nèi)容讀出來(lái)</p><p> LJMP LOOPA</p><p> LOOP9:CJNE R2,#02H,LOOP10 ;R2等于2嗎?是則順序執(zhí)行(顯示第三位碼)</p><p> MOV A,62H ;分的個(gè)位</p&
89、gt;<p> MOV DPTR,#DATA1 ;查顯示字碼</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A ;從P0送出去</p><p> ORL P2,#7FH ;將P2口的低7位置1</p>
90、<p> CLR P2.2 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p> MOV R1,P2 ;將P2口的內(nèi)容讀出來(lái)</p><p> LJMP LOOPA</p><p> LOOPA1:LJMP LOOPA1</p><p> L
91、OOP10:CJNE R2,#03H,LOOP11 ;R2等于3嗎?是則順序執(zhí)行(顯示第四位碼)</p><p> MOV A,63H ;分的十位</p><p> MOV DPTR,#DATA1 ;查顯示字碼</p><p> MOVC A,@A+DPTR</p>
92、<p> MOV P0,A ;從P0送出去</p><p> ORL P2,#7FH ;將P2口的低7位置1</p><p> CLR P2.3 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p> MOV R1,P2
93、 ;將P2口的內(nèi)容讀出來(lái)</p><p> LJMP LOOPA</p><p> LOOP11:CJNE R2,#04H,LOOP12 ;R2等于4嗎?是則順序執(zhí)行(顯示第五位碼)</p><p> MOV A,64H ;時(shí)的個(gè)位</p><p> MOV DP
94、TR,#DATA1 ;查顯示字碼</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A ;從P0送出去</p><p> ORL P2,#7FH ;將P2口的低7位置1</p><p> CLR P2.4
95、 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p> MOV R1,P2 ;將P2口的內(nèi)容讀出來(lái)</p><p> LJMP LOOPA</p><p> LOOP12: CJNE R2,#05H,LOOPA ;R2等于5嗎?是則順序執(zhí)行(顯示第六位碼)</p>
96、<p> MOV A,65H ;時(shí)的十位</p><p> MOV DPTR,#DATA1 ;查顯示字碼</p><p> MOVC A,@A+DPTR</p><p> MOV R1,A </p><p> MOV
97、 P0,A ;從P0送出去</p><p> ORL P2,#7FH ;將P2口的低7位置1 </p><p> CLR P2.5 ;對(duì)顯示位位碼清零(三極管導(dǎo)通)</p><p> MOV R1,P2 ;將P2口的內(nèi)容讀
98、出來(lái)</p><p> LJMP LOOPA</p><p> LOOPA:MOV A,R1 ;鍵盤(pán)處理(去抖動(dòng))</p><p> JB ACC.6,L034BH ;(ACC.6)的位是否為1,是則轉(zhuǎn)移</p><p> MOV A,R2
99、 ;當(dāng)前所點(diǎn)亮的數(shù)碼管的鍵值</p><p> CJNE A,5AH,L0349H ;(A)等于(5AH)嗎?是則順序執(zhí)行 </p><p><b> INC R3</b></p><p> CJNE R3,#08H,L034AH ;(R3)等于08H嗎?是則順序執(zhí)行</p>
100、<p> L034AH:JC L034BH ;有借位嗎?有則轉(zhuǎn)移</p><p> MOV 5BH,R2</p><p> SETB 11H ;對(duì)11H置1</p><p> L0349H:MOV R3,#00H</p><p> MO
101、V 5AH,R2</p><p> L034BH:LJMP LOOPRET ;顯示時(shí)間</p><p> LOPA1:CJNE R7,#00H,LOOPRET ;R7等于0嗎?是則順序執(zhí)行</p><p> LOOP13:MOV R7,#0CFH ;給計(jì)數(shù)器一個(gè)1000的值<
102、/p><p> INC 5CH</p><p> MOV A,50H ;一秒到</p><p> INC A ;50H是秒計(jì)時(shí)的寄存器的單元</p><p><b> DA A</b></p><p>
103、; MOV 50H,A</p><p> CJNE A,#60H,LOOP14 ;是否到了60秒?是則順序執(zhí)行</p><p> MOV 50H,#00H ;分開(kāi)始計(jì)時(shí)前,秒單元要清零</p><p> MOV A,51H ;一分計(jì)時(shí)</p><p&
104、gt; INC A ;51H是分計(jì)時(shí)的寄存器的單元</p><p><b> DA A</b></p><p> MOV 51H,A</p><p> CJNE A,#60H,LOOP14 ;是否到了60分?是則順序執(zhí)行 </p><
105、;p> MOV 51H,#00H ;時(shí)開(kāi)始計(jì)時(shí)前,分單元要清零</p><p> MOV A,52H ;一小時(shí)計(jì)時(shí)</p><p> INC A ;52H是小時(shí)計(jì)時(shí)的寄存器的單元</p><p><b> DA A</b
106、></p><p> MOV 52H,A</p><p> CJNE A,#24H,LOOP14 ;是否到了24小時(shí)?是則順序執(zhí)行 </p><p> MOV 52H,#00H ;星期開(kāi)始計(jì)時(shí)前,時(shí)單元要清零</p><p> MOV A,53H</p>
107、<p> INC A ;53H是星期計(jì)時(shí)的寄存器的單元</p><p><b> DA A</b></p><p> MOV 53H,A</p><p> CJNE A,#08H,LOOP14A ;是否到了一星期?是則順序執(zhí)行</p>&l
108、t;p> MOV 53H,01H</p><p> LOOP14A:MOV A,54H</p><p> INC A ;54H是月計(jì)時(shí)的寄存器的單元</p><p><b> DA A</b></p><p> MOV 54H,A<
109、;/p><p> CJNE A,#31H ,LOOP14 ;是否到了兩個(gè)星期?是則順序執(zhí)行</p><p> MOV 54H,#01H</p><p> LOOP14:LJMP LOOPRET</p><p> LOOPRET:POP ACC ;恢復(fù)現(xiàn)場(chǎng)</p>
110、<p> MOV B,A</p><p> POP DPL</p><p> POP DPH</p><p> POP PSW</p><p> POP ACC</p><p> RETI ;中斷返回</p>
111、;<p> DATA1:DB 0C0H,0F9H,0A4H,0B0H,99H,092,82H,0F8H,80H</p><p> DB 90H,50H,0D0H,030H,0B0H,070H,0F0H,0F0H</p><p> DISPLAY1:MOV A,50H ;顯示處理子程序</p><p&
112、gt; ANL A,#0FH ;一個(gè)字節(jié)要兩位數(shù)碼管顯示</p><p> MOV 60H,A ;取低四位</p><p> MOV A,50H</p><p><b> SWAP A</b></p><p> ANL A,0
113、FH</p><p> MOV 61H,A ;取高四位</p><p> MOV A,51H ;顯示第一個(gè)字節(jié)</p><p> ANL A,#0FH</p><p> MOV 62H,A</p><p> MOV A,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘——畢業(yè)設(shè)計(jì)論文
- 電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 秒表電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 數(shù)字電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 數(shù)字顯示電子時(shí)鐘畢業(yè)設(shè)計(jì)論文(修訂)
- 畢業(yè)設(shè)計(jì)論文----單片機(jī)電子時(shí)鐘
- 單片機(jī)電子時(shí)鐘 畢業(yè)設(shè)計(jì)論文
- 數(shù)字顯示電子時(shí)鐘畢業(yè)設(shè)計(jì)論文(修訂)
- 畢業(yè)論文--電子時(shí)鐘設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文-----電子時(shí)鐘設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文) 單片機(jī)電子時(shí)鐘設(shè)計(jì)
- 電子畢業(yè)設(shè)計(jì)---多功能電子時(shí)鐘
- 數(shù)字顯示電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 多功能電子時(shí)鐘畢業(yè)設(shè)計(jì)
- 電子時(shí)鐘設(shè)計(jì)論文
- 電子時(shí)鐘設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
評(píng)論
0/150
提交評(píng)論