




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 引言單片機(jī)系統(tǒng)被定義為: 以應(yīng)用為中心, 以計(jì)算機(jī)技術(shù)為基礎(chǔ), 軟硬件可裁剪, 適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 實(shí)際上單片機(jī)系統(tǒng)是計(jì)算機(jī)的一種應(yīng)用形式, 是將先進(jìn)的計(jì)算機(jī)技術(shù)、 半導(dǎo)體技 術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物, 具有軟件代碼小、 高度自 動(dòng)化、響應(yīng)速度快等特點(diǎn)。因此它是一個(gè)技術(shù)密集、資金密集、高度分散、不斷 創(chuàng)新的知識(shí)集成系統(tǒng)。特別適合于要求實(shí)時(shí)的和多任務(wù)的系統(tǒng)。如今單片機(jī)系統(tǒng)的應(yīng)用越來(lái)越廣泛, 那么單片機(jī)系統(tǒng)應(yīng)用緣何能在近年來(lái)的 信息技術(shù)應(yīng)用中脫穎而出, 成為眾多商家角逐的對(duì)象。 其實(shí)原因很簡(jiǎn)單, 因?yàn)檫@ 里面蘊(yùn)藏著巨大的
2、市場(chǎng),巨大的商業(yè)利益,單就電視應(yīng)用而言,目前全球有 2 億多有線電視用戶, 中國(guó)也有 8000 多萬(wàn)戶,而且每年還在以 600萬(wàn)的速度遞增。 如今,在這塊領(lǐng)域里,還沒(méi)有一家公司有成熟的產(chǎn)品,也沒(méi)有標(biāo)準(zhǔn)的操作系統(tǒng), 更沒(méi)有一個(gè)可以主導(dǎo)市場(chǎng)的壟斷者。 在這種局勢(shì)下, 雖然競(jìng)爭(zhēng)將異常劇烈, 但突 圍的可能性也較大, 只要能夠培養(yǎng)出自己的技術(shù)能力和市場(chǎng)開(kāi)拓能力, 是有可能 取得巨大成功的。設(shè)計(jì)電子打鈴的最終目的是能把它應(yīng)用到實(shí)際中去。如學(xué)校的作息時(shí)鐘打 鈴,車站的日期時(shí)間顯示,實(shí)時(shí)控制系統(tǒng)以及儀器儀表,家用電器等各個(gè)領(lǐng)域。 由于它的應(yīng)用領(lǐng)域廣, 技術(shù)要求各不相同,因此應(yīng)用系統(tǒng)的硬件設(shè)計(jì)是多樣化的, 但
3、總設(shè)計(jì)方法和研制步驟相同。本論文主要介紹一下電子打鈴的設(shè)計(jì)過(guò)程與方 法,以及在單片機(jī)系統(tǒng)上的調(diào)試方法。電子打鈴課題設(shè)計(jì)著重于實(shí)踐和動(dòng)手能力的培養(yǎng), 通過(guò)閱讀并學(xué)習(xí)本論文可 以大概了解單片機(jī)的發(fā)展及其工作方法, 了解匯編語(yǔ)言,掌握一定的MCS5 1單片機(jī)知以及用指令編程方法和技巧。能用MCS51單片機(jī)指令編制出一 些實(shí)用的小程序。另一方面通過(guò)本論文可以了解電子打鈴打鈴器的時(shí)鐘走時(shí)、 顯示、定時(shí)器等 的工作方式以及時(shí)鐘控制打鈴編程方法。 時(shí)鐘走時(shí)是利用定時(shí)器計(jì)數(shù)進(jìn)行的, 顯 示由鍵盤顯示接口電路與五個(gè)數(shù)碼顯示組成, 利用可實(shí)現(xiàn)對(duì)鍵盤、 顯示器的自動(dòng) 掃描并且可以減輕對(duì)CPU的負(fù)擔(dān), 具有顯示穩(wěn)定、
4、程序簡(jiǎn)單、不會(huì)出現(xiàn)誤動(dòng)作 的特點(diǎn)。時(shí)鐘控制就是利用鍵盤輸入一個(gè)時(shí)設(shè)定的時(shí)間值, 再經(jīng)過(guò)程序中的比較判斷 程序來(lái)控制時(shí)鐘走。2 總體方案論證方案:采用AT89C51單片機(jī)來(lái)實(shí)現(xiàn)系統(tǒng)的控制。此系統(tǒng)硬件簡(jiǎn)潔,將復(fù)雜的 硬件功能用軟件實(shí)現(xiàn), 因此系統(tǒng)控制靈活, 能很好地滿足本題的基本要求和擴(kuò)展 要求簡(jiǎn)潔、靈活、可擴(kuò)展性好,能完全達(dá)到設(shè)計(jì)要求,故采用這種方案。2.1 確定技術(shù)指標(biāo)在開(kāi)始設(shè)計(jì)前, 必需明確應(yīng)用系統(tǒng)的功能和技術(shù)要求, 綜合考慮系統(tǒng)的先進(jìn) 性、可靠性、可維護(hù)性、成本及經(jīng)濟(jì)效益等。再參考國(guó)內(nèi)外同類產(chǎn)品的資料,提 出合理可行的技術(shù)指標(biāo),以達(dá)到最高的性價(jià)比。2.2 機(jī)型選擇機(jī)型選擇的出發(fā)點(diǎn)及依據(jù),可
5、根據(jù)市場(chǎng)情況,選擇成熟、穩(wěn)定、貨源充足的機(jī)型產(chǎn)品。同時(shí)還應(yīng)根據(jù)應(yīng)用系統(tǒng)的要求考慮所選的單片機(jī)應(yīng)具有很高的性價(jià) 比。另一方面為提高經(jīng)濟(jì)效率,縮短研制周期,最好選用最熟悉的機(jī)種和器件。 采用性能優(yōu)良的單片機(jī)開(kāi)發(fā)工具也很能加快系統(tǒng)的研制過(guò)程。2.3 器件選擇應(yīng)用系統(tǒng)除單片機(jī)以外,系統(tǒng)通常還有傳感器、模擬電路、輸入輸出設(shè)備。這些部件的選擇應(yīng)符合系統(tǒng)的精度、速度和可靠性等方面的要求。2.4 軟、硬件功能的劃分系統(tǒng)的軟件與硬件的設(shè)計(jì)是緊密聯(lián)系在一起的, 在某場(chǎng)合硬件和軟件具有一定的互換性。為了降低成本、簡(jiǎn)化硬件結(jié)構(gòu),某些功能可由軟件來(lái)完成。若為了 提高工作速度、精度、減少軟件的工作量、 提高可靠性, 也可
6、以采用硬件來(lái)完成。 總之,硬件、軟件兩者是相輔相成的,可根據(jù)實(shí)際應(yīng)用情況來(lái)合理選擇。3 模塊電路設(shè)計(jì)與比較3.1 時(shí)鐘方案選擇方案一:因?yàn)轭}目中只要求顯示小時(shí)和分鐘, 因此可以用門電路組合構(gòu)成時(shí)鐘發(fā) 生器,但此方案硬件復(fù)雜,穩(wěn)定性低,且不易控制。方案二:采用時(shí)鐘芯片。該芯片可以進(jìn)行時(shí)分秒的計(jì)數(shù),可編程接口,還具有報(bào) 警功能和掉電保存功能,并且可以對(duì)其方便的進(jìn)行程序控制,完全能滿足題目的 要求。3.2顯示模塊的選擇方案一:采用數(shù)碼管顯示。數(shù)碼管亮度高、體積小、重量輕,但其顯示信息簡(jiǎn)單、 有限,在本題目中應(yīng)用很大。方案二:采用液晶顯示。液晶顯示功耗低,輕便防震。由于本題顯示信息比較簡(jiǎn) 單,采用液晶
7、顯示界面不清晰,操作不方便。3.3其他設(shè)計(jì)的考慮鬧鈴響采用帶音樂(lè)芯片的揚(yáng)聲器,為實(shí)現(xiàn)題目中接觸止鬧功能,我們可以采 用觸發(fā)開(kāi)關(guān)控制鬧鈴的啟動(dòng)。通過(guò)單片機(jī)的中斷定時(shí)控制鬧鈴?fù)V埂?系統(tǒng)模塊設(shè)計(jì)及電路圖4.1鍵盤接口電路設(shè)計(jì)我們采用 2 X 8的鍵盤,原理圖如圖所示。S104.2電源電路設(shè)計(jì)J21Q87305VCCXD200721CON2D4*D1*1007*C2220/1JLL.C3 rCAP4.3顯示模塊U P1/ *10in、fo(i/ll10II1j,pu.1 JyJ Jr jJ T4.4數(shù)碼管驅(qū)動(dòng)模塊5測(cè)試方法及結(jié)果5.1測(cè)試方法 采用先分別調(diào)試各單元模塊,調(diào)通后再進(jìn)行整機(jī)調(diào)試的方法,
8、以提高調(diào)試效率。(1)時(shí)鐘測(cè)試 在帶有單片機(jī)的電路板上編程調(diào)試,使其在液晶上顯示出時(shí)分秒,并可以通過(guò)鍵盤控制設(shè)定時(shí)間和鬧鈴開(kāi)關(guān)的時(shí)間。利用仿真機(jī)調(diào)試成功后通過(guò)編程器將程序?qū)懭胄酒姓{(diào)試,調(diào)試結(jié)果顯示,該模塊可以顯示時(shí)分秒,可以正常工作。(2)鬧鐘測(cè)試 通過(guò)鍵盤控制設(shè)定鬧鐘開(kāi)關(guān)和鬧鐘響的時(shí)間,并通過(guò)單片 機(jī)程序驅(qū)動(dòng)音樂(lè)電路發(fā)聲。經(jīng)過(guò)調(diào)試,鬧鐘功能正常,滿足題目的基本要求。 5.2測(cè)試結(jié)果5.2.1 基本要求上電復(fù)位后,由顯示信息可知達(dá)到數(shù)字顯示時(shí)間、鬧鐘開(kāi)、關(guān)狀態(tài)、鬧鐘燈熄滅 的顯示要求,可進(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)警,
9、實(shí)現(xiàn)鬧鐘設(shè)置功能;時(shí)間到達(dá)鬧鐘設(shè)置 值時(shí),系統(tǒng)發(fā)出聲報(bào)警,實(shí)現(xiàn)鬧鐘控制。5.2.2自行發(fā)揮部分多鬧鐘設(shè)置系統(tǒng)可以設(shè)置多個(gè)鬧鐘時(shí)間,目前以 1個(gè)為例設(shè)計(jì)了系統(tǒng),可實(shí)現(xiàn)多點(diǎn)啟鬧及顯示日歷、星期6 電子打鈴的研制過(guò)程電子打鈴的研制過(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))。電子打鈴和一般的計(jì)算機(jī)應(yīng)用系統(tǒng)一樣, 也是由硬件和軟件組成。 硬件指單 片機(jī)、擴(kuò)展的存儲(chǔ)器、輸入輸出設(shè)備、控制設(shè)備、執(zhí)行部件等組成的系統(tǒng)。軟件 是各種各種應(yīng)用程序的總稱。 硬件和軟件只有緊密結(jié)合, 協(xié)調(diào)一致, 才能組成高 性能的應(yīng)用系
10、統(tǒng)。 在系統(tǒng)的研制過(guò)程中, 軟硬件的功能總是在不斷地調(diào)整, 以便 相互適應(yīng),相互配合,以達(dá)到最佳的性價(jià)比。電子音時(shí)鐘的研制過(guò)程主要包括總體設(shè)計(jì)、 硬件設(shè)計(jì)、 軟件設(shè)計(jì)、 在線仿真 調(diào)試、程序固化等幾個(gè)階段。6.1 硬件設(shè)計(jì) 硬件設(shè)計(jì)的主要任務(wù)是根據(jù)總體設(shè)計(jì)要求,以及在所選的機(jī)型上的基礎(chǔ)上, 確定系統(tǒng)擴(kuò)展所用到的外圍電路等,然后設(shè)計(jì)出系統(tǒng)電路原理圖。對(duì)于電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對(duì)它的速度、 精度、價(jià)格的要求而確定。 除此之外,還應(yīng)考慮和系統(tǒng)中的傳感器、放大器相匹配問(wèn)題。1. 地址譯碼電路的設(shè)計(jì):MCS-51系統(tǒng)有充足的存儲(chǔ)空間,包括 64KB程序存 儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器,在應(yīng)用系統(tǒng)中一
11、般不需要這么大的容量。為了簡(jiǎn)化 硬件線路, 同時(shí)還要使用到的存儲(chǔ)器空間地址連續(xù), 通常采用譯碼器、 線選法相 結(jié)合的辦法。2. 線驅(qū)動(dòng)器的設(shè)計(jì):MCS-5係統(tǒng)單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線負(fù)載 能力有限。若所擴(kuò)展的電路負(fù)載超過(guò)總線負(fù)載能力時(shí),系統(tǒng)便不能可靠地工作。 此情況下必須在部線上加驅(qū)動(dòng)器。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)的外圍電路。例如,鍵盤、顯示器、開(kāi) 關(guān)、輸入輸
12、出設(shè)備、采樣、放大、應(yīng)用系統(tǒng)各部分的驅(qū)動(dòng)能力等外圍電路,要進(jìn)行全盤合理的設(shè)計(jì)4. 可靠性設(shè)計(jì):課題設(shè)計(jì)的可靠性是一項(xiàng)最重要最基本的技術(shù)指標(biāo), 這是硬 件設(shè)計(jì)時(shí)必須考慮的一個(gè)指標(biāo)??煽啃允侵冈谝?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)不同而不同。 單片機(jī)應(yīng)用系統(tǒng)在實(shí)際工件中, 可能會(huì)受到各種外部和內(nèi)部的干 擾,使系統(tǒng)工作產(chǎn)生錯(cuò)誤或故障, 為了降低錯(cuò)誤和故障的產(chǎn)生機(jī)率, 常采用以下 可提高可靠性的措施:(1)提高元件的可靠性;(2
13、)提高印刷電路板和組裝的質(zhì)量,設(shè)計(jì)電路板時(shí)布線及接地方法要符合要求;(3)對(duì)供電電源采用擴(kuò)干擾措施;(4)輸入輸出通道擴(kuò)干擾措施。6.1 工藝設(shè)計(jì), 包括機(jī)箱、面板、配線、接插件等,這也是一個(gè)初次進(jìn)行系 統(tǒng)設(shè)計(jì)人員容易疏忽但又十分重要的問(wèn)題。在設(shè)計(jì)時(shí)要充分考慮到安裝、調(diào)試、 維修的方便。6.2 軟件設(shè)計(jì)在電子打鈴的研制中, 軟件設(shè)計(jì)是工作量最大而也是最重要的一環(huán), 其設(shè)計(jì) 的一般方法和步驟如下。6.2.1 系統(tǒng)定義 系統(tǒng)定義是指在軟件設(shè)計(jì)前,首先要進(jìn)一步明確設(shè)計(jì)軟件所要完成的任務(wù), 然后結(jié)合硬件結(jié)構(gòu),而確定軟件承擔(dān)的任務(wù)細(xì)節(jié)。其軟件定義內(nèi)容有:(1)確定各輸入 / 輸出的功能,信號(hào)的類別,電平
14、范圍,與系統(tǒng)接口方式,占用 口地址,讀取的輸入方式等。( 2)定義分配存儲(chǔ)器空間,包括系統(tǒng)主程序,常數(shù)表格,功能子程序塊的劃分, 入口地址等。(3)若有斷電保護(hù)措施,應(yīng)定義數(shù)據(jù)暫存區(qū)標(biāo)志單元等。(4)面板開(kāi)關(guān),按鍵等控制輸入量的定義與軟件編制密切有關(guān),系統(tǒng)運(yùn)行過(guò)程 的顯示,運(yùn)算結(jié)果的顯示, 正常運(yùn)行和出錯(cuò)顯示等也是由軟件完成的。 所以事先 要給予以定義。6.2.2 設(shè)計(jì)細(xì)節(jié)(1)根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)相對(duì)獨(dú)立的部分。根據(jù)它們之 間的聯(lián)系和時(shí)間上的關(guān)系,設(shè)計(jì)出合理的軟件總體結(jié)構(gòu),使其清晰、簡(jiǎn)捷、流程 合理。(2)培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序?qū)嵭心K化、子程序化。既便于調(diào) 試
15、、鏈接,又便于移植、修改。(3)建立正確的數(shù)學(xué)模型。即根據(jù)功能要求,描述出各個(gè)輸入和輸出變量之間 的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)性能好壞的重要因素。(4)為提高軟件設(shè)計(jì)的總體效率,以簡(jiǎn)明、直觀的方法對(duì)任務(wù)進(jìn)行描述,在編 寫應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。 這不僅是程序設(shè)計(jì)的一個(gè)重要組成部分, 而且是決定成敗的關(guān)鍵部分。 從某種意義上講, 多花一份時(shí)間來(lái)設(shè)計(jì)程序流程圖, 就可以節(jié)約幾倍源程序編輯調(diào)試時(shí)間。(5)注意在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。(6)加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性的有力措施。6.3 軟件結(jié)構(gòu)設(shè)計(jì) 合理的軟件結(jié)構(gòu)是設(shè)計(jì)出一個(gè)性能優(yōu)良的單片機(jī)應(yīng)用于
16、系統(tǒng)軟件的基礎(chǔ), 必 須充分重視。依據(jù)系統(tǒng)的定義, 把整個(gè)工作分解為若干相對(duì)獨(dú)立的操作, 再考慮 各操作之間的相互聯(lián)系及時(shí)間關(guān)系而設(shè)計(jì)出一個(gè)合理的軟件結(jié)構(gòu)。對(duì)于簡(jiǎn)單的課題設(shè)計(jì), 可采用順序結(jié)構(gòu)設(shè)計(jì)方法, 其系統(tǒng)軟件由主程序和若 干個(gè)中斷服務(wù)程序構(gòu)成。 明確主次序和中斷服務(wù)程序完成的操作及指定各中斷的 優(yōu)先級(jí)。對(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í)時(shí)性和并行性。在程序設(shè)計(jì)方法上, 模塊程序設(shè)計(jì)是單片機(jī)應(yīng)用中常用的程序設(shè)計(jì)方法。 這種模 塊化程序便于設(shè)計(jì)和調(diào)試, 容易完
17、成可供多個(gè)程序共享的優(yōu)點(diǎn), 但各個(gè)模塊之間 的連接有一定的難度。 根據(jù)需要也可以采用自上而下的程序設(shè)計(jì)方法, 此方法先 從主程序開(kāi)始設(shè)計(jì), 然后再編制個(gè)從屬的程序和子程序。 這種方法比較符合人傘 兵日常思維。缺點(diǎn)是上一級(jí)的程序錯(cuò)誤會(huì)對(duì)整個(gè)程序產(chǎn)生影響。軟件結(jié)構(gòu)設(shè)計(jì)和程序設(shè)計(jì)方法確定后, 根據(jù)系統(tǒng)功能定義, 可先畫(huà)出程序粗 框圖,再對(duì)粗框圖進(jìn)行擴(kuò)充和具體化,即對(duì)存儲(chǔ)器,寄存器,標(biāo)志位等工作單元 作具體的分配和說(shuō)明。再繪制出詳細(xì) 的流程圖(細(xì)框圖) 。程序流程圖設(shè)計(jì)出以后, 便可著手編寫程序, 單片機(jī)應(yīng)用程序一般采用匯編 語(yǔ)言較好,編寫完成后可以手工或通過(guò)主處理器連機(jī)用開(kāi)發(fā)系統(tǒng)上的交叉匯編程 序匯
18、編成目標(biāo)碼程序,再經(jīng)過(guò)調(diào)試正常運(yùn)行后,固化到EPRO中去,完成了整個(gè) 應(yīng)用系統(tǒng)的設(shè)計(jì)。6.4 程序設(shè)計(jì)的基本方法當(dāng)給定一個(gè)題目, 進(jìn)行程序設(shè)計(jì)時(shí), 一般應(yīng)按以下幾個(gè)步驟進(jìn)行: 分析題目, 確定算法,程序結(jié)構(gòu)的設(shè)計(jì),編寫源程序,匯編和調(diào)試。6.4.1 分析題目分析題目就是明確題目的任務(wù), 弄清所給頂?shù)脑紨?shù)據(jù)和應(yīng)得到的結(jié)果, 以及運(yùn) 算精度和速度的要求等。 分析題目是整個(gè)程序設(shè)計(jì)的重點(diǎn)。 若任務(wù)比較簡(jiǎn)單, 其 原始數(shù)據(jù)和目的要求等比較清楚, 就容易確定設(shè)計(jì)方法。 而對(duì)于比較復(fù)雜的課題, 必須作全面深入的分析,才能為以后的工作打下基礎(chǔ)。6.4.2 確定方法確定方法就是選擇解決問(wèn)題的方法。 例如,對(duì)
19、于單純的數(shù)值計(jì)算問(wèn)題, 匯編語(yǔ)言 指令本身只能進(jìn)行加、減、乘、除.等基本運(yùn)算,但是實(shí)際問(wèn)題可能是計(jì)算某 個(gè)函數(shù)之后才解方程。 在這種情況下, 確定算法就是設(shè)法用基本運(yùn)算方法來(lái)解決 其它的復(fù)雜問(wèn)題。 往往算法不是唯一的。 不同的方法在占用存儲(chǔ)單元數(shù), 計(jì)算精 度,編程工作量等方面是有差別的,這就需要進(jìn)行比較和選擇。6.4.3 程序結(jié)構(gòu)的設(shè)計(jì)程序結(jié)構(gòu)的設(shè)計(jì)是算法轉(zhuǎn)化為程序的準(zhǔn)備階段。 如果算法比較簡(jiǎn)單, 這一不可以 省掉,直接按算法編寫程序。如果比較復(fù)雜,同需要進(jìn)行程序結(jié)構(gòu)的設(shè)計(jì)。程序 結(jié)構(gòu)的設(shè)計(jì)一般采用流程圖法。 流程圖是有規(guī)定的圖形符號(hào)配合文字說(shuō)明來(lái)表示 算法或處理總是的步驟??陀^存在具有直觀
20、 . 易懂的特點(diǎn),是程序結(jié)構(gòu)設(shè)計(jì)的有 力工具。6.4.4 流程圖的繪制有一個(gè)由粗到細(xì)的過(guò)程, 需要反復(fù)修改, 求得完善。 程序的基本結(jié)構(gòu)是有順序結(jié) 構(gòu),分支結(jié)構(gòu)和子程序結(jié)構(gòu)等四類。 當(dāng)程序較大時(shí), 應(yīng)根據(jù)功能將整個(gè)程序分類 若干模塊。6.4.5 編寫源程序 程序結(jié)構(gòu)設(shè)計(jì)完成之后, 下一步是編寫程序。 在編程之前要規(guī)劃好寄存器和存儲(chǔ) 器的使用。對(duì)于程序區(qū),表格,數(shù)據(jù)緩沖區(qū),檔志單元等作好系統(tǒng)安排。編程根 據(jù)程序流程圖來(lái)進(jìn)行, 所編寫的源程序要力求簡(jiǎn)單明了, 層次清晰,運(yùn)行時(shí)間短, 占用存儲(chǔ)空間小。6.4.6 匯編和調(diào)試 對(duì)于編好的程序,要進(jìn)行匯編和調(diào)試。匯編是將源程序變?yōu)榭蓤?zhí)行的目的程序。 在匯
21、編過(guò)程中, 可能發(fā)現(xiàn)源程序的某些錯(cuò)誤, 需作修改。 匯編完成后還要通過(guò)調(diào) 試來(lái)檢查所編程序是否正常運(yùn)行。 調(diào)試方法一般是輸入給定的數(shù)據(jù), 使程序運(yùn)行, 檢查程序 運(yùn)行結(jié)果是否正確。調(diào)試工作可以先部分(或模塊)而后總體。在調(diào)試過(guò)程中一 般總會(huì)發(fā)生不正常情況,而要反復(fù)修改程序,直到獲得正確的結(jié)果為止。7 電子打鈴的調(diào)試 電子打鈴設(shè)計(jì)完成后,依據(jù)硬件的設(shè)計(jì)試制和組裝樣機(jī)及軟件設(shè)計(jì)完成后, 便進(jìn)入系統(tǒng)的調(diào)試階段。調(diào)試電子打鈴的一般方法如下。7.1 硬件調(diào)試方法電子打鈴的硬件和軟件調(diào)試是分不開(kāi)的, 許多硬件故障是在軟件設(shè)計(jì)時(shí)才發(fā) 現(xiàn)的。但通常是應(yīng)先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來(lái)調(diào)試。7.1.
22、1 常見(jiàn)的硬件故障( 1)常見(jiàn)的錯(cuò)誤: 樣機(jī)硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤或加工過(guò)程中的工藝性 錯(cuò)誤所造成的。這類錯(cuò)誤包括錯(cuò)線 . 開(kāi)路. 短路.相位錯(cuò)等。( 2)器件失效: 有兩方面的原因,一是器件本身已損壞或性能不符合要求;二 是由于組裝錯(cuò)誤造成元器件失效,如電解電容 . 二極管的極性錯(cuò)誤,集成塊安裝 方向錯(cuò)誤等。( 3)可靠性差: 引起可靠性差的原因很多,如金屬化孔與接插件接觸不良會(huì)造 成系統(tǒng)時(shí)好時(shí)壞, 經(jīng)不起振動(dòng);內(nèi)部和外部的干擾 .電源紋波系數(shù)大 . 器件負(fù)載過(guò) 大等造成邏輯電平不穩(wěn)定;走線和布局不合理等也會(huì)引起系統(tǒng)可靠差。( 4)電源故障: 若樣機(jī)存在電源故障,系統(tǒng)加電后將造成器件損
23、壞。電源故障 包括:電壓值不符合設(shè)計(jì)要求電源引線和插座不對(duì) . 功率不足. 負(fù)載能力差等。7.1.2 調(diào)試方法( 1)脫機(jī)調(diào)試: 在樣機(jī)加電之前,先用萬(wàn)用表等工具,根據(jù)硬件電氣原理圖和 裝配圖仔細(xì)檢查站樣機(jī)線路的正確性,并核對(duì)元器件的型號(hào) . 規(guī)格和安裝是否符 合要求。應(yīng)特別注意電源的下走線, 防止電源之間的適中和極性錯(cuò)誤, 并重點(diǎn)檢 查擴(kuò)展系統(tǒng)總線是否存在相互間的適中或與其他信號(hào)線的短路。 對(duì)于樣機(jī)所用電 源事先必須單獨(dú)調(diào)試,調(diào)試好后,檢查其電壓值 . 負(fù)載能力 . 極性等均符合要求, 才能加到系統(tǒng)的各個(gè)部件上。 在不插片子的情況下, 加電檢查各插件上引腳的電 位,仔細(xì)測(cè)量各點(diǎn)電位是否正常,
24、尤其應(yīng)注意單片機(jī)插座上各點(diǎn)電位是否正常, 若有高壓,聯(lián)機(jī)時(shí)將會(huì)損壞開(kāi)發(fā)機(jī)。( 2)聯(lián)機(jī)調(diào)試: 通過(guò)脫機(jī)調(diào)試可排除一些明顯的硬件故障。有些故障還是要通 過(guò)聯(lián)機(jī)調(diào)試才能發(fā)現(xiàn)和排除。聯(lián)機(jī)前先斷電, 將單片機(jī)開(kāi)發(fā)系統(tǒng)的仿真頭插到樣機(jī)的單片機(jī)插座上, 檢查 一下開(kāi)發(fā)機(jī)與樣機(jī)之間的電源 . 接地是否良好。一切正常,即可打開(kāi)電源。通電 后執(zhí)行開(kāi)發(fā)機(jī)的讀寫指令,對(duì)用戶樣機(jī)的存儲(chǔ)器 I/O 端口進(jìn)行讀寫操作邏輯檢 查,若有故障,可用示波器觀察有關(guān)波形(如選中的譯碼器輸出波形 . 主導(dǎo)寫控 制信號(hào) . 地址數(shù)據(jù)波形以及有關(guān)控制電平) 。通過(guò)對(duì)波形的觀察分析, 尋找故障原 因,并進(jìn)一步排除故障??赡艿墓收嫌校壕€路連
25、接上有邏輯錯(cuò)誤 . 有短路和斷路 現(xiàn)象. 集成電路失效等。在用戶系統(tǒng)的樣機(jī)(主機(jī)部分)調(diào)試好后,可以插上用 戶系統(tǒng)的其他外圍部件如鍵盤.顯示器輸出驅(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)真查處原因,加以排除。7.2 軟件調(diào)試方法軟件調(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)試的手段可
26、采用單步運(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ò)誤, 同 時(shí)也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障、 軟件算法及硬件設(shè)計(jì)故障。 在調(diào)試過(guò)程中 不斷調(diào)整用戶系統(tǒng)的軟件和硬件,逐步通過(guò)一個(gè)一個(gè)程序模塊。各模塊通過(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ī)
27、的監(jiān)控程序下運(yùn)行時(shí), 還要考慮用 戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。經(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ù)男拚?。如果采用?shí)時(shí)多任務(wù)操作系統(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)
28、試完后,再使各任務(wù)同時(shí)運(yùn)行,如果操作系統(tǒng)無(wú)錯(cuò)誤,一般 情況下系統(tǒng)就能正常運(yùn)行。軟件和硬件聯(lián)調(diào)完成后,反復(fù)運(yùn)行正常則可將用戶系統(tǒng)固化到 EPRO中,插入用 戶樣機(jī)后,用戶系統(tǒng)即能脫機(jī)工作,至此系統(tǒng)研制完成。結(jié)論本系統(tǒng)以AT89C5偽核心部件,利用軟件編程,通過(guò)鍵盤控制和液晶顯示實(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), 減小因元器件精度不夠引 起的誤差。 由于時(shí)間有限和本身知識(shí)水平的發(fā)揮, 我們認(rèn)為本系統(tǒng)還有需要改進(jìn) 和提高的地方,
29、例如選用更高精度的元器件, 硬件電路更加精確穩(wěn)定, 軟件測(cè)量 算法進(jìn)一步的改進(jìn)與完善等。此次畢業(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ì)精神得到最大發(fā)揮的時(shí)候, 是我們組最具有成就感 的階段。在執(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è)小小的疏
30、忽大意都能導(dǎo)致失 敗。比如說(shuō),因?yàn)镻0 口與其它口的區(qū)別,要在 AT89C5仲片機(jī)的P0 口上驅(qū)動(dòng) LED的顯示必須加上上拉電阻(資料書(shū)上只簡(jiǎn)單地用一句話來(lái)描述) ,但是我們 在擬訂設(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)題,再一
31、點(diǎn)一點(diǎn)地解決它,這樣 的話,到達(dá)成功的彼岸也就僅僅是時(shí)間的問(wèn)題了。我想,通過(guò)這次設(shè)計(jì),特別是 通過(guò)對(duì)硬件的制作而不單單是對(duì)原理的論述,我學(xué)到的不僅僅是電子方面的知 識(shí),更重要的是, 我學(xué)到了作為一名電子設(shè)計(jì)者所必需的心理素質(zhì), 那就是 決心加上耐心! 當(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)老師:魯杰爽、魯杰爽及彭俊珍老師表示感謝! 經(jīng)過(guò)本次畢業(yè)課題設(shè)計(jì), 在為不經(jīng)意中我已掌握了不少關(guān)于單片機(jī)的實(shí)用知 識(shí)。我深感自豪、充實(shí)、略有些成就感。同時(shí)也使我的能力進(jìn)一步提高。
32、為我畢 業(yè)后能更好的適應(yīng)社會(huì)工作打下一定的基礎(chǔ)。 為此,我忠心的感謝各級(jí)領(lǐng)導(dǎo)及指 導(dǎo)老師的大力支持。經(jīng)過(guò)兩個(gè)星期的單片機(jī)電子打鈴的課題的設(shè)計(jì), 我從中學(xué)到了很多東西。 如: 如何設(shè)計(jì)硬件電路,如何編寫、調(diào)試軟件程序等。這使我受益非淺,感受很深。 這不僅使我重溫了單片機(jī)的基本結(jié)構(gòu)及工作原理, 接口技術(shù), 而且進(jìn)一步熟悉了 如何使用單片機(jī)匯編語(yǔ)言編寫程序和調(diào)用程序的方法與技巧。 能夠熟練地對(duì)小鍵 盤進(jìn)行操作, 對(duì)單片機(jī)常用的幾種芯片也有了更深一步的了解, 而且學(xué)會(huì)了如何 利用計(jì)算機(jī)進(jìn)行程序匯編和寫入程序存儲(chǔ)進(jìn)行調(diào)試, 使我對(duì)整個(gè)制作流程有了深 刻的了解和體會(huì)。 特別是認(rèn)識(shí)到使用單片機(jī)進(jìn)行軟件、 硬
33、件的開(kāi)發(fā)過(guò)程中應(yīng)注意 設(shè)計(jì)要求、 經(jīng)過(guò)及解決一些客觀存在問(wèn)題的重要性及其意義。 在電子打鈴課題的 設(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)一步提高。雖本次設(shè)計(jì)中我走了不少的彎路, 吃了不少的苦頭。 但是,我從中得到了更 多。使我對(duì)單片機(jī)的開(kāi)發(fā)產(chǎn)生了濃厚的興趣, 對(duì)我的將來(lái)充滿斗志和信心。 我相 信,將來(lái)的社會(huì),
34、只要能想到的就能做。因?yàn)榭萍紵o(wú)邊,智慧無(wú)限。我相信我們 的能力。由于我們?cè)O(shè)計(jì)的電子打鈴課題的重點(diǎn)在于軟件程序的設(shè)計(jì),利用 PROTEL99 電路圖設(shè)計(jì)應(yīng)用軟件進(jìn)行設(shè)計(jì)硬件電路圖的原理圖與PCB電路板圖,利用計(jì)算機(jī)進(jìn)行編寫程序,編譯程序和編程器將程序?qū)懭氲?AT89C2051存儲(chǔ)器里。在單片機(jī) 上進(jìn)行調(diào)試。 在軟件設(shè)計(jì)時(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)確
35、、不能正常顯示時(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)證,最終才得以解決達(dá)到設(shè)計(jì)的要求。 在整個(gè)設(shè)計(jì)過(guò)程中, 程序的調(diào)試是其中一個(gè)非常重要的環(huán)節(jié)。 在調(diào)試過(guò)程中, 小 鍵盤的操作是十分必要的, 特別是在調(diào)試程序中, 有時(shí)往往需要在程序中設(shè)置斷 點(diǎn)來(lái)判斷程序是否正確, 通過(guò)它, 我們可以很快找到出錯(cuò)的地方, 對(duì)程序進(jìn)行分 析并加以修正。 其中有一點(diǎn)是值得我們注意的: 在程序設(shè)計(jì)之前一定要知道設(shè)計(jì) 要求,要清楚地知道本程序所有內(nèi)容以及程序的執(zhí)行過(guò)程, 據(jù)此畫(huà)出本程序的流 程圖
36、,然后根據(jù)流程圖進(jìn)行程序設(shè)計(jì), 這樣的程序比較有條理, 各部的程序可以 分別進(jìn)行調(diào)試和檢查。 有利于后面對(duì)程序 進(jìn)行修改和調(diào)試, 特別值得注意的是, 程序在編寫的過(guò)程中, 要有鮮明的思想, 不能主次不分, 主程序與子程序混在一 起,不知道那是主,那是次,要編定出主程序,再根據(jù)設(shè)計(jì)的要求編寫子程序, 使整個(gè)程序嚴(yán)密,有條理。有利于后面的調(diào)試修改。在這次的電子打鈴的課題設(shè)計(jì)過(guò)程中,我對(duì)所學(xué)的PR0TEL9設(shè)計(jì)應(yīng)用軟件有了更深一步的理解與掌握, 能夠十分熟練的運(yùn)用其各個(gè)菜單的功能, 在設(shè)計(jì)電 路時(shí)要細(xì)心, 有耐心, 每一個(gè)環(huán)節(jié)都不能有半點(diǎn)的差錯(cuò), 每一個(gè)連接點(diǎn)都不能粗 心,否則就不能成功。就拿電路原
37、理圖轉(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ù)也要了解。 元件的引腳也要畫(huà)的均勻, 它們的每一步都是 連貫的,都是一環(huán)扣一環(huán), 對(duì)所做的元器件不進(jìn)行了解就不可能制作出一個(gè)合格 的元器件。此次課題設(shè)計(jì)大體分為準(zhǔn)備、 設(shè)計(jì)、調(diào)試驗(yàn)證、整理四個(gè)階段。 就準(zhǔn)備來(lái)說(shuō), 主要查資料。其目的是溫故專業(yè)知識(shí),熟悉AT89C2051等芯片;再者設(shè)計(jì)階段主 要是原理圖設(shè)計(jì)
38、、程序設(shè)計(jì)等。 在前階段的基礎(chǔ)上, 根據(jù)設(shè)計(jì)目的做出設(shè)計(jì)計(jì)劃。 此階段要求熟練操作計(jì)算機(jī)軟件。如 PROTEK匯編等應(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ì)也就圓滿完成。在這個(gè)設(shè)計(jì)過(guò)程中,我們?nèi)绻麤](méi)有對(duì)以上的知識(shí)進(jìn)行學(xué)習(xí)就不可能對(duì)它們整 體化,系統(tǒng)化;也就不能完成課題設(shè)計(jì)。我們?nèi)绻麤](méi)有細(xì)心和耐心,沒(méi)
39、有刻苦鉆 研,艱苦奮斗的精神,整個(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ì)心和信心??傊?,本次單片機(jī)電子打鈴課題的設(shè)計(jì)讓我學(xué)到了很多東西, 使我受益非淺。致謝 衷心感謝我的指導(dǎo)老師魯杰爽老師。 感謝他在我的畢業(yè)設(shè)計(jì)期間對(duì)我的精心 指導(dǎo)和教誨。 在畢業(yè)設(shè)計(jì)過(guò)程中, 魯老師無(wú)論是在理論上還是在實(shí)踐中, 都給了 我
40、很大的幫助。 使我在程序調(diào)試等各個(gè)方面得到了很大的提高。 魯老師治學(xué)態(tài)度 嚴(yán)謹(jǐn),工作態(tài)度認(rèn)真負(fù)責(zé),為人親切和藹,學(xué)術(shù)理論和實(shí)踐經(jīng)驗(yàn)豐富,是我學(xué)習(xí) 的好榜樣。同時(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ì)。本次用單片機(jī)設(shè)計(jì)的電子打鈴至此已全部完成, 從開(kāi)始至結(jié)束的一切工作都 經(jīng)同組同學(xué)齊心協(xié)力的努力下 , 以及魯杰爽老師和彭俊
41、珍老師的關(guān)懷、支持和指 導(dǎo)下, 才能順利的完成(因?yàn)闊o(wú)論是資料的采集、零件選購(gòu)、軟件設(shè)計(jì)、還是硬 件焊接、外觀設(shè)計(jì)、論文編寫都是由先討論、后確定、再經(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è)。 特別是兩位老師無(wú)微 不至的關(guān)心,更另我們感受到學(xué)院的溫暖。老師的偉大。通過(guò)本次畢業(yè)設(shè)計(jì), 使我們對(duì)書(shū)本又有了更深層次的認(rèn)識(shí), 增強(qiáng)了每位組員 的動(dòng)手能力, 特別是認(rèn)識(shí)到理論與實(shí)際異同。 理論需要實(shí)際的驗(yàn)證, 實(shí)際需要理 論為基礎(chǔ)和指導(dǎo)。在此向魯杰爽、劉華東、彭俊珍三位指導(dǎo)老師表示感謝!參考文獻(xiàn)劉華
42、東.單片機(jī)原理與應(yīng)用 . 北京:電子工業(yè)出版社 ,2002.謝自美電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試(第二版)武漢:華中科技大學(xué)出版社,2000. 何小艇 . 電子系統(tǒng)設(shè)計(jì) . 浙江: 浙江大學(xué)出版社 ,2004.胡宴如.模擬電子技術(shù) .北京:高等教育出版社 ,2004. 胡翔俊. 電路基礎(chǔ) . 北京: 高等教育出版社 ,2004. 楊樹(shù).數(shù)字電子技術(shù).北京:高等教育出版社 ,2004.R附錄A:原理圖RRR83n Vb c d e f g h_ CJa b e d e jg_h -b-4 e-9 吁h-i rCC?lDA-N0HDPR W- T -/$Aoboa 2-2kR 5 ir2為0-0iT nh弔
43、2耳.RkPTJa 09el入 A 久AOAA乞Ui附錄B: PCB圖(正面)嚴(yán) 1_Jil二世!亡代|審T1ORG0000H;設(shè)置程序起始地址START:LJMPL0030ORG000BH;設(shè)置 T0 中斷起始地址INTT00:LJMPINTT1ORG001BH;設(shè)置 T1 中斷起始地址INTT01:LJMPINTT1ORG0030HL0030:MOV60H,#00H;數(shù)碼管顯示緩沖單元清零MOV61H,#00HMOV62H,#00HMOV63H,#00HMOV64H,#00HMOV65H,#00HMOV50H,#00H;秒計(jì)數(shù)緩沖單元清零MOV51H,#00H;分計(jì)數(shù)緩沖單元清零MOV52
44、H,#00H;時(shí)計(jì)數(shù)緩沖單元清零MOV53H,#00H;星期計(jì)數(shù)緩沖單元清零MOV54H,#00H;日期計(jì)數(shù)緩沖單元清零MOV5AH,#07hMOV5BH,#00hMOV5CH,#00hCLR10H;對(duì)中斷處理的單雙兩部分單元清零CLR11HCLR12HCLR13HMOVR7,#00H;對(duì)基礎(chǔ)計(jì)時(shí)清零MOVR2,#00H;對(duì)掃描計(jì)數(shù)清零MOVP1,#0FFH;輸出口初始化MOVP3,#0FFH;輸出口初始化MOVSP,#66H;設(shè)置堆棧的起始地址MOVTMOD,#11H;定時(shí)器 1 的初始化MOV8BH,#38H;對(duì)定時(shí)器給初值MOV8DH,#38H;對(duì)定時(shí)器給初值SETBPT1;設(shè)置中斷的優(yōu)
45、先級(jí)SETBRS1;工作寄存器的設(shè)置SETBRS0;T1 使用第三組寄存器MOVR1,#0FHSETBET1;開(kāi)中斷 ,啟動(dòng)定時(shí)器SETBTR1SETBEACLRTR0CLRRS1;主程序使用第零組寄存器CLRRS0L01:LCALLDISPLAY1;調(diào)用顯示子程序LCALLK1;調(diào)用鍵處理子程序LJMPL01;死循環(huán)ORG0100H;設(shè)置定時(shí)器中斷子程序的起始地址INTT1:PUSHACC;保護(hù)現(xiàn)場(chǎng)PUSHPSWPUSHDPHPUSHDPLMOVA,BPUSHACCSETBRS0;設(shè)定工程環(huán)境SETBRS1;定時(shí)器使用第三組寄存器CLRTR1;關(guān)中斷MOVTH1,#0FCH;重設(shè)定時(shí)器初值M
46、OVTL1,#38HSETBTR1;啟動(dòng)中斷LOOP2:CPL10H;對(duì)中斷處理的單雙兩部分單元取反JNB10H,LOOPA1;(10H)的位是否為0,是則轉(zhuǎn)移CJNER7,#00H,LOOP3;(R7)等于0嗎?是則順序執(zhí)行LJMPLOOP4LOOP3:DECR7;R7 減 1LOOP4:INCR2;R2 加 1CJNER2,#06H,LOOP5;(R2)等于0嗎?是則順序執(zhí)行LOOP5:JNCLJMPLOOP6LOOP7; 判斷進(jìn)位是否為 0, 是則順序執(zhí)行LOOP6:MOVR2,#00H;對(duì)R2清零LOOP7:CJNER2,#00H,LOOP8;R2 等于 0 嗎 ?是則順序執(zhí)行 (顯示
47、第一位碼 )MOVA,60H; 秒的個(gè)位MOVDPTR,#DATA1; 查顯示字碼MOVCA,A+DPTRMOVP0,A;從P0送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.0;對(duì)顯示位位碼清零 (三極管導(dǎo)通 )MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)LJMPLOOPALOOP8:CJNER2,#01H,LOOP9;R2 等于 1 嗎?是則順序執(zhí)行 (顯示第二位碼 )MOVA,61H; 秒的十位MOVDPTR,#DATA1; 查顯示字碼MOVCA,A+DPTRMOVP0,A;從P0送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.1;對(duì)顯示位位碼清零 (三極管導(dǎo)通
48、)MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)LJMPLOOPALOOP9:CJNER2,#02H,LOOP10;R2 等于 2 嗎?是則順序執(zhí)行 (顯示第三位碼 )MOVA,62H; 分的個(gè)位MOVDPTR,#DATA1; 查顯示字碼MOVCA,A+DPTRMOVP0,A;從P0送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.2;對(duì)顯示位位碼清零 (三極管導(dǎo)通 )MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)LJMPLOOPALOOPA1:LJMPLOOPA1LOOP10:CJNER2,#03H,LOOP11;R2 等于 3 嗎?是則順序執(zhí)行 (顯示第四位碼 )MOVA,63H;分的十位
49、MOVDPTR,#DATA1;查顯示字碼MOVCA,A+DPTRMOVP0,A;從 P0 送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.3;對(duì)顯示位位碼清零 (三極管導(dǎo)通 )MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)LJMPLOOPALOOP11:CJNER2,#04H,LOOP12;R2等于4嗎?是則順序執(zhí)行(顯示第五位碼 )MOVA,64H; 時(shí)的個(gè)位MOVDPTR,#DATA1;查顯示字碼MOVCA,A+DPTRMOVP0,A;從P0送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.4;對(duì)顯示位位碼清零 (三極管導(dǎo)通 )MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)L
50、JMPLOOPALOOP12: CJNER2,#05H,LOOPA;R2等于5嗎?是則順序執(zhí)行(顯示第六位碼 )MOVA,65H; 時(shí)的十位MOVDPTR,#DATA1;查顯示字碼MOVCA,A+DPTRMOVR1,AMOVP0,A;從P0送出去ORLP2,#7FH;將P2 口的低7位置1CLRP2.5;對(duì)顯示位位碼清零 (三極管導(dǎo)通 )MOVR1,P2;將P2 口的內(nèi)容讀出來(lái)LJMPLOOPALOOPA:MOVA,R1;鍵盤處理 (去抖動(dòng) )JBACC.6,L034BH;(ACC.6)的位是否為1,是則轉(zhuǎn)移MOVA,R2; 當(dāng)前所點(diǎn)亮的數(shù)碼管的鍵值CJNEA,5AH,L0349H;(A)等于
51、(5AH)嗎?是則順序執(zhí)行INCR3CJNER3,#08H,L034AH;(R3)等于08H嗎?是則順序執(zhí)行L034AH:JCL034BH; 有借位嗎 ?有則轉(zhuǎn)移MOV5BH,R2SETB11H; 對(duì) 11H 置 1L0349H:MOVR3,#00HMOV5AH,R2L034BH:LJMPLOOPRET; 顯示時(shí)間LOPA1:CJNER7,#00H,LOOPRET;R7等于0嗎?是則順序執(zhí)行LOOP13:MOVR7,#0CFH; 給計(jì)數(shù)器一個(gè) 1000 的值INC5CHMOVA,50H; 一秒到INCA;50H 是秒計(jì)時(shí)的寄存器的單元DAAMOV50H,ACJNEA,#60H,LOOP14;
52、是否到了 60 秒?是則順序執(zhí)行MOV50H,#00H; 分開(kāi)始計(jì)時(shí)前 ,秒單元要清零MOVA,51H; 一分計(jì)時(shí)INCA;51H 是分計(jì)時(shí)的寄存器的單元DAAMOV51H,ACJNEA,#60H,LOOP14; 是否到了 60 分?是則順序執(zhí)行MOV51H,#00H; 時(shí)開(kāi)始計(jì)時(shí)前 ,分單元要清零MOVA,52H; 一小時(shí)計(jì)時(shí)INCA;52H 是小時(shí)計(jì)時(shí)的寄存器的單元DAAMOV52H,ACJNEA,#24H,LOOP14; 是否到了 24 小時(shí)?是則順序執(zhí)行MOV52H,#00H; 星期開(kāi)始計(jì)時(shí)前 , 時(shí)單元要清零MOVA,53HINCA;53H 是星期計(jì)時(shí)的寄存器的單元DAAMOV53H,ACJNEMOVA,#08H,LOOP14A53
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 店面租賃定金合同
- 農(nóng)場(chǎng)雇工人合同范例
- 單位搞衛(wèi)生合同范本
- 傳媒公司招人合同范本
- 健筇合同范本
- 2025年遼寧省建筑安全員-A證考試題庫(kù)及答案
- 中標(biāo)政府工程合同范本
- 2025浙江省建筑安全員-B證考試題庫(kù)附答案
- 公司修路施工合同范本
- 廠房拆遷合同范例工廠企業(yè)
- 供應(yīng)鏈中的社會(huì)責(zé)任
- HDPE纏繞-B型結(jié)構(gòu)壁管施工方案
- 早期教育概論(高職學(xué)前教育專業(yè))全套教學(xué)課件
- 《AutoCAD 中文版實(shí)例教程(AutoCAD 2020) (微課版)(第 2 版)》課件 馬連志 第3、4章 基本繪圖操作、高級(jí)繪圖操作
- 幼兒教師職業(yè)道德(高職學(xué)前教育專業(yè))全套教學(xué)課件
- 汽車發(fā)動(dòng)機(jī)構(gòu)造與維修中職PPT完整全套教學(xué)課件
- 養(yǎng)老院管理-考核考評(píng)
- 蘇科版八年級(jí)生物下冊(cè)全冊(cè)完整課件
- 第四單元復(fù)習(xí)教學(xué)設(shè)計(jì) 部編版語(yǔ)文七年級(jí)上冊(cè)
- 人美版四年級(jí)書(shū)法下冊(cè)《第6課 豎心旁》教學(xué)設(shè)計(jì)
- 二年級(jí)綜合實(shí)踐活動(dòng)課件-我與蔬菜交朋友-全國(guó)通(41張)
評(píng)論
0/150
提交評(píng)論