微機原理與接口技術匯編語言,單片機設計簡易電子琴_第1頁
微機原理與接口技術匯編語言,單片機設計簡易電子琴_第2頁
微機原理與接口技術匯編語言,單片機設計簡易電子琴_第3頁
微機原理與接口技術匯編語言,單片機設計簡易電子琴_第4頁
微機原理與接口技術匯編語言,單片機設計簡易電子琴_第5頁
免費預覽已結(jié)束,剩余18頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理與接口技術課程設計報告電子琴(八音盒)1課題描述11. 1 DICE-8086k 試驗系統(tǒng)11. 2 8255 與 8253 結(jié)構(gòu)11.3功能說明42設計過程62.1硬件設計62.2軟件設計62.3系統(tǒng)原理說明73測試9總結(jié)10附錄代碼11參考文獻131課題描述隨著社會發(fā)展,計算機硬件技術越來越多的應用到生活中的各個領域,人們對軟硬件技 術結(jié)合開發(fā)出來的產(chǎn)品的要求越來越迫切,需求日益增加,如今用軟硬件結(jié)合設汁電子產(chǎn)品 已經(jīng)成為了一大時尚。本設計編寫的一個用開關模擬電子琴的程序,以8086作為處理器, 用8255接八個開關K1K8,做電子琴按鍵輸入,以8253控制揚聲器,撥動不同的開關,

2、 發(fā)出相應的音階。其中K1代表靜音,K2發(fā)si的音,K3發(fā)la的音,K4發(fā)sol的音,K5 發(fā)fa的音,K6發(fā)mi的音,K7發(fā)re的音,K8發(fā)do的音。開發(fā)工具:匯編語言;DICE-8086K實驗系統(tǒng)。1.1 DICE-8086k 試驗系統(tǒng)8086k試驗系統(tǒng)軟硬件配置完善,實驗電路采用分模塊,開放型設計,使實驗電路配巻 靈活,用戶可直接運用。系統(tǒng)的主要特點:1)采用主頻為4. 77mhz的8086cpu為主cpu,并以最小工作方式構(gòu)成系統(tǒng)2)配有兩片61c256靜態(tài)ram構(gòu)成系統(tǒng)的64k基本內(nèi)存,地址范用為OOOOOh-Offffh, 其中OOOOOh-oofffh監(jiān)控占用。3)自帶鍵盤,顯示

3、器,能夠獨立運行,為實驗程序調(diào)試帶來方便。4)提供標準rs232異步通訊口,以連接IBM-PC機。5)支持聯(lián)機與脫機二種工作方式,系統(tǒng)擴展有EPROM,把所有實驗程序都固化在該片 中,脫機工作時,只需按一鍵,即可完成實驗程序下載。調(diào)用實驗程序只須在實驗儀鍵盤輸 入實驗程序入口地址,按EXEC鍵即可,非常便捷。系統(tǒng)控帑線制總掛n(S2)M/lO(LOCK) W (so)dSF J-(Sl)DT/R (RQO)HOLD JRQ1)HLDAl READY8086PU制TESTRESET- MN/MXCLKADOADI 5A16/S3A19/S6 BHE/S7 aleCqso) iNTA(QSl) I

4、NTR NMI總線信號中斷控制vrrVCC GND圖1. 1 8086cpu引腳圖1. 2 8255 與 8253 結(jié)構(gòu)1)8255是一個40引腳的雙列直插式集成電路芯片.它具有三個8位口,其中A 口和B 口是單純的數(shù)據(jù)口,供數(shù)據(jù)I/O使用。而C 口則既可以作數(shù)據(jù)口,又可以作控制口使用,用 于實現(xiàn)A 口和B 口的控制功能。2)數(shù)據(jù)傳送中A 口所需的控制信號由C 口髙位部分(PC7PC4)提供,因此把A 口和C 口髙位部分合在一起稱之為A組:同樣理由把B 口和C 口低位部分(PC3PCO)合在一起 稱之為B組。圖1.2 8255引腳圖PA1PA3PA5PA7PB1PB3PB5PB7PCI圖1.3

5、 8255內(nèi)部結(jié)構(gòu)圖PCS3)8253是24腳雙列直插式芯片,+5V電源供電。每個芯片內(nèi)部有3個獨立的計數(shù)器(計數(shù)通道),每個計數(shù)器都有自己的時鐘輸入CLK,計數(shù)輸出OUT和門控信號GATEo數(shù)據(jù)總線D0D7:為三態(tài)輸出/輸入線。片選信號CS,讀信號RD,寫信號WR,他們?yōu)檩?入信號,低電平有效。地址線Al、A0,接到系統(tǒng)總線Al、A0上。計數(shù)器時鐘信號CLK, 作用是在8253進行左時或計數(shù)工作是,每輸入1個時鐘脈沖信號CLK,便使計數(shù)值減1。 計數(shù)器門控選通信號GATE,計數(shù)器輸出信號OUT,作用是il數(shù)工作時,每來1個時鐘脈 沖,計數(shù)器減1,當計數(shù)器值減為0,就在輸出線上輸出一 OUT信

6、號,以示左時或計數(shù) 以到。D7 124WD6 2V7RD5 "RETD4 7"D3 A1D2 一 AOD1 一8253/82S4CLK2DO OUT2CLK0 一一 CATE2OUTO 一QLK1GATE0 一1 4GATE1GND 一1 21 3OUT1圖1.4 8253引腳圖4) 8253/8254內(nèi)部有6個模塊:數(shù)據(jù)總線緩沖器,讀/寫邏輯,控制命令寄存器, 計數(shù)器0,計數(shù)器1,計數(shù)器2數(shù)據(jù)總線緩沖器:3態(tài),雙向8位寄存器和D0、D7相連。讀/寫邏輯:由CPU發(fā)來的讀/寫信號和地址信號來選擇讀出或?qū)懭爰拇嫫?。控制命令寄存器:接受CPU來控制字。計數(shù)器:8253有3個結(jié)構(gòu)

7、完全相同的計數(shù)器。英內(nèi)部由16為初值寄存器、減1計數(shù)器 和當前計數(shù)值鎖存器組成。D7 DO數(shù)據(jù)總線A 緩沖器DwWR Ao Aics讀寫控制邏輯控制字寄存器內(nèi) 部 數(shù) 據(jù) 總 線計數(shù)器1d計數(shù)器2 CLK oGATE 0 -OUTo CLK i GATE i OUT iVCLK 2GATE 2 OUT 2圖1.5 8253內(nèi)部結(jié)構(gòu)圖1.3功能說明1)開關控制:8255端口 A工作在方式0,且為輸入方式,端口 B、C任意。開關接在 8255端口 A的PA0>A7,這樣就可以通過8255讀取開關量。如下圖:圖16開關控制圖2)揚聲器控制:(1) 8253訃數(shù)器2的輸出控制揚聲器的發(fā)聲音調(diào)(2

8、) 8253計數(shù)器2 只能工作在方式3,才能輸出一上頻率的方波,經(jīng)濾波后得到近似的正弦波,進而推動揚聲 器發(fā)聲(3)揚聲器還受控于并行接口 (8255A芯片)(4)必須使8255APB0和PB1同時為髙 電平,揚聲器才能發(fā)岀預先設左頻率的聲音;關閉則是利用8255APB0和PB1同時為低電平, 關閉與門,揚聲器關閉。濾波器CLK2OUT2GATE2PBO PB182538255A圖1.7揚聲器控制圖2設計過程本次設計的模擬電子琴是以8253控制揚聲器,以8255接8個開關K1-K8作為電子 琴的按鍵輸入。2.1硬件設計采用并口 8255A接8個開關KIK8,利用8255A方式0,端口 A輸入方

9、式,即AL= 10010000B,可以將開關的量輸入到CPU中,利用8個開關做電子琴的8個按鍵。驅(qū)動控制揚聲器利用8253與8255A共同執(zhí)行(如圖2. 1)。利用8255A的PBO、PB控制 揚聲器的開啟、關閉。利用左時器8253驅(qū)動發(fā)聲,CPU通過對8253通道2 (端口地址42H) 進行編程,利用8253方式3以不同的脈沖頻率產(chǎn)生不同的輸出方波,方波信號通過濾波器、 功率放大器使揚聲器發(fā)聲。圖2.1硬件電路連接圖2. 2軟件設計利用匯編語言對接口進行編程控制。程序模塊主要包括8255A、8253的初始化、開關 量的輸入、揚聲器的開啟、關閉及程序的退出。在使8253的初值計數(shù)與頻率相對應有

10、兩種 方法,一是利用表的操作,但這種操作不太容易實現(xiàn),硬件的連接也比較麻煩,易岀錯;所 以我采用的是比較跳轉(zhuǎn)的方式,比較簡單明了,容易理解。程序中的模塊關系見程序流程 圖。圖2. 2程序流程圖2. 3系統(tǒng)原理說明1)利用8個邏輯開關做為電子琴的鍵盤輸入,髙電平有效,則開關疑由8255A的端口 A方式0,輸入方式(控制字AL=10010000B)送入CPU中。此時調(diào)用的是7號系統(tǒng)功能調(diào) 用,從標準設備輸入單字符置入AL寄存器中,調(diào)用格式為:MOV AH, 07HINT 21H2)CPU根據(jù)不同的開關量,將程序跳轉(zhuǎn)到相應頻率對應的8253的初始化,并給8253 賦上頻率對應的初始值,此時利用的是8

11、253的通道2,方式3,產(chǎn)生不同頻率的方波。代碼 如下:MOV AL, 0B6HOUT 43H, ALMOV AX,計數(shù)值OUT 42比 ALMOV AL, AHOUT 42H, AL3)要使8253OUT發(fā)岀的方波頻率與任務中的頻率相同,則要給8253 設置計數(shù)值,計算方法為:計數(shù)值二輸入時鐘頻率/任務要求頻率然后CPU將8255A的PBO、PB1置1,打開8253的GATE和與門(圖2.1)。代碼如下:IN AL,61HOR AL, 03HOUT 61H, AL82534)產(chǎn)生的方波信號通過濾波器形成正弦信號,然后通過功率放大器,將正弦信號放大, 驅(qū)動揚聲器發(fā)聲。再然后CPU將8255A的

12、PBO、PB1豊0,關閉揚聲器。代碼如下:IN AL, 61HAND AL, OFCHOUT 61H, AL再次輸入開關量,則循環(huán)執(zhí)行上面過程。5)當輸入為PC鍵盤任意鍵輸入時,則整個程序退岀。此時是調(diào)用的6號和4CH號系統(tǒng) 功能調(diào)用,系統(tǒng)輸入鍵盤任意鍵,返回DOS。調(diào)用格式為:MOV DL, 0FFHMOV AH, 6INT 21HMOV AH, 4CHINT 21H3測試接通電路之后,按下開關鍵,依次撥動各個開關來控制作為揚聲器的8253發(fā)聲,發(fā)出 靜音.Si. La. Sol、Fa. Mi. Re、Do 音調(diào)。表3. 1音階頻率表音階靜音SiLaSolFaMiReDo頻率04934403

13、92349329293241計數(shù)值02420271230443419362740724572由于每個開關的音調(diào)發(fā)音時間有軟件延時控制,所以當開關打開時,就會連續(xù)發(fā)出音節(jié) 標稱頻率的聲音。整體進行硬件電路圖和軟件測試,把所需程序進行輸入一切運行良好,可以完成模擬 電子琴.通過開關鍵實現(xiàn)產(chǎn)生不同音節(jié)頻率的功能通過這兩周的硬件課程設訃,我對微機原理及應用這門課有了更深的認識,系統(tǒng)的 掌握了微機原理及接口的應用知識。這次課程設計我做的是用開關模擬電子琴發(fā)聲。在老師確定題目后,我便去圖書館 査閱了大量的關于開關輸入和發(fā)聲程序設計的書籍,然后確左好自己的方案,對自己的 設計有了一個大概的思路。通過編程,我

14、學會了如何獨立的寫出程序,提高了自己的分 析解決問題的能力,并且使自己所學的知識與實踐相結(jié)合,應用到實踐當中。課程設計 中涉及到許多接口芯片,使我對這些芯片有了更深的認識,對芯片的各種工作方式有了 更深的理解,雖然沒有進行硬件的調(diào)試,但通過設汁,我也學到了很多書本上沒有的知 識。在設計當中遇到了很多的問題,但通過查找資料,克服了這些問題,提高了自己在 實際當中解決問題的能力。雖然此次課程設計的過程是艱辛的,但結(jié)果還是令我比較欣慰的。在此特別感謝老 師對我的指導。附錄代碼STACKSEGMENT STACKSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOV DX

15、.63HMOV AL,90HOUT DX,AL:8255A初始化INPUT:MOV DX.60HIN AL.DX:8255A端口 A輸入MOV AH.07HINT21H:從開關輸入信號CMP AU00000001BJZK1CMPAL0OOOOO1OBJZK2CMPAL.00000100BJZK3CMPAL.00001000BJZK4CMPAU00010000BJZ K5CMPAL.00100000BJZ K6CMPAU01000000BJZ K7CMPALJ0000000BJZK8MOV DL.0FFH:判斷從哪個開關輸入并跳;轉(zhuǎn)到相應8253初始化MOV AH.6INT21HKI:MOV A

16、H.4CHINT21HMOV AL.0B6H:鍵盤任意輸入則退出程:序,返回DOSOUT43H.ALMOV AX.OJMP SINGK2:MOV AL.0B6HOUT43H.ALMOV AX,2420JMP SINGK3:MOV AL.0B6HOUT43H.ALMOVAX.2712JMP SINGK4:MOV AL.0B6H OUT43H.ALMOV AX3044JMP SINGK5:MOV AL.0B6HOUT43H.ALMOVAX.3419JMP SINGK6:MOV AL.0B6H OUT43H.ALMOV AX.3627JMP SINGK7:MOV AL.0B6H OUT43H.ALMOV AX.4072JMP SINGK&MOV AL.0B6HOUT 43H.AL: 8253 初始化MOV AX,4572:并給 AX 賦SING:JMP SING:值OUT 42H.ALMOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論