




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE26單片機(jī)語(yǔ)音電路設(shè)計(jì)摘要:電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89C關(guān)鍵詞:?jiǎn)纹瑱C(jī);電子琴;C51;SCMspeechcircuitdesignAbstract:Electronicorganisamodernelectronicmusictechnologyandtheproductisanewtypeofkeyboardinstruments.Itplayedanimportantroleinmodernmusic.SCMhaspowerfulcontrolfunctionsandflexibleprogrammingcharacteristics.Ithasconvergedwithmodernpeople'slives,becomeanirreplaceablepart.ThemaincontentisAT89C51controlofthecorecomponents,designofaelectronicorgan.SCMasahosttothecore,withthekeyboard,speakerandothercoremodules.Inthemaincontrolmodulehas16keysandaspeaker.Thesystemissteady,itssimplehardwarecircuits,softwarefunctions,reliabilityofcontrolsystemandhighcostperformanceisitsadvantages.Italsohascertainpracticalandreferencevalue.Keywords:scm;electronicorgan;C51;目錄1緒論 12總體方案 22.1系統(tǒng)設(shè)計(jì)要求 22.2電子琴系統(tǒng)的組成 23硬件簡(jiǎn)介 53.1AT89C51 53.1.1AT89C51簡(jiǎn)介 53.1.2主要的功能特性 53.1.3管腳功能 63.1.4芯片擦除 73.2矩陣式鍵盤(pán)的識(shí)別和顯示 83.2.1.矩陣式鍵盤(pán)的結(jié)構(gòu)與工作原理 83.2.2.矩陣式鍵盤(pán)的按鍵識(shí)別方法 83.2.3.鍵盤(pán)接口必須具有的4個(gè)基本功能。 83.3硬件設(shè)計(jì)圖 114軟件設(shè)計(jì) 134.1整體程序處理流程圖 134.2I/O并行口直接驅(qū)動(dòng)LED顯示 144.3音樂(lè)播放設(shè)計(jì) 154.4放歌子程序流程圖 185調(diào)試 215.1Proteus簡(jiǎn)介 215.2keil簡(jiǎn)介 215.3利用keil與Proteus進(jìn)行的調(diào)試 216結(jié)論 24參考資料 25致謝 261緒論隨著大規(guī)模集成電路的出現(xiàn)和發(fā)展,芯片生產(chǎn)廠(chǎng)家把中央處理器CPU[1],隨機(jī)存取內(nèi)存RAM,只讀存儲(chǔ)器ROM,定時(shí)器/計(jì)數(shù)器以及I/O接口電路等主要計(jì)算機(jī)部件,集成在一塊集成電路芯片(硅片)上,形成芯片級(jí)計(jì)算機(jī),稱(chēng)為單片微型計(jì)算機(jī),直譯為單片機(jī)。單片機(jī)雖只是一個(gè)芯片,但從組成和功能上看,它已具有了微機(jī)系統(tǒng)的含義,又稱(chēng)微型處理部件MCU(MicroControllerUnit),單片機(jī)商品名稱(chēng)為微控制器單元。-雖然單片機(jī)出現(xiàn)的歷史并不長(zhǎng),但發(fā)展十分迅猛,在集成度、功能、速度、可靠性、應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。目前單片機(jī)已用于工業(yè)控制、機(jī)電一體化設(shè)備、儀器儀表、信號(hào)處理、現(xiàn)代兵器、交通能源、商用設(shè)備、醫(yī)療設(shè)備及家用電器等各個(gè)領(lǐng)域,隨著單片機(jī)性能的不斷提高,它的應(yīng)用將會(huì)更加廣泛。單片機(jī)技術(shù)發(fā)展非常快,所以目前的產(chǎn)品都致力于在功能全面、技術(shù)先進(jìn)、操作簡(jiǎn)便、安全可靠、價(jià)格合理等方面進(jìn)行仔細(xì)研究,精心設(shè)計(jì);及時(shí)掌握最新的單片機(jī)技術(shù),在條件允許的情況下,盡可能地利用最新的單片機(jī)技術(shù)來(lái)研制其應(yīng)用系統(tǒng),再利用單片機(jī)體積小、價(jià)格低、功能強(qiáng)等特點(diǎn),以保證所設(shè)計(jì)的產(chǎn)品在未來(lái)的一段時(shí)間內(nèi)仍具生命力。在生活和生產(chǎn)的各個(gè)領(lǐng)域中,凡是有自動(dòng)控制要求的地方都會(huì)有單片機(jī)的身影出現(xiàn);從簡(jiǎn)單到復(fù)雜,從空中、地面到地下,凡是能想象到的地方幾乎都有使用單片機(jī)的需求?,F(xiàn)在,盡管單片機(jī)的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目,因此,單片機(jī)的應(yīng)用大有可以想象和拓展的空間。單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動(dòng)效率,減輕勞動(dòng)強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來(lái)的經(jīng)濟(jì)效益上,更重要的意義還在于:?jiǎn)纹瑱C(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分控制功能,現(xiàn)在已能使用單片機(jī)通過(guò)軟件(編程序)方法實(shí)現(xiàn)了。這種以軟件取代硬件并能提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱(chēng)之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對(duì)傳統(tǒng)控制技術(shù)的一次革命。隨單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實(shí)。之所以以單片機(jī)電子琴為選題,目的在于從日常生活能接觸到的細(xì)微處著手,通過(guò)理論與實(shí)踐的結(jié)合,更明確自己的所學(xué)所用,也在實(shí)踐中發(fā)現(xiàn)理論的不足,對(duì)目前日益廣泛應(yīng)用的單片機(jī)有了更加理性化和感性化的認(rèn)識(shí),使理論和實(shí)踐相得益彰。
通過(guò)單片機(jī)電子琴這個(gè)選題,更深層次的了解了單片機(jī)技術(shù),更加熟練的掌握了一些單片機(jī)芯片的應(yīng)用,也解決了很多以前理論和實(shí)踐脫節(jié)的問(wèn)題,可謂對(duì)單片機(jī)的認(rèn)識(shí)有了一個(gè)小的飛躍。2總體方案2.1系統(tǒng)設(shè)計(jì)要求本系統(tǒng)分為兩個(gè)部分[2],一個(gè)是音樂(lè)播放,另一個(gè)就是電子琴?gòu)椬唷?/p>
關(guān)于聲音的處理,使用單片機(jī)C語(yǔ)言,利用定時(shí)器來(lái)控制頻率,而每個(gè)音符的符號(hào)只是存在我自己定義的表中。具體要求如下:
1.要求達(dá)到電子琴的基本功能,可以用彈奏出簡(jiǎn)單的樂(lè)曲。
2.用鍵盤(pán)作出電子琴的按鍵,每鍵代表一個(gè)音符。
3.各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。
4.固定音樂(lè)播放有按鍵控制:“播放”、“彈奏/停止”。
5.彈奏電子琴時(shí)能播放出準(zhǔn)確的聲音,不彈奏時(shí)可以播放內(nèi)置音樂(lè)。2.2電子琴系統(tǒng)的組成單片機(jī)因體積小、功能強(qiáng)、價(jià)格低廉而得到廣泛應(yīng)用。AT89C51單片機(jī)設(shè)計(jì)微型電子琴的方法,僅需AT89C51最小系統(tǒng),擴(kuò)展一組矩陣鍵盤(pán),再接一組發(fā)光二極管用來(lái)指示電子琴的工作狀態(tài)。本系統(tǒng)分為兩個(gè)部分[3],一個(gè)是音樂(lè)另一個(gè)就是電子琴。音樂(lè)播放部分:樂(lè)音實(shí)際上是有固定周期的信號(hào)。本文介紹用AT89C51的兩個(gè)定時(shí)器(如T0,T1)控制,在P3.7腳上輸出方波周期信號(hào),產(chǎn)生樂(lè)音,通過(guò)矩陣鍵盤(pán)按鍵產(chǎn)生不同的音符,由此操作人員可以隨心所欲的彈奏自己所喜愛(ài)的樂(lè)曲,當(dāng)不想彈奏時(shí)通過(guò)按放歌鍵可以演奏事先存放在單片機(jī)中的幾首動(dòng)聽(tīng)的曲子供消遣。當(dāng)歌曲演奏完時(shí),通過(guò)按復(fù)位鍵便可回到初始狀態(tài),這樣就做出了一臺(tái)微型電子琴。由于一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。樂(lè)曲中,每一音符對(duì)應(yīng)著確定的頻率,我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)?lè)曲中的所有常數(shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。電子琴?gòu)椬嗖糠郑簩?shí)際上就是把每個(gè)按鍵所對(duì)應(yīng)的值經(jīng)過(guò)處理后發(fā)給單片機(jī),再在單片機(jī)內(nèi)把數(shù)字當(dāng)作指針指向所對(duì)應(yīng)的音符。該系統(tǒng)通過(guò)電子琴按鍵隨意鍵入所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過(guò)識(shí)別,解碼輸出音符,在揚(yáng)聲器中發(fā)出有效的聲音。通過(guò)這樣可以不斷的彈奏音樂(lè)。嵌入式電路,按鍵電路,LED顯示電路和兩個(gè)功能鍵組成,通過(guò)功能鍵可以選擇播放音樂(lè)。其主要模塊由五個(gè)部分組成,具體關(guān)系如圖2-1所示:功能選擇(彈奏/播放)功能選擇(彈奏/播放)4X4矩陣式鍵盤(pán)音頻51單片機(jī)4X4矩陣式鍵盤(pán)音頻51單片機(jī)AT89C51LED顯示LED顯示圖2-1帶存儲(chǔ)的電子琴框圖上圖即為此次設(shè)計(jì)中的電子琴的硬件結(jié)構(gòu)圖,我們運(yùn)用單片機(jī)的最小系統(tǒng),用P0口的高四位和P0口的低四位作4X4矩陣式按鍵的接口,用P2口作數(shù)碼管的接口,用P3.7作信號(hào)輸出口。具體模塊圖如下圖2-2圖2-2模塊圖電源模塊:為各個(gè)模塊提供電源。節(jié)拍顯示模塊:顯示每個(gè)按鍵的所發(fā)出的不同音調(diào)的節(jié)拍值。節(jié)拍指示電路:不同的節(jié)拍LED又接湊的跳動(dòng)。聲音輸出模塊:輸出每個(gè)按鍵所發(fā)出的不同音調(diào),輸出每首歌曲的聲音。按鍵輸入模塊:輸入各個(gè)不同的音調(diào)。單片機(jī)主控模塊:協(xié)調(diào)控制各個(gè)模塊的工作。音量調(diào)節(jié)電路:調(diào)節(jié)電路音量大小。3硬件簡(jiǎn)介圖3-1AT89C513.1AT89C513.1.1AT89C51簡(jiǎn)介[4]AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖3-2所示。3.1.2主要的功能特性·與MCS-51兼容
·4K字節(jié)可編程閃爍存儲(chǔ)器
·壽命:1000寫(xiě)/擦循環(huán)
·數(shù)據(jù)保留時(shí)間:10年
·全靜態(tài)工作:0Hz-24MHz
·三級(jí)程序存儲(chǔ)器鎖定
·128×8位內(nèi)部RAM
·32可編程I/O線(xiàn)
·兩個(gè)16位定時(shí)器/計(jì)數(shù)器
·5個(gè)中斷源
·可編程串行通道
·低功耗的閑置和掉電模式
·片內(nèi)振蕩器和時(shí)鐘電路3.1.3管腳功能[5]VCC:供電電壓。
GND:接地。
P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下表所示:
口管腳備選功能
P3.0RXD(串行輸入口)
P3.1TXD(串行輸出口)
P3.2/INT0(外部中斷0)
P3.3/INT1(外部中斷1)
P3.4T0(記時(shí)器0外部輸入)
P3.5T1(記時(shí)器1外部輸入)
P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)
P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。
/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來(lái)自反向振蕩器的輸出。
振蕩器特性:
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。3.1.4芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。
3.2矩陣式鍵盤(pán)的識(shí)別和顯示3.2.1.矩陣式鍵盤(pán)的結(jié)構(gòu)與工作原理[6]在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤(pán)中,每條水平線(xiàn)和垂直線(xiàn)在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線(xiàn)用于鍵盤(pán)多出了一倍,而且線(xiàn)數(shù)越多,區(qū)別越明顯,比如再多加一條線(xiàn)就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線(xiàn)則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。
矩陣式結(jié)構(gòu)的鍵盤(pán)顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線(xiàn)通過(guò)電阻接正電源,并將行線(xiàn)所接的單片機(jī)的I/O口作為輸出端,而列線(xiàn)所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線(xiàn)輸出是低電平,一旦有鍵按下,則輸入線(xiàn)就會(huì)被拉低,這樣,通過(guò)讀入輸入線(xiàn)的狀態(tài)就可得知是否有鍵按下了。具體的識(shí)別及編程方法如下所述。3.2.2.矩陣式鍵盤(pán)的按鍵識(shí)別方法[7]確定矩陣式鍵盤(pán)上何鍵被按下介紹一種“行掃描法”。
行掃描法行掃描法又稱(chēng)為逐行(或列)掃描查詢(xún)法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤(pán),介紹過(guò)程如下。
1、判斷鍵盤(pán)中有無(wú)鍵按下將全部行線(xiàn)Y0-Y3置低電平,然后檢測(cè)列線(xiàn)的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線(xiàn)與4根行線(xiàn)相交叉的4個(gè)按鍵之中。若所有列線(xiàn)均為高電平,則鍵盤(pán)中無(wú)鍵按下。
2、判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線(xiàn)置為低電平,即在置某根行線(xiàn)為低電平時(shí),其它線(xiàn)為高電平。在確定某根行線(xiàn)位置為低電平后,再逐行檢測(cè)各列線(xiàn)的電平狀態(tài)。若某列為低,則該列線(xiàn)與置為低電平的行線(xiàn)交叉處的按鍵就是閉合的按鍵。3.2.3.鍵盤(pán)接口必須具有的4個(gè)基本功能[8]。(1)去抖動(dòng):每個(gè)按鍵在按下或松開(kāi)時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開(kāi)抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開(kāi)狀態(tài)才能保證識(shí)別正確無(wú)誤。去抖問(wèn)題可通過(guò)軟件延時(shí)或硬件電路解決。(2)防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒(méi)有釋放又有新的按鍵按下時(shí)產(chǎn)生的問(wèn)題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測(cè)到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。(3)被按鍵識(shí)別:如何識(shí)別被按鍵是接口解決的主要問(wèn)題,一般可通過(guò)軟硬結(jié)合的方法完成。常用的方法有行掃描法和線(xiàn)反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤(pán)逐行掃描,通過(guò)檢測(cè)到的列輸出狀態(tài)來(lái)確定閉合鍵,為此,需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線(xiàn)反轉(zhuǎn)法的基本思想是通過(guò)行列顛倒兩次掃描來(lái)識(shí)別閉合鍵,為此需要提供兩個(gè)可編程的雙向輸入/輸出端口。(4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個(gè)鍵盤(pán)編碼表,通過(guò)查表獲得被按鍵的鍵碼。用AT89C51的并行口P0接4×4矩陣鍵盤(pán),以P0.0-P0.3作輸入線(xiàn),以P0.4-P0.7作輸出線(xiàn);在數(shù)碼管上顯示每個(gè)按鍵的“0-F”序號(hào)。圖3-24×4LED數(shù)碼管【數(shù)碼管的分類(lèi)】數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。圖3-3為2位數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)圖3-3LED數(shù)碼管碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線(xiàn)GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。見(jiàn)圖3-4。【數(shù)碼管的驅(qū)動(dòng)方式】圖3-4數(shù)碼管數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。
①靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。
②動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線(xiàn)控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。3.3硬件設(shè)計(jì)圖圖3-5利用PROTEUS仿真設(shè)計(jì)的硬件電路圖圖3-6電路圖圖中的矩陣鍵盤(pán),從上到下,從左到右,依次為鍵盤(pán)的0-15,在數(shù)碼管上顯示時(shí)順序?yàn)?-9和A-F,在按功能鍵時(shí),圖上的兩個(gè)指示燈會(huì)根據(jù)功能的不同實(shí)現(xiàn)亮/滅狀態(tài)的切換。在播放內(nèi)置音樂(lè)時(shí),指示燈在一定程度上能指示出曲目的音符。4軟件設(shè)計(jì)4.1整體程序處理流程圖開(kāi)始開(kāi)始鍵盤(pán)掃描程序T0初始化并開(kāi)中斷允許T0中斷T1初始化并開(kāi)中斷允許T1中斷鍵盤(pán)掃描程序T0初始化并開(kāi)中斷允許T0中斷T1初始化并開(kāi)中斷允許T1中斷有鍵按下否否有鍵按下否延時(shí)去抖動(dòng)識(shí)別按鍵功能延時(shí)去抖動(dòng)識(shí)別按鍵功能是是否彈奏鍵是否彈奏鍵播放鍵否播放鍵是取相應(yīng)的音符碼裝入T1根據(jù)按鍵功能裝入相應(yīng)音符值到T0取相應(yīng)的音符碼裝入T1根據(jù)按鍵功能裝入相應(yīng)音符值到T0啟動(dòng)T1啟動(dòng)T0啟動(dòng)T1啟動(dòng)T0按鍵釋放成功否按鍵釋放成功否按鍵釋放成功否按鍵釋放成功否停止T0工作停止T1工作停止T0工作停止T1工作 圖4-1整體程序流程圖在電子琴開(kāi)始工作時(shí),系統(tǒng)默認(rèn)電子琴處于彈奏狀態(tài),歌曲選擇功能鍵的目的是賦予矩陣鍵盤(pán)第二功能,即對(duì)系統(tǒng)內(nèi)置的歌曲進(jìn)行選擇,在放歌時(shí)能且只能通過(guò)彈奏/停止鍵來(lái)結(jié)束放歌,選歌時(shí)必須先按下歌曲選擇功能鍵,在通過(guò)矩陣鍵盤(pán)來(lái)選擇和切換曲目。以下是彈奏程序流程圖4-2彈奏子程序彈奏子程序開(kāi)中斷并允許中斷設(shè)定定時(shí)器工作方式開(kāi)中斷并允許中斷設(shè)定定時(shí)器工作方式取鍵值取鍵值根據(jù)鍵值查音律表根據(jù)鍵值查音律表給定時(shí)器T0賦值給定時(shí)器T0賦值開(kāi)始計(jì)時(shí)開(kāi)始計(jì)時(shí)進(jìn)入中斷進(jìn)入中斷CPLP3.0P3.0CPLP3.0P3.0退出中斷退出中斷延時(shí)延時(shí)返回鍵盤(pán)掃描程序返回鍵盤(pán)掃描程序圖4-2彈奏程序流程圖4.2I/O并行口直接驅(qū)動(dòng)LED顯示把“AT89C51”區(qū)域中的P2.0/A8-P2.7/A15端口用8芯排線(xiàn)連接到一位數(shù)碼管的a-h(huán)端口上;要求:P2.0/A8與a相連,P2.1/A9與b相連,P2.2/A10與c相連,……,P2.7/A15與h表4-1字形碼表及對(duì)應(yīng)的音符10x3f低5SO90x7f中6LA20x06低6LAA0x6f中7SI30x5b低7SIb0x77高1DO40x4f中1DOC0x7c高2RE50x66中2RED0x39高3M60x6d中3ME0x5e高4FA70x7d中4FAF0x79高5SO80x07中5SO00x71高6LA在本設(shè)計(jì)中,數(shù)碼管的顯示通過(guò)P2=DSY_CODE[k]這句語(yǔ)言來(lái)查表并輸出,實(shí)現(xiàn)音符的顯示。4.3音樂(lè)播放設(shè)計(jì)一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率[9],這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.7反相,然后重復(fù)計(jì)時(shí)再反相。就可在P3.7引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下[10],改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:設(shè)K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計(jì)數(shù)值。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr低音DO的T=65536-500000/262=63628中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058單片機(jī)12MHZ晶振,高中低音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表4-1所示表4-2音符頻率表音符頻率(HZ)簡(jiǎn)譜碼(T值)音符頻率(HZ)簡(jiǎn)譜碼(T值)休止00中4FA69864820低1DO26263628中5SO78464898低2RE29463835中6LA88064968低3M33064021中7SI98865030低4FA34964103高1DO104665058低5SO39264260高2RE117565110低6LA44064400高3M131865157低7SI49464524高4FA139765178中1DO52364580高5SO156865217中2RE58764684高6LA176065252中3M65964777高7SI196765283我們要為這個(gè)音符建立一個(gè)表格,單片機(jī)通過(guò)查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù)
uintcodetab[]={0,63628,63835,64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283}音樂(lè)的音拍,一個(gè)節(jié)拍為單位(C調(diào))(如表4-2所示)表4-3曲調(diào)值表曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成。在這個(gè)程序中用到了兩個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成的。其中T0用來(lái)產(chǎn)生音符頻率,T1用來(lái)產(chǎn)生音拍。圖4-3音頻播放流程圖4.4放歌子程序流程圖圖4-4放歌子程序流程圖自動(dòng)播放音樂(lè)程序自動(dòng)播放音樂(lè)程序A<<0,DPTR<<歌譜地址A<<0,DPTR<<歌譜地址開(kāi)中斷,設(shè)定定時(shí)器T1工作模式開(kāi)中斷,設(shè)定定時(shí)器T1工作模式取簡(jiǎn)譜碼取簡(jiǎn)譜碼取該音符的節(jié)拍碼取該音符的節(jié)拍碼STOPA=0YSTOPA=0N返回鍵盤(pán)掃描休止符A=0FFHY返回鍵盤(pán)掃描休止符A=0FFHN查音律表,給定時(shí)器賦值查音律表,給定時(shí)器賦值INCDPTRINCDPTR開(kāi)始計(jì)時(shí)開(kāi)始計(jì)時(shí)進(jìn)入中斷進(jìn)入中斷CPL3.0CPL3.0退出中斷退出中斷延時(shí)延時(shí)圖4-5自動(dòng)播放歌曲程序流程圖該程序?qū)崿F(xiàn)的是單首曲目循環(huán)播放,無(wú)法在程序內(nèi)部實(shí)現(xiàn)歌曲的切換。只能通過(guò)外部功能鍵來(lái)實(shí)現(xiàn)曲目及功能的切換,是該電子琴設(shè)計(jì)的一個(gè)缺憾。相信如果有更多的時(shí)間來(lái)進(jìn)行調(diào)試和設(shè)計(jì),這個(gè)設(shè)計(jì)會(huì)更加好。5調(diào)試5.1Proteus簡(jiǎn)介Proteus(海神)的ISIS是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫(kù)齊全,使用方便,是不可多得的專(zhuān)業(yè)的單片機(jī)軟件仿真系統(tǒng)。
該軟件的特點(diǎn):
①全部滿(mǎn)足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類(lèi)產(chǎn)品中具有明顯的優(yōu)勢(shì)。
②具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS-232動(dòng)態(tài)仿真、C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。
③目前支持的單片機(jī)類(lèi)型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。
④支持大量的存儲(chǔ)器和外圍芯片。總之該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大,可仿真51、AVR、PIC。5.2keil簡(jiǎn)介單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠(chǎng)商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜牧飼料企業(yè)服務(wù)體系建設(shè)與優(yōu)化考核試卷
- 磷肥產(chǎn)品標(biāo)準(zhǔn)與檢測(cè)方法考考核試卷
- 紡織原料的綠色采購(gòu)與可持續(xù)利用考核試卷
- 干部休養(yǎng)所服務(wù)質(zhì)量管理考核試卷
- 天津現(xiàn)代職業(yè)技術(shù)學(xué)院《鋼琴基礎(chǔ)(1)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海農(nóng)林職業(yè)技術(shù)學(xué)院《粵劇藝術(shù)賞析》2023-2024學(xué)年第二學(xué)期期末試卷
- 酒泉職業(yè)技術(shù)學(xué)院《馬克思主義與社會(huì)方法論》2023-2024學(xué)年第二學(xué)期期末試卷
- 南充科技職業(yè)學(xué)院《西班牙語(yǔ)精讀五》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西老區(qū)職業(yè)技術(shù)學(xué)院《生物醫(yī)學(xué)傳感檢測(cè)系統(tǒng)設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新野縣2025年數(shù)學(xué)三下期末質(zhì)量檢測(cè)試題含解析
- 2023煤炭礦區(qū)地質(zhì)勘查成果總結(jié)報(bào)告編寫(xiě)規(guī)范
- 職業(yè)病危害與防治培訓(xùn)PPT模板(含完整內(nèi)容)13
- 新員工入職消防安全教育培訓(xùn)記錄
- 《新編藥學(xué)實(shí)驗(yàn)教程(上、下)》讀書(shū)筆記模板
- 幼小銜接工作指導(dǎo)手冊(cè)【完整版】
- 浙江省藝術(shù)特長(zhǎng)生A級(jí)基礎(chǔ)樂(lè)理知識(shí)
- 分層總和法沉降計(jì)算表格
- stm32f103c8t6最小系統(tǒng)客戶(hù)-中文手冊(cè)
- 英語(yǔ)-外研(一年級(jí)起點(diǎn))-四年級(jí)下冊(cè)-學(xué)生單詞默寫(xiě)專(zhuān)用表格
- 醫(yī)療機(jī)構(gòu)消毒技術(shù)規(guī)范(2023年版)
- 完整版各城基本風(fēng)壓
評(píng)論
0/150
提交評(píng)論