




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算硬件基礎(chǔ)課程設(shè)計摘要計算機硬件技術(shù)基礎(chǔ)課程設(shè)計 電子琴設(shè)計 學 院 名 稱: 自動化學院 目 錄摘 要I一、電子琴設(shè)計原理- 1 -1.1音階頻率對應(yīng)關(guān)系- 1 -1.2音階對應(yīng)頻率所轉(zhuǎn)換的十進制數(shù)- 1 -二、軟件設(shè)計總體方案- 2 -2.1鍵盤掃描程序:- 2 -2.2功能轉(zhuǎn)移程序:- 2 -2.3琴鍵處理程序:- 2 -2.4自動播放歌曲程序:- 2 -三、單元模塊介紹- 3 -3.1 8255A簡介- 3 -3.2 8254簡介- 3 -3.3 鍵盤簡介- 4 -3.4 揚聲器控制模塊- 5 -四、系統(tǒng)概覽- 6 -4.1 程序流程圖- 6 -4.2 系統(tǒng)電路圖- 7 -4.3實物
2、電路圖接線- 7 -4.4按鍵操作說明- 8 -五、總 結(jié)- 9 -六、附錄- 10 -6.1心得體會- 10 -6.1.1 心得體會(庾暢):- 10 -6.1.2 心得體會(李嵐臻):- 11 -6.1.3 心得體會(周亞龍):- 12 -6.1.4 心得體會(楊磊)- 13 - 6.2程 序- 15 -I摘 要 計算機技術(shù)的飛速發(fā)展,加快了人類進入信息社會的步伐,改變了世界,改變了人們的工作、學習和生活,對社會發(fā)展產(chǎn)生了廣發(fā)而深遠的影響。計算機技術(shù)在其他領(lǐng)域中的應(yīng)用,極大地促進了個學科的發(fā)展。有效掌握計算機技術(shù)保證了我們可以掌握最先進、最有效的研究開發(fā)手段,并影響我們所從事學科的發(fā)展。因
3、此,計算機技術(shù)基礎(chǔ)是我們工科大學生必須掌握的、最重要的基礎(chǔ)之一。電子琴是高科技在音樂領(lǐng)域的一個代表,它是古典文化與現(xiàn)代文明的一個濃縮體。它不但可以幫助我們的音樂教師進行傳統(tǒng)音樂文化的教育教學工作,而且由于它又具備現(xiàn)代音樂,特別是電子音樂、電腦音樂的基本結(jié)構(gòu)、特征,因而使我們的教師在進行現(xiàn)代音樂、電子音樂、電腦音樂的教學時,更直接、更簡便。我們此次計算機硬件技術(shù)課程設(shè)計便是利用計算機硬件技術(shù)基礎(chǔ)課程中所學到的知識來設(shè)計一個具有若干功能的電子琴!關(guān)鍵字:計算機硬件技術(shù) 電子琴 具體分工:庾暢:軟件編寫李嵐臻:軟件編寫及修改周亞龍:硬件接線設(shè)計楊磊:資料收集及報告撰寫I一、電子琴設(shè)計原理 一首音樂是
4、許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了。當然對于8254來說,產(chǎn)生不同的頻率非常方便,我們可以利用8254的定時/計數(shù)器來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。該電子琴以8255、8254作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有7個彈奏按鍵、1個暫停鍵/預(yù)制播放鍵、1個終止鍵和揚聲器。1.1音階頻率對應(yīng)關(guān)系DOREMEFASOLASI低261.626293.665329.629349.228391.995440493.885中523.251587.330
5、659.255698.456783.991880987.767高1046.5021174.6591318.5201396.9131567.98217601975.533 表1 音階頻率對應(yīng)表 在本設(shè)計中,實驗箱采用47KHZ的時鐘頻率,所以對應(yīng)音階頻率所對應(yīng)的十進制數(shù)為X=470000/Y,Y為不同音階所對應(yīng)的頻率,最終轉(zhuǎn)換如下表所示1.2音階對應(yīng)頻率所轉(zhuǎn)換的十進制數(shù)DOREMEFASOLASI低18016014213412010795中90807167605348高45403634302724表2 音階對應(yīng)十進制數(shù)表21計算硬件基礎(chǔ)課程設(shè)計軟件設(shè)計總體方案- 21 -二、軟件設(shè)計總體方案2.
6、1鍵盤掃描程序: 檢測是否有鍵按下,有鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無鍵按下,則返回鍵盤掃描程序繼續(xù)檢測。2.2功能轉(zhuǎn)移程序: 對檢測到得按鍵值進行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們設(shè)計的功能程序有兩種,即音色調(diào)節(jié)功能和自動播放樂曲功能。2.3琴鍵處理程序: 根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,使發(fā)出相應(yīng)頻率的聲音。2.4自動播放歌曲程序: 檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經(jīng)存放好的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有鍵按下。計算硬件基礎(chǔ)課程設(shè)計單元模塊介紹三、單元模
7、塊介紹3.1 8255A簡介 8255A是一種使用單一的+5V電源、40引腳雙列直插式的大規(guī)模集成電路芯片,并且是一種通用可編程并行I/O接口芯片。8255內(nèi)部有3個8位的輸入、輸出數(shù)據(jù)端口,即A口,B口和C口。它們均可通過編程設(shè)定為輸入、輸出,且都有數(shù)據(jù)鎖存功能。C口可通過編程分為2個4位的輸入/輸出口,每個4位口均可單獨設(shè)定為輸入口或輸出口,用于傳送數(shù)據(jù)。且根據(jù)其控制字的不同,8255有三種不同的工作方式,方式0,方式1,方式2。在本次設(shè)計中8255采用方式0 :基本輸入輸出方式。圖1 8255A的方式控制字 3.2 8254簡介 8254是可編程定時器/計數(shù)器。每個8254芯片有3個獨立
8、的16位計數(shù)器通道,每個計數(shù)器有6種工作方式,都可以按二進制或十進制計數(shù)。8254的方式控制字有兩個,一個用來設(shè)置計數(shù)器的初值,稱為控制字。另一個用來設(shè)置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標識位來區(qū)分。控制字格式如下圖圖2 8254的方式控制字3.3 鍵盤簡介 利用8255C口作為按鍵接入口,形成4×4組成16個按鍵矩陣,如下圖所示圖3 鍵盤接線圖3.4 揚聲器控制模塊 該揚聲器控制模塊由揚聲器、與門、放大器組成,與門將來自8255和8254 的信號相與后經(jīng)放大器、濾波電容送到揚聲器。圖4 揚聲器模塊電路圖 計算硬件基礎(chǔ)課程設(shè)計系統(tǒng)概覽四、系統(tǒng)概覽4.1 程序流程
9、圖圖5 程序流程圖4.2 系統(tǒng)電路圖圖6 系統(tǒng)電路圖4.3實物電路圖接線 PC4-PC7接鍵盤列信號,PC0-PC3接鍵盤行圖7 電子琴實物接線圖4.4按鍵操作說明通過8255進行鍵盤掃描獲取按鍵信息,根據(jù)所按的鍵17來對應(yīng)不同的音調(diào)以及兩個開關(guān)k1、k2來控制音階,并定義初始為中音,并且當K1為1,K2為0的時候為低音,K2為1,K1為0的時候為高音,其他情況均視作中音。D鍵為播放/暫停鍵,E鍵終止。計算硬件基礎(chǔ)課程設(shè)計總結(jié)五、總 結(jié)為期2周的實習結(jié)束了,我們很好的完成了設(shè)計任務(wù)。期間,我們學到了很多寶貴的經(jīng)驗和相關(guān)的計算機硬件技術(shù)知識。在這次的計算機硬件技術(shù)基礎(chǔ)課程設(shè)計中,匯編語言程序的編
10、寫以及原理圖的設(shè)計占了很重要的部分。對于零散的單元,通過硬件電路搭建、編程、調(diào)試,才能形成一個完整的系統(tǒng)。我們必須深入到工程實踐中,畢竟實踐出真知。同時,在本次課程設(shè)計中,我們還必須將書本中的知識很好的應(yīng)用到實踐中去。經(jīng)過課程設(shè)計,在查閱資料的過程中,學習了基于8254、8255來進行實物設(shè)計,將所學真正地應(yīng)用實踐之中,這對于以后的學習和工作都有很大的益處。在設(shè)計的過程中,也遇到了一些困難,比如開始的時候,由于音頻的計算不準確,導(dǎo)致彈奏的出來的聲音很刺耳,在解決問題的過程中,對于音頻有了深刻的認識,在后期,在增加功能模塊時,由于程序存在的缺陷花費了大量的時間來調(diào)試程序和硬件電路?,F(xiàn)在課程設(shè)計要
11、結(jié)束了,但它的影響卻留存長久,它讓我們自己動手,品嘗成功的喜悅,激發(fā)了我們對實踐的興趣和熱情,在很大程度上鼓舞了我們的學習決心,增強了我們的自信心,讓我們以更大的勇氣面對以后的學習和人生。通過這次課程設(shè)計,我深刻的認識到了,理論知識和實踐相結(jié)合是教學環(huán)節(jié)中相當重要的一個環(huán)節(jié),只有這樣才能提高我們的實際操作能力,并且從中培養(yǎng)我們獨立思考、用于克服困難、團隊協(xié)作的精神。計算硬件基礎(chǔ)課程設(shè)計附錄 六、附錄6.1心得體會6.1.1 心得體會():開學第一周就進入到計算機硬件的課程設(shè)計之中,由于我平時喜愛音樂,所以這次計算機硬件課程設(shè)計我們組做的是“電子琴”這個項目,并且由我擔任組長。剛拿到這個課題的時
12、候,感覺還是比較簡單,因為這個項目只需要通過按鍵并且配合8255,8254放出對應(yīng)的頻率并且驅(qū)動揚聲器即可。所以大體的思路還是比較清晰,但是,當我們實際著手開始干這個項目的時候,還是需要注意很多細節(jié)的。由于我和組上另外一個同學負責編程,除了要設(shè)計基本功能以外,必須要考慮到擴展功能的設(shè)計,滿足基本功能的前提下,要為擴展功能留下足夠的空間,舉個例子,我們這個電子琴的設(shè)計要用到4X4的鍵盤,對于鍵盤的行信號和列信號的處理,就有一個值得注意的地方,最開始我寫程序的時候,我將列信號接入第5片8255的A口,將行信號接入第5片8255的C口,按照理論上來說,這樣寫沒有什么問題,但是這里有一個小問題,光是我
13、的鍵盤,我就占用了2個口,如果需要擴展的話,也許我的口就不夠用。所以程序優(yōu)化,是我們這幾天考慮的一個非常重要的問題。另外,由于我們電子琴設(shè)計到3組音高,即低音,中音和高音,所以設(shè)計的時候需要設(shè)計一個切換開關(guān),剛開始設(shè)計的時候我們是用的ABC按鍵作為低音,中音和高音的切換開關(guān)。即A按鍵為低音鍵,B按鍵做為中音鍵,C按鍵做為高音鍵,按下對應(yīng)的按鍵然后再按1234567 就能發(fā)出不同音高的音。但是實際的電子琴中,低音和高音要做到無縫對接,也就是說同樣是一個1.要在低音,中音,高音之間自由切換??紤]到這一點,我們又對程序做了進一步的優(yōu)化。其實,這次的課程設(shè)計對我最大的一個考驗,就是要學會用如何利用捷徑
14、,這個電子琴如果不用表,或者一些循環(huán)功能的話,一字一眼的寫,也能做,但是可能代碼段要寫幾百行,但是我們用了查表和一些適當?shù)难h(huán)后,100來行就可以完成了。而且可讀性和可更改性也大大增強。另外,通過這個課程設(shè)計,我還有一點體會,就是做軟件和硬件綜合這種情況,一定要從實際出發(fā),這個功能實用不實用,是否是人性化的。這一定非常重要,只有注重細節(jié),盡把各種情況都考慮到,才能做出比較完善的產(chǎn)品。6.1.2 心得體會(): 我們小組這次硬件課設(shè)的題目是做一個有聲電子琴,利用的是硬件實驗室的實驗機器來完成該次課設(shè),在這次課程設(shè)計中我主要參與的是部分程序的編輯,程序的優(yōu)化,以及調(diào)試工作。根據(jù)這次所給的實驗設(shè)備,
15、我們大致的確定了整個有聲電子琴的發(fā)聲原理,通過8255進行鍵盤掃描獲取按鍵信息,根據(jù)所按的鍵17來對應(yīng)不同的音調(diào)以及兩個開關(guān)k1、k2來控制音階,將對應(yīng)的計數(shù)初值送給8254這樣在對應(yīng)的時鐘頻率下,8254就會輸出我們所想要的頻率的信號,將這個信號傳給外接的小喇叭的電路板上與門的一個輸入口,再給一個發(fā)聲使能信號到與門另一個輸入口,將與門的輸出經(jīng)過放大電路送給小喇叭實現(xiàn)發(fā)聲。根據(jù)有聲電子琴的工作原理,便可以對8255的接口進行分配,其中C口進行鍵盤掃描B口送發(fā)聲使能信號,A口讀音階變換的信號。這樣17這七個按鍵每個按鍵將會對應(yīng)高中低三個不同的音階,意味對應(yīng)三個不同的計數(shù)初值,為了使程序段顯得精簡
16、,所以在程序的最開始建立了三個表對應(yīng)著不同的三個不同音階的各個音的計數(shù)初值,用查表的方式來獲取相應(yīng)的計數(shù)初值。在調(diào)試的基本功能的過程中,主要出現(xiàn)的問題是由于實驗軟件不支持數(shù)據(jù)段的定義,所以存放計數(shù)初值的三個表需要在程序段里中建立;還有就是為了使得在按著某一個發(fā)聲鍵的同時還能改變音階,就放棄了原本通過A、B、C三個按鈕來切換音階的方案,改用K1和K2兩個開關(guān)來完成,并定義初始為中音,并且當K1為1,K2為0的時候為低音,K2為1,K1為0的時候為高音,其他情況均視作中音。在完成基礎(chǔ)功能之后我們便考慮加入拓展功能,即播放一段已經(jīng)保存了的曲調(diào),為了使得程序段簡單明了適用范圍廣,首先我們必須得將曲子中
17、的各種信息進行量化。對此主要分為兩個部分,一個是發(fā)聲的時間信息,一個是所發(fā)聲音的音調(diào)也就是頻率信息也可以說是對應(yīng)的計數(shù)初值,我們用16位來表示一個音符的信息,其中高八位的用來存放時間信息,具體為調(diào)用延時程序的次數(shù),當其為00時表示曲子已經(jīng)播放結(jié)束;低八位用來存放對應(yīng)的計數(shù)初值,當高八位不為00,低八位為00時代表著休止符。我們用SI來指向這個表,用以讀取表內(nèi)的信息,當暫停的時候SI的值保持不變,當停止的時候SI會被重置??傮w來說這次的課程設(shè)計內(nèi)容并不困難,當然在這次的課程設(shè)計中我也鞏固了之前所學的硬件知識,鞏固了用匯編語言編程的能力,將理論運用到實際中,一定程度培養(yǎng)了我的動手能力和發(fā)現(xiàn)問題解決
18、問題的能力。6.1.3 心得體會():我們組在這一次的的課程設(shè)計中選擇的課題是有聲電子琴設(shè)計。開始拿到這個任務(wù)的時候腦子里是比較茫然的,因為不知道該從什么地方入手,不僅要通過芯片和代碼讓喇叭發(fā)聲,還要能完整播放出一首歌曲,這個挑戰(zhàn)確實不小。理清思路后,我們自己根據(jù)所選課題查資料,了解電子琴的發(fā)音原理,發(fā)現(xiàn)一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了。當然對于8254來說,產(chǎn)生不同的頻率非常方便,我們可以利用8254的定時/計數(shù)器來產(chǎn)生這樣方波頻率信號。整理出程序設(shè)計的大概思路。然后,根據(jù)思路,寫程序。因為原來對中斷那
19、部分掌握的不是很好,通過這次設(shè)計,大家仔細閱讀了教科書,鞏固了中斷的內(nèi)容并對其又有了新的認識。對簡易電子琴的課程設(shè)計,不僅將理論很好地應(yīng)用到實際當中去,而且還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學會將理論很好地聯(lián)系實際,并不斷地去開動自己的大腦,做自己力所能及的,別人卻沒想到的事。不斷地戰(zhàn)勝別人,超越前人。同時,更重要的是,我在這一設(shè)計過程中,學會了堅持不懈,不輕易言棄。設(shè)計過程,也好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會為我們而敲響。 在這次設(shè)計過程中,我們發(fā)現(xiàn)做事情需要綜
20、合運用知識的,要體會到學以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。理論結(jié)合實際,思想依靠操作。我們學習的理論知識需要加以運用到實際才算學成。 通過這次課程設(shè)計,我們鞏固和加強了計算機硬件技術(shù)基礎(chǔ)理論知識,了解了電子產(chǎn)品的研發(fā)過程,掌握了電路的調(diào)試方法及故障排除方法。在整個設(shè)計過程中,我非常感謝我的老師,我的同伴,還有陌生的網(wǎng)友,他們給了我許多指導(dǎo)性的意見。最后,感謝學校能給我們提供這樣的機會,讓我們把理論與實際結(jié)合,加強了動手能力。本次課程設(shè)計必將成為自己以后學習道路上的寶貴的實踐經(jīng)驗。6.1.4 心得體會()這次計算機硬件技
21、術(shù)課程設(shè)計我們小組所選的題目是“電子琴”,小組成員由我*組成,*作為主力,我和*作為輔助,大家齊心協(xié)力最終提前高效地完成了課程設(shè)計。計算機技術(shù)的飛速發(fā)展,加快了人類進入信息社會的步伐,改變了世界,改變了人們的工作、學習和生活,對社會發(fā)展產(chǎn)生了廣發(fā)而深遠的影響。計算機技術(shù)在其他領(lǐng)域中的應(yīng)用,極大地促進了個學科的發(fā)展。有效掌握計算機技術(shù)保證了我們可以掌握最先進、最有效的研究開發(fā)手段,并影響我們所從事學科的發(fā)展。因此,計算機技術(shù)基礎(chǔ)是我們工科大學生必須掌握的、最重要的基礎(chǔ)之一。我們都知道,當物體振動時,能夠發(fā)出聲音。振動的頻率不同,聲音的音調(diào)就不同。在電子琴里,雖然沒有振動的弦、簧、管等物體,但是可
22、以通過相關(guān)的硬件和程序便可以產(chǎn)生相應(yīng)的音階。此次,我們的電子琴設(shè)置了三組音階,每組七個,兩個轉(zhuǎn)換開關(guān),分別在低、中、高三組音階里面進行切換。同時增加了功能,內(nèi)置了歌曲,可以進行自動播放和暫停等功能?;仡櫞舜斡嬎銠C硬件課程設(shè)計,我感觸很多,的確,從選題到定稿,從理論到實踐,在將近兩個星期的日子里,大家付出了很多,但是大家都相互學習到了很多東西。同時不僅鞏固了以前所學到的東西,還學習到了很多書本上沒有的東西。通過這次課程設(shè)計,使我懂得了理論與實踐相結(jié)合的重要性,理論是實踐的基礎(chǔ),實踐是理論的應(yīng)用,只有兩者的完美結(jié)合,才能將所學真正地應(yīng)用于社會生活,并為社會服務(wù),從而不斷提高自己的實際動手能力和思維
23、創(chuàng)新能力。在設(shè)計過程中,也遇到了不少困難,但是大家都很努力地查資料,學習,和其他同交流,并最終解決問題。在這次課程設(shè)計中,確實我做的工作比較少,的確,我對這計算機硬件技術(shù)掌握地不是很好,我很感激我的組員沒有拋棄我,雖然有些東西我不懂,他們還是很耐心給我講解,能幫助他們做的就是收集資料和撰寫報告。在這兩周的實習期間,也增進了我們的交流,增進了我們的友誼,我們是一個整體,可以相互學習,相互支持,在此,我對我的隊員表示感謝,另外也感謝那些給我們幫助的同學和老師。6.2程 序.486 CTRL_8254 EQU 30CH ;8254宏定義 CUNT0 EQU 300H CUNT1 EQU 304H C
24、TRL_8255 EQU 32CH ;8255宏定義 PORTA EQU 320H PORTB EQU 324H PORTC EQU 328H CODE SEGMENT USE16 ASSUME CS:CODE ORG 2000H BEG: JMP START TABLE1 DB 180,160,142,134,120,107,95 TABLE2 DB 90,80,71,67,60,53,48 TABLE3 DB 45,40,36,34,30,27,24 ;建立"低""中""高"三組音階 數(shù)據(jù)段 TABLE4 DW 016BH,015
25、FH,035AH,015FH,025AH,0247H,065FH,018EH,018EH,036BH,0178H,026BH,025AH,0678H,028EH, DW 0386H,018EH,0286H,025AH,048EH,0100H,015AH,015AH,015AH,035FH,017FH,027FH,025FH,045FH,0100H, DW 016BH,015FH,035AH,015FH,025AH,0247H,065FH,018EH,018EH,036BH,0178H,026BH,025AH,0678H,01A0H, DW 018EH,0286H,015AH,025FH,035
26、AH,0250H,0147H,055AH,015AH,015FH,026BH,025FH,0271H,066BH,0000H ;“預(yù)置歌曲天空之城所用音符表” START: ;初始化8255和8254 LEA BX,TABLE2 LEA SI,TABLE4 MOV DX,CTRL_8255 MOV AL,91H ;PC4-PC7接鍵盤列信號,PC0-PC3 接鍵盤行信號 OUT DX,AL MOV DX,CTRL_8254 MOV AL,56H OUT DX,AL KSCAN: MOV AH,0EFH ;鍵盤從Q0列開始掃描 NXTCOL: MOV AL,AH MOV DX,PORTC OUT
27、 DX,AL ;送出列信號 MOV DX,PORTC IN AL,DX ;讀入行信號 AND AL,0FH CMP AL,0FH JNZ FNDKEY ;有鍵按下 ROL AH,1 ;調(diào)整列信號 JC NXTCOL JMP KSCAN ;沒有按鍵按下,等待掃描 FNDKEY: MOV CL,AHAND CL,0F0H ;以列信號為低4位,行信號為高4 位,形成按鍵特征值 OR CL,AL CALL DLYS0 JMP PANJIAN DLYS0 PROC ;按鍵延時 PUSH CX MOV CX, 8FH DLYS0_AGN: NOP LOOP DLYS0_AGN POP CX RET DLY
28、S0 ENDP PANJIAN: CMP CL,0EDH ;看是否是數(shù)字鍵1按下 JZ FASHENG1 CMP CL,0EBH ;看是否是數(shù)字鍵2按下 JZ FASHENG2 CMP CL,0E7H ;看是否是數(shù)字鍵3按下 JZ FASHENG3 CMP CL,0DEH ;看是否是數(shù)字鍵4按下 JZ FASHENG4 CMP CL,0DDH ;看是否是數(shù)字鍵5按下 JZ FASHENG5 CMP CL,0DBH ;看是否是數(shù)字鍵6按下 JZ FASHENG6 CMP CL,0D7H ;看是否是數(shù)字鍵7按下 JZ FASHENG7 CMP CL,7DH ;D預(yù)置歌曲播放/暫停 JZ YUZHI
29、 CMP CL,7BH ;E 終止歌曲 JZ CHONGZHI JMP KSCAN XIE_CUNT1: MOV DX,PORTA ;檢查音階A口的PA.0和PA.1接開關(guān),PA.0為1的時候代表低音, PA.1為1的時候代表高音其他情況 均視為中音 IN AL,DX AND AL,0FH CMP AL,01H JZ DIYIN CMP AL,02H JZ GAOYIN JMP ZHONGYIN XIE_CUNT2: MOV DX,CUNT1 ;取對應(yīng)的計數(shù)初值送給8254 MOV AL,AH XLAT OUT DX,AL MOV DX,PORTB ;給8254與門送高電平 MOV AL,0F
30、FH OUT DX,AL JMP KEYUP FASHENG1: MOV AH,00H JMP XIE_CUNT1 FASHENG2: MOV AH,01H JMP XIE_CUNT1 FASHENG3: MOV AH,02H JMP XIE_CUNT1 FASHENG4: MOV AH,03H JMP XIE_CUNT1 FASHENG5: MOV AH,04H JMP XIE_CUNT1 FASHENG6: MOV AH,05H JMP XIE_CUNT1 FASHENG7: MOV AH,06H JMP XIE_CUNT1 DIYIN: LEA BX,TABLE1 JMP XIE_CUN
31、T2 ZHONGYIN: LEA BX,TABLE2 JMP XIE_CUNT2 GAOYIN: LEA BX,TABLE3 JMP XIE_CUNT2 KEYUP: MOV AL,0 ;檢查按鍵是否彈起 MOV DX,PORTC OUT DX,AL ;送出列信號 IN AL,DX ;讀入行信號 AND AL,0FH CMP AL,0FH JNZ XIE_CUNT1 ;檢查音階是否改變 MOV DX,PORTB MOV AL,00H OUT DX,AL JMP KSCAN YUZHI: CALL KEYUPC ;判斷按鍵是否彈起 CALL BOYIN ;調(diào)用播放音樂子程序 CALL KEYUPC ;判斷按鍵是否彈起 JMP KSCAN
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫屋面彩鋼瓦施工方案
- “雙減”背景下多元評價對有效構(gòu)建初中體育課堂的作用研究
- 鄉(xiāng)村蘑菇售賣合同范例
- 俱樂部選手簽約合同范例
- 鐵塔土建施工方案
- 業(yè)務(wù)員聘用合同范例
- 內(nèi)部銷售承包協(xié)議合同范例
- 修復(fù)窯洞合同范例
- 農(nóng)戶房屋回收合同范例
- 木扶手欄桿施工方案
- 小學數(shù)學六年級下冊《鴿巢問題》作業(yè)設(shè)計
- 2024年安徽水利水電職業(yè)技術(shù)學院高職單招(英語/數(shù)學/語文)筆試題庫含答案解析
- 人教版五年級數(shù)學下冊第六單元分層作業(yè)設(shè)計
- 電路分析課程思政報告
- 千分尺課件(公開課用)
- 綠色飯店培訓課件
- 珍愛生命遠離毒品禁毒教育宣傳
- BI軟件工程師個人年終工作總結(jié)
- 口腔執(zhí)業(yè)醫(yī)師考試
- 人工智能在電力行業(yè)的應(yīng)用
- 軍事理論課(野外生存)-課件
評論
0/150
提交評論