




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束1第第10章章 單片機(jī)系統(tǒng)開發(fā)單片機(jī)系統(tǒng)開發(fā)教學(xué)目標(biāo)教學(xué)目標(biāo)10.1 單片機(jī)系統(tǒng)設(shè)計步驟單片機(jī)系統(tǒng)設(shè)計步驟10.2 單片機(jī)應(yīng)用系統(tǒng)開發(fā)工具單片機(jī)應(yīng)用系統(tǒng)開發(fā)工具10.3 單片機(jī)開發(fā)系統(tǒng)應(yīng)用實例單片機(jī)開發(fā)系統(tǒng)應(yīng)用實例10.4 課程設(shè)計課程設(shè)計本章小結(jié)本章小結(jié)思考題與習(xí)題思考題與習(xí)題單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束2 1. 了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計的過程和要求;知道單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計的過程和要求;知道單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計的內(nèi)容和要求;知道單片機(jī)應(yīng)用系統(tǒng)軟件設(shè)計的步驟和要求;理解軟件計
2、的內(nèi)容和要求;知道單片機(jī)應(yīng)用系統(tǒng)軟件設(shè)計的步驟和要求;理解軟件設(shè)計與硬件設(shè)計的關(guān)系。設(shè)計與硬件設(shè)計的關(guān)系。 2. 了解單片機(jī)開發(fā)工具的主要作用;了解單片機(jī)開發(fā)系統(tǒng)的分類;知道了解單片機(jī)開發(fā)工具的主要作用;了解單片機(jī)開發(fā)系統(tǒng)的分類;知道單片機(jī)開發(fā)系統(tǒng)的功能;理解單片機(jī)應(yīng)用系統(tǒng)軟、硬件調(diào)試的方法。單片機(jī)開發(fā)系統(tǒng)的功能;理解單片機(jī)應(yīng)用系統(tǒng)軟、硬件調(diào)試的方法。教學(xué)目標(biāo)教學(xué)目標(biāo)單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束3 3. 理解單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例:數(shù)碼管數(shù)字時鐘電路的設(shè)計、數(shù)字理解單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例:數(shù)碼管數(shù)字時鐘電路的設(shè)計、數(shù)字式音樂盒設(shè)計設(shè)計步驟、設(shè)計方案、硬件設(shè)計、
3、軟件設(shè)計等知識。舉一反式音樂盒設(shè)計設(shè)計步驟、設(shè)計方案、硬件設(shè)計、軟件設(shè)計等知識。舉一反三,具備簡單常用單片機(jī)系統(tǒng)的設(shè)計開發(fā)能力。三,具備簡單常用單片機(jī)系統(tǒng)的設(shè)計開發(fā)能力。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束410.1 單片單片機(jī)系統(tǒng)設(shè)計步驟機(jī)系統(tǒng)設(shè)計步驟 一個完備的單片機(jī)應(yīng)用系統(tǒng)包括硬件和軟件兩大部分,硬件是軀體,軟一個完備的單片機(jī)應(yīng)用系統(tǒng)包括硬件和軟件兩大部分,硬件是軀體,軟件是靈魂。只有系統(tǒng)的軟、硬件緊密配合、協(xié)調(diào)一致才能發(fā)揮其高性能作用。件是靈魂。只有系統(tǒng)的軟、硬件緊密配合、協(xié)調(diào)一致才能發(fā)揮其高性能作用。在單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程中,涉及多種開發(fā)技術(shù)和工具,需要
4、反復(fù)修改在單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程中,涉及多種開發(fā)技術(shù)和工具,需要反復(fù)修改調(diào)整軟、硬件,以便盡可能提高系統(tǒng)的工作效率。調(diào)整軟、硬件,以便盡可能提高系統(tǒng)的工作效率。 單片機(jī)應(yīng)用系統(tǒng)的功能不同,其硬件和軟件結(jié)構(gòu)也不相同,但研制、開發(fā)單片機(jī)應(yīng)用系統(tǒng)的功能不同,其硬件和軟件結(jié)構(gòu)也不相同,但研制、開發(fā)的方法和步驟基本一致。的方法和步驟基本一致。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束510.1.1 總體設(shè)計總體設(shè)計 1. 可行性調(diào)研可行性調(diào)研 可行性調(diào)研的目的,是分析完成該項目的可能性。進(jìn)行這方面的工作,可可行性調(diào)研的目的,是分析完成該項目的可能性。進(jìn)行這方面的工作,可參考國內(nèi)外有
5、關(guān)資料,看是否有人進(jìn)行過類似的工作。如果有,則可分析他參考國內(nèi)外有關(guān)資料,看是否有人進(jìn)行過類似的工作。如果有,則可分析他人是如何進(jìn)行的,有什么優(yōu)缺點,有何值得借鑒的地方;如果沒有,則需作人是如何進(jìn)行的,有什么優(yōu)缺點,有何值得借鑒的地方;如果沒有,則需作進(jìn)一步的研究,此時的重點應(yīng)放在能否實現(xiàn)目標(biāo)這個環(huán)節(jié),首先從理論上進(jìn)進(jìn)一步的研究,此時的重點應(yīng)放在能否實現(xiàn)目標(biāo)這個環(huán)節(jié),首先從理論上進(jìn)行分析,探討實現(xiàn)的可能性,所行分析,探討實現(xiàn)的可能性,所單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束6 要求的客觀條件是否具備(環(huán)境、測試手段、儀器設(shè)備、資金、人員等),要求的客觀條件是否具備(環(huán)境
6、、測試手段、儀器設(shè)備、資金、人員等),然后結(jié)合實際情況,確定能否立項的問題。然后結(jié)合實際情況,確定能否立項的問題。 2. 擬制設(shè)計任務(wù)書擬制設(shè)計任務(wù)書 設(shè)計者首先應(yīng)對系統(tǒng)的任務(wù)、控制對象、工作環(huán)境作周密的調(diào)查研究,設(shè)計者首先應(yīng)對系統(tǒng)的任務(wù)、控制對象、工作環(huán)境作周密的調(diào)查研究,必要時還要勘察工業(yè)現(xiàn)場,明確系統(tǒng)的各項指標(biāo)。進(jìn)而編寫設(shè)計任務(wù)書,必要時還要勘察工業(yè)現(xiàn)場,明確系統(tǒng)的各項指標(biāo)。進(jìn)而編寫設(shè)計任務(wù)書,整個系統(tǒng)的設(shè)計開發(fā)都要圍繞著如何達(dá)到技術(shù)指標(biāo)來進(jìn)行。整個系統(tǒng)的設(shè)計開發(fā)都要圍繞著如何達(dá)到技術(shù)指標(biāo)來進(jìn)行。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束7 3. 建立數(shù)學(xué)模型建立數(shù)學(xué)
7、模型 設(shè)計任務(wù)書擬定后,接下來應(yīng)對被控對象的物理過程和計算任務(wù)進(jìn)行全設(shè)計任務(wù)書擬定后,接下來應(yīng)對被控對象的物理過程和計算任務(wù)進(jìn)行全面分析,并從中抽象出數(shù)學(xué)表達(dá)式,即建立數(shù)學(xué)模型。數(shù)學(xué)模型的形式是多面分析,并從中抽象出數(shù)學(xué)表達(dá)式,即建立數(shù)學(xué)模型。數(shù)學(xué)模型的形式是多種多樣的,可以是一系列的數(shù)學(xué)表達(dá)式,可以是數(shù)學(xué)推理和判斷,也可以是種多樣的,可以是一系列的數(shù)學(xué)表達(dá)式,可以是數(shù)學(xué)推理和判斷,也可以是運行狀態(tài)的模擬等。數(shù)學(xué)模型要能真實描述客觀控制過程,要精確而簡單。運行狀態(tài)的模擬等。數(shù)學(xué)模型要能真實描述客觀控制過程,要精確而簡單。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束84. 總體
8、方案設(shè)計總體方案設(shè)計 在上述基礎(chǔ)上,對系統(tǒng)各部分構(gòu)成進(jìn)行總體規(guī)劃。主要考慮以下幾個在上述基礎(chǔ)上,對系統(tǒng)各部分構(gòu)成進(jìn)行總體規(guī)劃。主要考慮以下幾個問題:問題: 系統(tǒng)組成:根據(jù)系統(tǒng)功能,確定系統(tǒng)主要由哪些功能模塊構(gòu)成:如鍵盤、系統(tǒng)組成:根據(jù)系統(tǒng)功能,確定系統(tǒng)主要由哪些功能模塊構(gòu)成:如鍵盤、顯示、輸入顯示、輸入/輸出通道、通信等。輸出通道、通信等。 單片機(jī)選型:根據(jù)系統(tǒng)的精度和速度要求合理選擇單片機(jī)機(jī)型。可以綜單片機(jī)選型:根據(jù)系統(tǒng)的精度和速度要求合理選擇單片機(jī)機(jī)型??梢跃C合考慮單片機(jī)的實用性、性價比、開發(fā)工具和研發(fā)人員的熟悉程合考慮單片機(jī)的實用性、性價比、開發(fā)工具和研發(fā)人員的熟悉程單片機(jī)原理及應(yīng)用主目
9、錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束9 等方面因素。等方面因素。 軟硬件功能分配:確定哪些功能由硬件實現(xiàn),哪些功能由軟件完成。在不軟硬件功能分配:確定哪些功能由硬件實現(xiàn),哪些功能由軟件完成。在不影響系統(tǒng)技術(shù)指標(biāo)的前提下,提倡盡量用軟件實現(xiàn)。影響系統(tǒng)技術(shù)指標(biāo)的前提下,提倡盡量用軟件實現(xiàn)。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束1010.1.2 硬件設(shè)計硬件設(shè)計 根據(jù)總體方案畫出硬件電路原理圖,然后在單片機(jī)開發(fā)儀或?qū)嶒灠迳洗罡鶕?jù)總體方案畫出硬件電路原理圖,然后在單片機(jī)開發(fā)儀或?qū)嶒灠迳洗畛鲭娐?,并且在調(diào)試和運行軟件中隨時加以修改和補(bǔ)充,最后制作印制電路出電路,并且在調(diào)試和
10、運行軟件中隨時加以修改和補(bǔ)充,最后制作印制電路板并裝成樣機(jī)。板并裝成樣機(jī)。 為使硬件設(shè)計合理,系統(tǒng)的電路設(shè)計應(yīng)注意以下幾個方面:為使硬件設(shè)計合理,系統(tǒng)的電路設(shè)計應(yīng)注意以下幾個方面: 盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,提高設(shè)計的成功率和結(jié)構(gòu)的盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,提高設(shè)計的成功率和結(jié)構(gòu)的靈活性。靈活性。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束11 盡量選用功能強(qiáng)、集成度高的電路或芯片。盡量選用功能強(qiáng)、集成度高的電路或芯片。 選擇通用性強(qiáng)、市場貨源充足的元器件。選擇通用性強(qiáng)、市場貨源充足的元器件。 系統(tǒng)擴(kuò)展及各功能模塊在設(shè)計滿足應(yīng)用系統(tǒng)功能要求基礎(chǔ)上,應(yīng)適當(dāng)留
11、系統(tǒng)擴(kuò)展及各功能模塊在設(shè)計滿足應(yīng)用系統(tǒng)功能要求基礎(chǔ)上,應(yīng)適當(dāng)留有余地。有余地。 盡量采用新技術(shù)。盡量采用新技術(shù)。 充分考慮各部分的驅(qū)動能力。充分考慮各部分的驅(qū)動能力。 系統(tǒng)的抗干擾設(shè)計。系統(tǒng)的抗干擾設(shè)計。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束1210.1.3 軟件設(shè)計軟件設(shè)計 在進(jìn)行應(yīng)用系統(tǒng)的總體設(shè)計時,軟件設(shè)計和硬件設(shè)計應(yīng)統(tǒng)一考慮,相互結(jié)合。在進(jìn)行應(yīng)用系統(tǒng)的總體設(shè)計時,軟件設(shè)計和硬件設(shè)計應(yīng)統(tǒng)一考慮,相互結(jié)合。當(dāng)系統(tǒng)硬件電路確定后,軟件的任務(wù)也就明確了。當(dāng)系統(tǒng)硬件電路確定后,軟件的任務(wù)也就明確了。 系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計的。一般地講,軟件的功能可分為兩系
12、統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計的。一般地講,軟件的功能可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量、計算、顯示、大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量、計算、顯示、打印、輸出控制等;另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作打印、輸出控制等;另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系者的關(guān)系,在系單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束13 統(tǒng)軟件中充當(dāng)組織調(diào)度角色。由于應(yīng)用系統(tǒng)種類繁多,程序編制者風(fēng)格不一,統(tǒng)軟件中充當(dāng)組織調(diào)度角色。由于應(yīng)用系統(tǒng)種類繁多,程序編制者風(fēng)格不一,因此應(yīng)用軟件因系統(tǒng)而異。盡管
13、如此,作為優(yōu)秀的系統(tǒng)軟件還是有其共同點因此應(yīng)用軟件因系統(tǒng)而異。盡管如此,作為優(yōu)秀的系統(tǒng)軟件還是有其共同點及規(guī)律的。及規(guī)律的。 1. 程序的總體設(shè)計程序的總體設(shè)計 程序總體設(shè)計是指從系統(tǒng)的高度考慮程序結(jié)構(gòu)、數(shù)據(jù)形式和程序功能的實程序總體設(shè)計是指從系統(tǒng)的高度考慮程序結(jié)構(gòu)、數(shù)據(jù)形式和程序功能的實現(xiàn)方法和手段?,F(xiàn)方法和手段。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束14 在擬定總體設(shè)計方案時,設(shè)計者必須合理選擇切合實際的程序設(shè)計方法。在擬定總體設(shè)計方案時,設(shè)計者必須合理選擇切合實際的程序設(shè)計方法。常用的程序設(shè)計方法有三種:常用的程序設(shè)計方法有三種: 模塊化程序設(shè)計:把一個復(fù)雜的應(yīng)用
14、程序按整體功能劃分成若干相對模塊化程序設(shè)計:把一個復(fù)雜的應(yīng)用程序按整體功能劃分成若干相對獨立的程序模塊,各模塊可以單獨設(shè)計、編程、調(diào)試,然后裝配起來聯(lián)調(diào),獨立的程序模塊,各模塊可以單獨設(shè)計、編程、調(diào)試,然后裝配起來聯(lián)調(diào),最終成為一個有實用價值的程序。最終成為一個有實用價值的程序。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束15 結(jié)構(gòu)化程序設(shè)計:在編程過程中,對程序結(jié)構(gòu)進(jìn)行適當(dāng)限制,特別結(jié)構(gòu)化程序設(shè)計:在編程過程中,對程序結(jié)構(gòu)進(jìn)行適當(dāng)限制,特別是限制轉(zhuǎn)移指令的使用,用于控制程序的復(fù)雜程序,使程序上下文與執(zhí)行是限制轉(zhuǎn)移指令的使用,用于控制程序的復(fù)雜程序,使程序上下文與執(zhí)行流程保持
15、一致。這是一種比較理想的程序設(shè)計方法。流程保持一致。這是一種比較理想的程序設(shè)計方法。 自頂向下程序設(shè)計:從系統(tǒng)一級的主干程序開始,集中精力解決全自頂向下程序設(shè)計:從系統(tǒng)一級的主干程序開始,集中精力解決全局問題,然后層層細(xì)化逐步求精,最終完成一個復(fù)雜的程序。局問題,然后層層細(xì)化逐步求精,最終完成一個復(fù)雜的程序。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束16 2. 畫程序流程圖畫程序流程圖 不論采用哪種設(shè)計方法,程序總體結(jié)構(gòu)確定后,應(yīng)結(jié)合數(shù)學(xué)模型確立各子任不論采用哪種設(shè)計方法,程序總體結(jié)構(gòu)確定后,應(yīng)結(jié)合數(shù)學(xué)模型確立各子任務(wù)的具體算法和步驟,畫出流程圖務(wù)的具體算法和步驟,畫出流程
16、圖,以方便程序編寫。以方便程序編寫。 3. 程序的編制程序的編制 在開始編寫程序之前,應(yīng)先對程序地址空間的分配、工作寄存器的安排、數(shù)在開始編寫程序之前,應(yīng)先對程序地址空間的分配、工作寄存器的安排、數(shù)據(jù)結(jié)構(gòu)、端口地址等進(jìn)行分配。然后再根據(jù)程序流程圖用匯編語言或其他據(jù)結(jié)構(gòu)、端口地址等進(jìn)行分配。然后再根據(jù)程序流程圖用匯編語言或其他高級語言編寫程序。高級語言編寫程序。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束17 4. 程序的檢查和修改程序的檢查和修改 上機(jī)調(diào)試前,可借助一定的編譯軟件對程序中的語法錯誤查找出來并修上機(jī)調(diào)試前,可借助一定的編譯軟件對程序中的語法錯誤查找出來并修改。改
17、。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束1810.1.4 系統(tǒng)的調(diào)試與運行系統(tǒng)的調(diào)試與運行 調(diào)試包括硬件調(diào)試、軟件調(diào)試和系統(tǒng)聯(lián)調(diào)。調(diào)試通過后還要進(jìn)行一段時調(diào)試包括硬件調(diào)試、軟件調(diào)試和系統(tǒng)聯(lián)調(diào)。調(diào)試通過后還要進(jìn)行一段時間的試運行,以驗證系統(tǒng)能否經(jīng)受實際環(huán)境的考驗。經(jīng)過一段時間的試運間的試運行,以驗證系統(tǒng)能否經(jīng)受實際環(huán)境的考驗。經(jīng)過一段時間的試運行就可投入正式運行,在正式運行中還要建立一套健全的維護(hù)制度,以確行就可投入正式運行,在正式運行中還要建立一套健全的維護(hù)制度,以確保系統(tǒng)的正常工作。保系統(tǒng)的正常工作。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束191
18、0.2 單單片機(jī)應(yīng)用系統(tǒng)開發(fā)工具片機(jī)應(yīng)用系統(tǒng)開發(fā)工具 1. 單片機(jī)開發(fā)系統(tǒng)的功能單片機(jī)開發(fā)系統(tǒng)的功能 在線仿真功能;在線仿真功能; 系統(tǒng)調(diào)試功能;系統(tǒng)調(diào)試功能; 軟件輔助設(shè)計功能;軟件輔助設(shè)計功能; 程序固化功能。程序固化功能。2. 開發(fā)系統(tǒng)的類型開發(fā)系統(tǒng)的類型 通用型單片機(jī)開發(fā)系統(tǒng);通用型單片機(jī)開發(fā)系統(tǒng); 實用型開發(fā)系統(tǒng);實用型開發(fā)系統(tǒng); 通用機(jī)開發(fā)系統(tǒng);通用機(jī)開發(fā)系統(tǒng); 模擬開發(fā)系統(tǒng)。模擬開發(fā)系統(tǒng)。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束2010.3.1 數(shù)碼管數(shù)字時鐘電路的設(shè)計數(shù)碼管數(shù)字時鐘電路的設(shè)計 1. 設(shè)計要求設(shè)計要求 (1) 以以AT89C51單片機(jī)為核心器
19、件,構(gòu)成一個數(shù)字式電子時鐘。單片機(jī)為核心器件,構(gòu)成一個數(shù)字式電子時鐘。 (2) 用用6位數(shù)碼管分別顯示時、分、秒,采用位數(shù)碼管分別顯示時、分、秒,采用24小時計時方式。小時計時方式。 (3) 時鐘具有顯示時間、調(diào)整時間、省電狀態(tài)(數(shù)碼管不亮,時鐘不停)三時鐘具有顯示時間、調(diào)整時間、省電狀態(tài)(數(shù)碼管不亮,時鐘不停)三種功能。種功能。10.3 單片機(jī)開發(fā)系統(tǒng)應(yīng)用實例單片機(jī)開發(fā)系統(tǒng)應(yīng)用實例單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束21 2. 總體設(shè)計總體設(shè)計 (1) 6位數(shù)碼管采用動態(tài)顯示方式,段選線用位數(shù)碼管采用動態(tài)顯示方式,段選線用P1口控制,位選線用口控制,位選線用P2口低
20、口低6位位控制??刂啤?(2) 功能鍵由功能鍵由P2.7引入。引入。 (3) 為節(jié)省硬件,采用定時計數(shù)器產(chǎn)生時間基準(zhǔn)。為節(jié)省硬件,采用定時計數(shù)器產(chǎn)生時間基準(zhǔn)。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束22 3. 硬件設(shè)計硬件設(shè)計 根據(jù)總體設(shè)計,硬件電路框圖如圖根據(jù)總體設(shè)計,硬件電路框圖如圖10.1所示。所示。單片機(jī)驅(qū)動電路6位LED數(shù)碼管按鍵時鐘和復(fù)位電路圖圖10.1 硬件電路框圖硬件電路框圖 硬件電路由硬件電路由4部分組成:單片機(jī)、時鐘與復(fù)位電路、部分組成:單片機(jī)、時鐘與復(fù)位電路、LED顯示及驅(qū)動電顯示及驅(qū)動電路、按鍵輸入電路。路、按鍵輸入電路。 電路原理圖如下:電路原理
21、圖如下:單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束23gfedcbaP2.5P2.4P2.3P2.2P2.1P2.0P2.6P2.7+5V+5VP1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V圖圖10.2 數(shù)字時鐘電路圖數(shù)字時鐘電路圖單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束244. 軟件設(shè)計軟件設(shè)計 片內(nèi)片內(nèi)RAM 50H55H作為顯示緩沖區(qū),共作為顯示緩沖區(qū),共6個單元分別存放秒、分、時的個單元分別存放秒、分、時的BCD碼個位在低地址單元,十位在高地址單元。時鐘的基本單位為秒,定時碼個位在低地址單元,十位在高地
22、址單元。時鐘的基本單位為秒,定時器器T0定時定時50ms,定時,定時20次即為次即為1S。秒、分逢。秒、分逢60進(jìn)位,時逢進(jìn)位,時逢24回零?;亓恪?按鍵具有以下功能:當(dāng)按下時間小于按鍵具有以下功能:當(dāng)按下時間小于1S,進(jìn)入省電狀態(tài)(時鐘繼續(xù)運行,進(jìn)入省電狀態(tài)(時鐘繼續(xù)運行,但不顯示);按下時間大于但不顯示);按下時間大于1S,進(jìn)入調(diào)分狀態(tài),時鐘停止,等待繼,進(jìn)入調(diào)分狀態(tài),時鐘停止,等待繼單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束25 續(xù)按鍵,若再次按鍵時間小于續(xù)按鍵,若再次按鍵時間小于0.5S,分加,分加1;若大于;若大于0.5S,進(jìn)入小時調(diào)整狀,進(jìn)入小時調(diào)整狀態(tài)。在小時
23、調(diào)整狀態(tài)下,按鍵時間小于態(tài)。在小時調(diào)整狀態(tài)下,按鍵時間小于0.5S,時加,時加1,若大于,若大于0.5S,退出時,退出時鐘調(diào)整,時鐘按新設(shè)置的時間運行。鐘調(diào)整,時鐘按新設(shè)置的時間運行。 在時鐘調(diào)整狀態(tài)下,當(dāng)前被調(diào)整的時間每在時鐘調(diào)整狀態(tài)下,當(dāng)前被調(diào)整的時間每0.3S閃爍顯示,定時器閃爍顯示,定時器T1定時閃爍定時閃爍時間間隔時間間隔0.3S。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束26(1) 主程序設(shè)計主程序設(shè)計 主程序流程圖如下:主程序流程圖如下:開始開始內(nèi)存單元清內(nèi)存單元清0T0、T1初始化初始化調(diào)顯示子程序調(diào)顯示子程序P2.7=0?調(diào)時程序調(diào)時程序NY圖圖10.3
24、主程序流程圖主程序流程圖單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束27主程序如下:主程序如下: ORG 0000H AJMP MAINT ORG 000BH AJMP INT01 ORG 001BH AJMP INT11 MAINT:MOV R0,#7FH CLR A WZ1: MOV R0,A DJNZ R0,WZ1單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束28 MOV SP,#30H MOV 5AH,#0AH MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH SET
25、B EA SETB ET0 SETB TR0 MOV R4,#14H單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束29MAINT1:LCALL XZCX JNB P2.7,SJTZ0 SJMP MAINT1 SJTZ0: LCALL XSZCX JNB P2.7,SJTZ1 SJMP MAINT1 SJTZ1: CLR ET0 CLR TR0 LCALL YS1S JB P2.7, KMTES MOV R2, #06H單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束30 SETB ET1 SETB TR1 XYZ2: JNB P2.7, XYZ1 CLR 01H
26、XYZ4: JB P2.7, XYZ3 LCALL YS05S JNB P2.7, XYZHH MOV R0, #53H LCALL ADD1 MOV A, R3 CLR C單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束31 CJNE A, #60H, QWE QWE: JC XYZ4 CLR A MOV R0, A DEC R0 MOV R0, A CLR C AJMP XYZ4 KMTES: SETB ET0 SETB TR0 KMA: JB P2.7, $單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束32 LCALL XSZCX JB P2.7, KMA
27、KMA1: JNB P2.7,$ LJMP MAINT1XYZHH: JNB P2.7, XYZ5 SETB 01H XYZ6: JB P2.7, XYZ7 LCALL YS05S JNB P2.7, XYZOUT MOV R0, #55H LCALL ADD1單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束33 MVO A, R3 CLR C CJNE A, #24H, KMB1 KMB1: JC XYZ6 CLR A MOV R0, A DEC R0 MOV R0, A AJMP XYZ6XYZOUT: JNB P2.7, XYZOUT1 LCALL XSZCX單片機(jī)原理及應(yīng)
28、用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束34 JNB P2.7,XYZOUT MOV 20H,#00H MOV 56H,52H MOV 57H,53H MOV 58H,54H MOV 59H,55H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP MAINT1單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束35 XYZ1: LCALL XSZCX AJMP XYZ2 XYZ3: LCALL XSZCX AJMP XYZ4 XYZ5: LCALL XSZCX AJMP XYZHH XYZ7: LCALL XSZCX AJMP XYZ6 XYZO
29、UT1: LCALL XSZCX AJMP XYZOUT單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束36(2) 顯示子程序設(shè)計顯示子程序設(shè)計XSZCX: MOV R1, #50H MOV R5, #0FEH MAXY: MOV A, R5 MOV P2, A MOV A, R1 MOV DPTR, #ABC MOVC A, A+DPTR MOV P1, A LCALL YS1MS INC R1單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束37 MOV A, R5 JNB ACC.5, ENDOUT RL A MOV R5, A AJMP MAXYENDOUT:
30、 MOV P2, #0FFH MOV P1, #0FFH RET單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束38(3) T0中斷服務(wù)程序設(shè)計中斷服務(wù)程序設(shè)計INT01: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A, #0B7H ADD A, TL0 MOV TL0, A MOV A, #3CH ADDC A, TH0 MOV TH0, A單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束39 SETB TR0 DJNZ R4, INT0U AD1: MOV R4, #14H MOV R0, #51H LCALL ADD1 MOV
31、 A, R3 CLR C CJNE A, #60H, AD2 AD2: JC INT0U CLR A MOV R0, A單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束40 DEC R0 MOV R0, A MOV R0, #57H ACALL ADD1 MOV A, R3 CLR C CJNE A, #60H, AD3AD3:JC INT0U CLR A MOV R0, A DEC R0單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束41 MOV R0, A MOV R0, #59H ACALL ADD1 MOV A, R3 CLR C CJNE A, #24H,
32、 AD4AD4: JC INT0U CLR A MOV R0, A DEC R0 MOV R0, A單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束42INT0U: MOV 52H, 56H MOV 53H, 57H MOV 54H, 58H MOV 55H, 59H POP PSW POP ACC SETB ET0 RETI單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束43(4) T1中斷服務(wù)程序設(shè)計中斷服務(wù)程序設(shè)計INT11: PUSH ACC PUSH PSW MOV TL1, #0B0H MOV TH1, #3CH DJNZ R2, INT1U MOV R
33、2, #06H CPL 02H JB 02H, CCC1 MOV 52H, 56H MOV 53H, 57H單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束44 MOV 54H, 58H MOV 55H, 59HINT1U: POP PSW POP ACC RETI CCC1: JB 01H, CCC2 MOV 52H, 5AH MOV 53H, 5AH MOV 54H, 58H MOV 55H, 59H AJMP INT1U單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束45CCC2: MOV 52H, 56H MOV 53H, 57H MOV 54H, 5AH
34、MOV 55H, 5AH AJMP INT1U(5) 加加1子程序子程序ADD1: MOV A, R0 DEC R0 SWAP A ORL A, R0單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束46 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RET 單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束47(6) 延時子程序延時子程序YS1MS: MOV R6,#14H YS1: MOV R7,#19H YS2: DJNZ R7,YS2
35、 DJNZ R6,YS1 RET YS1S: LCALL YS05S LCALL YS05S RET單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束48 YS05S: MOV R3, #51HYS05S1: LCALL XSZCX DJNZ R3, YS05S1 RETABC: DB 0C0H, 0F9H, 0A4H DB 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 90H, 0FFH END點擊觀看仿真演示點擊觀看仿真演示單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束4910.3.2 數(shù)字式音樂盒設(shè)計數(shù)字式音樂盒設(shè)計 本節(jié)以一個音樂盒為例
36、,通過設(shè)計一個音樂盒,了解用單片機(jī)產(chǎn)生音頻本節(jié)以一個音樂盒為例,通過設(shè)計一個音樂盒,了解用單片機(jī)產(chǎn)生音頻的方法及音樂程序的設(shè)計。的方法及音樂程序的設(shè)計。 音樂盒的音符范圍:音樂盒的音符范圍:C調(diào)低音調(diào)低音1高音高音7,內(nèi)部存儲一首歌曲,循環(huán)播放。,內(nèi)部存儲一首歌曲,循環(huán)播放。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束50 1. 基本樂理知識基本樂理知識 在音樂中使用的各個固定頻率的音叫音級,常用符號在音樂中使用的各個固定頻率的音叫音級,常用符號C、D、E、F、G、A、B表示。兩音之間音高的距離叫音程。表表示。兩音之間音高的距離叫音程。表12-1列出列出C調(diào)高、中、低音對應(yīng)的
37、調(diào)高、中、低音對應(yīng)的頻率值。頻率值。 樂曲即是由不同的音符組成的,而每個音符都有其特定的頻率,這樣我們就樂曲即是由不同的音符組成的,而每個音符都有其特定的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了。音符頻率可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了。音符頻率單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束51的產(chǎn)生可以使用定時計數(shù)器產(chǎn)生的產(chǎn)生可以使用定時計數(shù)器產(chǎn)生 ,T0工作于定時方式工作于定時方式1,晶振為,晶振為12MHz。則。則T0定時時間為某音符周期的定時時間為某音符周期的1/2,定時時間到則將輸出取反,就可以得到固,定時時間到則將輸出
38、取反,就可以得到固定頻率的方波信號。定頻率的方波信號。 低音低音1:頻率:頻率=262,定時時間,定時時間=T/2=1/2*262(S)T0初值初值=6/52463628。 低音低音2:頻率:頻率=294,定時時間,定時時間=T/2=1/2*294(S)T0初值初值=6/58863835。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束52音符音符頻率頻率(Hz)(Hz)定時初值定時初值音符音符頻率頻率(Hz)(Hz)定時初值定時初值低低1 12622626362863628中中5 57847846489864898低低2 22942946383563835中中6 6880880
39、6496864968低低3 33303306402164021中中7 79889886503065030低低4 43493496410364103高高1 1104610466505865058低低5 53923926426064260高高2 2117511756511065110低低6 64404406440064400高高3 3131813186515765157低低7 74944946452464524高高4 4139713976517865178中中1 15235236458064580高高5 5156815686521765217中中2 25875876468464684高高6 617
40、6017606525265252中中3 36596596477764777高高7 7196719676528365283中中4 46986986482064820單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束53 2. 總體設(shè)計總體設(shè)計 選擇選擇AT89C2051單片機(jī),通過單片機(jī),通過T0的定時中斷,配合的定時中斷,配合P3.0引腳輸出音頻頻率。引腳輸出音頻頻率。P3.0引腳輸出,經(jīng)音頻放大后接揚聲器。系統(tǒng)組成框圖如圖引腳輸出,經(jīng)音頻放大后接揚聲器。系統(tǒng)組成框圖如圖10.4所示。所示。單片機(jī)音頻放大電路揚聲器時鐘和復(fù)位電路圖圖10.4 音樂盒硬件電路框圖音樂盒硬件電路框圖單片
41、機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束54 音符持續(xù)時間的長短即時值,一般用拍數(shù)表示。音符持續(xù)時間的長短即時值,一般用拍數(shù)表示。1/8拍拍=0.05s,1/4拍拍=0.1s,以此類推,以此類推,1拍就是拍就是0.4S。 節(jié)拍的產(chǎn)生,可以用定時器節(jié)拍的產(chǎn)生,可以用定時器T1或延時方法產(chǎn)生,以或延時方法產(chǎn)生,以1/8拍為基準(zhǔn)。若某個音拍為基準(zhǔn)。若某個音符節(jié)拍為符節(jié)拍為1/4拍,則延時兩次即可。拍,則延時兩次即可。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束553. 硬件設(shè)計硬件設(shè)計 電路原理圖如下:電路原理圖如下:圖圖10.5 音樂盒電路圖和音樂盒電路圖和AT
42、89C2051引腳排列引腳排列P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0P1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V+5V單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束564. 軟件設(shè)計軟件設(shè)計 為了產(chǎn)生音頻信號,需先對音符進(jìn)行編碼。在程序中安排一張定時初值表,為了產(chǎn)生音頻信號,需先對音符進(jìn)行編碼。在程序中安排一張定時初值表,程序通過音符編碼查表得到對應(yīng)的定時初值。編碼如下表所示。程序通過音符編碼查表得到對應(yīng)的定時初值。編碼如下表所示。單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束57音符音符編碼
43、編碼定時初值定時初值音符音符編碼編碼定時初值定時初值低低1 101H01H6362863628中中5 50CH0CH6489864898低低2 202H02H6383563835中中6 60DH0DH6496864968低低3 303H03H6402164021中中7 70EH0EH6503065030低低4 404H04H6410364103高高1 10FH0FH6505865058低低5 505H05H6426064260高高2 210H10H6511065110低低6 606H06H6440064400高高3 311H11H6515765157低低7 707H07H6452464524高
44、高4 412H12H6517865178中中1 108H08H6458064580高高5 513H13H6521765217中中2 209H09H6468464684高高6 614H14H6525265252中中3 30AH0AH6477764777高高7 715H15H6528365283中中4 40BH0BH6482064820不發(fā)音不發(fā)音00H00H單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束58 以以1/8拍為延時單位,對節(jié)拍也進(jìn)行編碼如下。拍為延時單位,對節(jié)拍也進(jìn)行編碼如下。樂譜節(jié)拍樂譜節(jié)拍編碼編碼樂譜節(jié)拍樂譜節(jié)拍編碼編碼樂譜節(jié)拍樂譜節(jié)拍編碼編碼1/817/87D1
45、/4218E3/839F1/24A210H5/85B3/46C118114138112158134178單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束59 有了上述兩張編碼表,任何一首樂曲都可以用其編碼來表示。例如:生日有了上述兩張編碼表,任何一首樂曲都可以用其編碼來表示。例如:生日快樂歌曲譜如下:快樂歌曲譜如下:C 1=3/4日快樂唱祝你生我們高聲歌樂祝你生日快生日快樂,祝你| |1 12 2| |1 13 34 44 4| |76761 1| |3 35 55 55 5| | | |1 12 2| |65655 55 5| |771 1| |65655 555| |單片機(jī)原
46、理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束60 對此進(jìn)行編碼,音符編碼在前,節(jié)拍編碼在后,得曲譜簡碼表如下:對此進(jìn)行編碼,音符編碼在前,節(jié)拍編碼在后,得曲譜簡碼表如下:SONG:DB 0CH,04H,00H,02H,0CH,02H,0DH,08HDB 0CH,08H, 0FH,08H,0EH,08H,00H,08H,0CHDB 04H,00H,02H,0CH,02H,0DH,08H,0CH,08HDB 10H,08H, 0FH,08H,00H,08H,0CH,04H,00HDB 02H,0CH,02H,13H,08H,11H,08H,0FH,08HDB 0EH,08H,0DH,08
47、H,12H,04H,00H,02H,12HDB 02H,11H, 08H,0FH,08H,10H,08H,0FH,08HDB 00H,08H,0FFH ;結(jié)束符;結(jié)束符單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束61(1) 主程序框圖主程序框圖開始開始初始化初始化取音符編碼取音符編碼結(jié)束符?結(jié)束符?查定時初值查定時初值發(fā)音符?發(fā)音符?NY取節(jié)拍編碼取節(jié)拍編碼N調(diào)節(jié)拍控制調(diào)節(jié)拍控制Y(2) T0中斷服務(wù)程序框圖中斷服務(wù)程序框圖保護(hù)現(xiàn)場保護(hù)現(xiàn)場重裝初值重裝初值P3.0取反取反恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場中斷返回中斷返回圖圖10.6 主程序與中斷服務(wù)程序框圖主程序與中斷服務(wù)程序框圖單片機(jī)原理及
48、應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束62程序清單:程序清單: ORG 0000H LJMP MUSIC ORG 000BH LJMP SERT0 ORG 0030HMUSIC: MOV TMOD,#01H ; T0定時方式定時方式1 SETB EA SETB ET0 ; 開開T0中斷中斷 SETB P3.0 ; 不發(fā)音不發(fā)音單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束63STA: MOV 30H,#00H ;簡碼指針清簡碼指針清0NEXT:MOV DPTR,#SONG ;DPTR指向簡碼表首址指向簡碼表首址 MOV A,30H ;簡碼指針?biāo)秃喆a指針?biāo)虯 INC
49、30H ;指針加指針加1,指向節(jié)拍碼,指向節(jié)拍碼 MOVC A,A+DPTR ;取簡碼取簡碼 MOV R2,A ;暫存簡碼暫存簡碼 CPL A JNZ NEXT1 ;簡碼結(jié)束否?簡碼結(jié)束否? CLR TR0 ;T0停止停止 SJMP STA單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束64NEXT1:MOV A, R2 ; 簡碼送簡碼送A JNZ SING ; 是發(fā)音符,轉(zhuǎn)是發(fā)音符,轉(zhuǎn)SING CLR TR0 ; 不發(fā)音不發(fā)音 SJMP D1 ; 轉(zhuǎn)節(jié)拍控制轉(zhuǎn)節(jié)拍控制 SING: DEC A ; 根據(jù)音符碼取定時初值根據(jù)音符碼取定時初值 RL A MOV 22H, A MOV
50、DPTR, #STAB MOVC A, A+DPTR MOV TH0, A ;送高字節(jié)定時初值送高字節(jié)定時初值單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束65 MOV 21H,A ;保存至保存至21H MOV A,22H INC A MOVC A,A+DPTR MOV TL0,A ;送低字節(jié)定時初值送低字節(jié)定時初值 MOV 20H,A ;保存保存 SETB ET0 ;開開T0中斷中斷 SETB TR0 ;啟動啟動T0 D1:MOV A,30H ;簡碼指針?biāo)秃喆a指針?biāo)虯 INC 30H ;簡碼指針加簡碼指針加1,指向下一簡碼,指向下一簡碼 MOV DPTR,#SONG單片機(jī)原理
51、及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束66 MOVC A, A+DPTR ;取節(jié)拍碼取節(jié)拍碼 MOV R5, A ;節(jié)拍碼送節(jié)拍碼送R5 LCALL DELAY ;調(diào)節(jié)拍控制調(diào)節(jié)拍控制 CLR TR0 ;節(jié)拍到,停止節(jié)拍到,停止T0 SJMP NEXT ;轉(zhuǎn)下一簡碼發(fā)音控制轉(zhuǎn)下一簡碼發(fā)音控制 ;節(jié)拍控制子程序節(jié)拍控制子程序DELAY:MOV R3,#100 D2: MOV R4,#250 D3: DJNZ R4,D3 DJNZ R3,D2 DJNZ R5,DELAY ;節(jié)拍數(shù)到否?節(jié)拍數(shù)到否? RET單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束67;T0中斷服務(wù)
52、程序中斷服務(wù)程序SERT0: CLR TR0 ;停止停止T0 MOV TL0,20H ;重裝初值重裝初值 MOV TH0,21H CPL P3.0 ;音頻信號取反音頻信號取反 SETB TR0 ;啟動啟動T0 RETI ;中斷返回中斷返回單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束68 ;祝你生日快樂祝你生日快樂歌簡碼表歌簡碼表SONG:DB 0CH,04H,00H,02H,0DH,08H,0CH,08H DB 0FH,08H,0EH,08H,00H,08H,0CH,04H,00H DB 02H,0CH,02H,0DH,08H,0CH,08H,10H,08H DB 0FH,0
53、8H,00H,08H,0CH,04H,00H,02H,0CH DB 02H,13H,08H,11H,08H,0FH,08H,0EH,08H DB 0DH,08H,12H,04H,00H,02H,12H,02H,11H DB 08H,0FH,08H,10H,08H,0FH,08H,00H,08H DB 0FFH;結(jié)束符結(jié)束符單片機(jī)原理及應(yīng)用主目錄主目錄上一頁上一頁下一頁下一頁結(jié)結(jié) 束束69;音符定時初值表音符定時初值表STAB:DW 63628,63835,64021,64103,64260,64400 DW 64524,64580,64684,64777,64820,64898 DW 64968,65030,65058,65110,65157,65178 DW 65217,65252,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度樹木修剪、施肥與銷售一體化服務(wù)協(xié)議
- 二零二五年度勞動合同電子臺賬操作手冊編寫合同
- 二零二五年度安防產(chǎn)品經(jīng)銷商返點合作協(xié)議
- 2025年度集體合同協(xié)商與職工退休待遇
- 2025年桌面云項目可行性研究報告及建設(shè)實施方案
- 2024年全球及中國內(nèi)毒素截留濾芯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 法律知識合同法重點題
- 電子商務(wù)孵化器項目運營策劃方案
- 物流行業(yè)供貨時間表及效率提升措施
- 房地產(chǎn)開發(fā)分包管理措施
- 2017華東六省一市優(yōu)質(zhì)課課件連乘問題11月29日
- 部編版(統(tǒng)編)一年級語文下冊每課練習(xí)題(全冊全套)
- DB62∕T 4134-2020 高速公路服務(wù)區(qū)設(shè)計規(guī)范
- 中電朝陽250兆瓦智慧風(fēng)儲一體化風(fēng)電項目環(huán)評報告書
- 做一個幸福教師
- 海上風(fēng)電場+風(fēng)機(jī)基礎(chǔ)介紹
- 國家自然科學(xué)基金申請標(biāo)書模板
- GB T 20219-2015 絕熱用噴涂硬質(zhì)聚氨酯泡沫塑料(高清版)
- 車間斷針記錄表
- 人人有事做事事有人做
- MT_T 693-2019-礦用無線電波透視儀通用技術(shù)條件_(高清版)
評論
0/150
提交評論