




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理課程設計電子琴設計編寫一實現電子琴的程序,并實現假設干擴展功能。過七段數碼管顯示輸入音階;播放的曲目進展選擇,并實現播放該曲目。2、程序運行時有友好的用戶介面。.LED顯示器顯示不同的圖案二、元件與儀器并行把握器8255A試驗臺三、設計原理、思路及流程圖1、設計原理/A,即可在其輸出端得到確定的電壓輸出。給D/A轉換器輸入按正弦規律變各音階標稱頻率值:32〔小于亦可8253協作8255來實現。按下某鍵后發音時間的長短可以由發出的正弦波的個數多少來把握。本程序中設置默認長度為60個正弦波。試驗臺上的七段數碼管為共陰型,段碼承受同相驅動,輸入端加高電平,選中的數碼管亮,位碼加反相驅動器,位碼輸入端高電平選中。LEDLED雙色點陣LED是在每一個點陣的位置上有紅綠或紅黃或紅白兩種不同顏色的發LEDLED廣告宣傳牌隨處可見。8×8LED888假設使某一種顏色、某一個LED發光,只要將與其相連的行線加高電平,列線加低電平即可。陣代碼〔如以下圖〕依據“年”的點陣代碼,確定逐列循環發光的挨次如下:①行代碼輸出44H;紅色列代碼輸01H2LED②行代碼輸出54H;紅色列代碼輸02H3LED③行代碼輸出54H;紅色列代碼輸04H3LED④行代碼輸出7FH;紅色列代碼輸08H7LED⑤行代碼輸出54H;紅色列代碼輸10H3LED⑥行代碼輸出DCH;紅色列代碼輸20H5LED⑦行代碼輸出44H;紅色列代碼輸40H2LED⑧行代碼輸出24H;紅色列代碼輸80H2LED2、電路連接圖如下:連接如下LED74LS27374078DS75452CS3298h,2a0h,2a8h.設計思路干模塊〔子程序,具體可見下。程序設計的思路按以下挨次進展:分析與確定程序總體設計目標將總體目標劃分為假設干模塊定義每個模塊的具體任務,明確它與其他模塊間的通信方式編寫源程序,進展調試,包括:簡潔電子琴主程序音階的功能。發音子程序本子程序實現放音功能。首先從鍵盤讀出鍵碼,推斷,假設鍵碼不是1-8〕即照舊處于音階輸入預備狀態,假設是,即求出相應的時間常數的序3260然后推斷是否有按鍵,假設有就進入死循環,直到下次按鍵為止。放歌子程序選擇進入不同曲目,進而實現播放不同的歌曲,播放時直接調用放音子程序Led0~9顯示廣告版子程序入圖案顯示代碼,最終顯示不同的圖案。源程序整體99iujinru歌曲并進展播放。當檢測到esc時,退出。當每一個都檢測不到時,退回到調用發音子程序,連續發音顯示。從而實現有擴展功能的電子琴。模塊連接,形成完整的程序編寫程序文檔流程圖以下用主程序與子程序協作流程圖其進展說明。〔1〕主程序流程圖開頭開頭使用鍵盤輸入調用廣告版子程序Led子程序18鍵調用發音子程序YNY9鍵放音子程序Nesc鍵Y退出〔2〕發音子程序流程圖〔3〕led顯示子程序〔4〕顯示廣告板子程序〔5〕放音子程序開頭開頭用鍵盤輸入寵愛調用廣告版子程序歌曲的序號〔1-3〕Led子程序13鍵Y調用發音子程序NY9鍵放音子程序NNesc鍵Y退出四、源程序STACKSEGMENTPARASTACK”STACK”DB100DUP(0)STACKENDSDATASEGMENTIOPORT EQU0C400H-0280HIO8255AIO8255CIO8255BIO8253AIO8253B
EQUIOPORT+288HEQUIOPORT+28AHEQUIOPORT+28BHEQUIOPORT+280HEQUIOPORT+283HIO0832A EQUIOPORT+290HPROT EQU 0C400H-280HPROTH EQU PROT+298HPROTLREQU PROT+2A0HPROTLYEQU PROT+2A8HDATA1DB80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDHDB0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96HDB80H,66H,4EH,38H,25H,15H,09H,04HDB00H,04H,09H,15H,25H,38H,4EH,66H ;正弦波數據LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG1 DB 0DH,0AH,”INPUTANUM(1--8=PLAYPIANO,9=PLAYMUSIC,ESC=EXIT):”,0DH,0AH,”$”MESG2 DB 0DH,0AH,”PLEASECHOOSETHEMUSICYOULIKE(1-AAA,2-BBB):”,0DH,0AH,”$”TIME DB120,110,100,90,81,72,55,42 ;發不同音時8253的計數器初值NUM DB?;NUM為8253計數器初值的序號--MESS DB”STRIKEANYKEY,RETURNTODOS!”,0AH,0DH,”$”MIN1 DB00H,01H,02H,03H,04H,05H,06H,07HCOUNT DB0JNUM DB? ;JNUM用來存儲輸入數字MUSIC DB30H,31H,31H,35H,35H,36H,36H,35H,30H,30H,34H,34H,33H,33H,32H,32H,31H,100DUP(30H);,35H,35H,34H,34H,33H,33H,32H,35H,35H,34H,34H,33H,33H,32H,31H,31H,35H,35H,36H,36H,35H,34H,34H,33H,33H,3;2H,32H,31H,QMUSIC DB?DOWN DB31H,32H,33H,34H,35H,36H,37H,38H,38H,37H,36H,35H,34H,33H,32H,31H,100DUP(30H)PP DB?TT DB?LMUSIC EQU45BUFF1 DB00H,00H,18H,3CH,3CH,18H,00H,00HBUFF2 DB00H,1EH,0AH,46H,62H,50H,78H,00HBUFF3 DB00H,06H,06H,60H,60H,06H,06H,00HBUFF4 DB24H,66H,0E7H,00H,00H,0E7H,66H,24HBUFF5 DB42H,0E7H,42H,18H,18H,42H,0E7H,42HBUFF6 DB66H,24H,81H,0C3H,0C3H,81H,24H,66HBUFF7 DB24H,66H,00H,0DBH,0DBH,00H,66H,24HBUFF8 DB0CBH,99H,10H,0C6H,63H,08H,99H,0D3HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVTT,1MOVAX,DATAMOVDS,AXMOVDX,IO8255B ;使8255的A口為輸出方式MOVAX,92HOUTDX,ALMOVQMUSIC,0JMPSSSZERO:MOVQMUSIC,0SSS:CMPQMUSIC,LMUSICJEZEROCMPQMUSIC,0JESSS4JMPSSS3SSS4:MOVDX,OFFSETMESG1MOVAH,9INT21H ;顯示提示信息MOVAH,7INT21H ;從鍵盤接收字符,不回顯SSS3:CMPAL,39HJEPLAY0CMPQMUSIC,0JEOOJMPPLAYOO:CMPAL,1BHJEEXIT ;假設為ESC鍵,則轉EXITCMPAL,30HJESOFTDLY;MOVDI,OFFESETRECORD; MOV[DI],AL; INCDICMPAL,31HJLSSSCMPAL,38HJGSSS ;假設不在”1”-”8”之間轉SSSMOVJNUM,ALSUBAL,31HMOVNUM,AL ;求出相應的時間常數的序號MOVCX,60 ;取60次32個正弦波數據SSS2:MOVAL,JNUMSUBAL,30H ;將所得字符的ASCII碼減30HMOVBX,OFFSETLED ;BX為數碼表的起始地址XLAT ;求出相應的段碼MOVDX,IO8255C ;從8255的C口輸出OUTDX,ALDDD:LLL:
MOVSI,0MOVAL,DATA1[SI] ;取正弦波數據MOVDX,IO0832AOUTDX,AL ;放音CALLDELAY ;調延時子程序INCSICMPSI,32 ;是否取完32個數據JLLLL ;假設沒有,則連續LOOPDDD ;總循環次數60是否完,沒有,則連續MOVCX,0002HCALLNIAN ;------------------------CALLNIAN;CALLNIANJMPSSS ;轉SSSEXIT: MOVAH,4CHINT21HPLAY0:CMPTT,1JETT1MOVDX,OFFSETMESG2MOVAH,9INT21H ;顯示子菜單MOVAH,7INT21H ;輸入子菜單命令MOVPP,ALPLAY:MOVAL,QMUSICCMPPP,32HJEPLAY2CMPPP,31HJNEPLAY0MOVBX,OFFSETMUSICPLAY3:XLATMOVCL,QMUSICADDCL,01HMOVQMUSIC,CLJMPOOTT1:MOVTT,0MOVPP,32HPLAY2:MOVBX,OFFSETDOWNJMPPLAY3SOFTDLY:MOVBL,10DELAY4: MOVCX,0FFFFHWAIT3: LOOPWAIT3DECBLJNZDELAY4JMPSSSDELAYPROCNEAR ;延時子程序CCC1: MOVBX,OFFSETTIMEMOVDX,IO8253B ;置8253通道0為方式0工作MOVAL,10HOUTDX,ALMOVAL,NUM ;取相應的時間常數XLATMOVDX,IO8253AOUTDX,AL ;向8253通道0輸出KKK: MOVDX,IO8255AINAL,DX ;從8255A口讀一字節TESTAL,01 ;判PA0口是否為1JZKKK ;假設不為1,則轉KKKRET ;子程序返回DELAYENDPNIANPROCNEARSTART2:MOV AX,DATAMOV DS,AXMOV DX,OFFSETMESSAGN: MOV CX,80HD2: MOV SI,OFFSETMIN1MOV AH,01HPUSHCXMOV CX,0008HNEXT: MOVAL,JNUMCALLBUFFMOV DX,PROTHOUT DX,ALMOV AL,AHMOV DX,PROTLROUT DX,AL ;顯示第一行紅SHL AH,01INC SIPUSHCXMOV CX,0FFFFHDELAY2:LOOPDELAY2 ;延時POP CXLOOPNEXTPOP CXCALLDELAYLOOPD2MOV AL,00MOV DX,PROTLROUT DX,ALCMPQMUSIC,0JEC1RETC1: MOVAH,01INT 16HJNZBACKAGN1: MOV CX,80H ;AGN1為顯示黃色D1: MOVSI,OFFSETMIN1MOV AH,01PUSHCXMOV CX,0008HNEXT1:MOVAL,JNUMCALLBUFFMOV DX,PROTHOUT DX,ALMOV AL,AHMOV DX,PROTLYOUT DX,ALSHL AH,01INC SIPUSHCXMOV CX,0FFFFHDELAY1:LOOPDELAY1MOV CX,0FFFFHDELAY3:LOOPDELAY3POP CXLOOPNEXT1POP CXCALLDELAYLOOPD1MOVMOVOUT
AL,00DX,PROTLYDX,ALCMPQMUSIC,0JEC2RETC2: MOVAH,01INT 16HJNZBACKJMPAGNBACK: RET;----------------------------------------------------------------DELAY0 PROCNEAR ;延遲子程序PUSHCXMOV CX,0FFFFHCCC: LOOPCCCPOP CXRETDELAY0 ENDP;---------------------------------------------------------------------;--------------------------------------------------------------------BUFFPROCNEAR ;代碼選擇推斷子程序JUDGE1:CMPAL,31HJEL1CMPAL,32HJEL2CMPAL,33HJEL3CMPAL,34HJEL4CMPAL,35HJEL5CMPAL,36HJEL6CMPAL,37HJEL7CMPAL,38HJEL8L1:MOVAL,[SI]MOVL1:MOVAL,[SI]MOVXLATBX,OFFSETBUFF1RETL2:MOVAL,[SI]MOVBX,OFFSETBUFF2XLATRETL3:MOVAL,[SI]MOVBX,OF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 用工管理面試題及答案
- 門診內科出科總結
- 中國教育的目的
- 月字旁寫字課課件
- 2025年中國男士牛仔褲行業市場全景分析及前景機遇研判報告
- 綜合能源服務培訓
- 怎樣做好日常培訓
- EHS基礎知識培訓
- 花山巖畫的群體性活動元素融入舞蹈課堂教學的實踐與探究
- 特殊關鍵工序培訓
- 2022-2023學年湖北省隨州市曾都區人教PEP版五年級下冊期末學業質量監測英語試卷
- 鋼結構施工合同范本
- 2024年內蒙古錫林郭勒盟事業單位人才引進歷年【重點基礎提升】模擬試題(共500題)附帶答案詳解
- 建設工程監理安全資料臺帳建筑施工
- 浙江省溫州市鹿城區2023-2024學年八年級下學期科學期末質量檢測綜合模擬卷
- 大樹吊裝專項施工方案
- (XX)XX縣2021年度變更調查技術設計書
- 地震的應急逃生知識
- 藥品配送服務應急預案
- 03 配電類“兩種人”安規綜合能力測試題庫
- 人工智能倫理導論- 課件 第3、4章 人工智能倫理、人工智能風險
評論
0/150
提交評論