




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE1《微機接口技術(shù)課程設(shè)計》設(shè)計報告 題目:專業(yè):10電子信息工程班級:學(xué)號:姓名:指導(dǎo)老師:重慶交通大學(xué)信息科學(xué)與工程學(xué)院設(shè)計時間:2012年6月14日到2012年6月28號1.設(shè)計任務(wù)說明綜合應(yīng)用接口技術(shù)各匯編語言程序設(shè)計技術(shù),在PC機上實現(xiàn)時鐘顯示、定時和響鈴。利用BIOS和DOS的系統(tǒng)功能調(diào)用,能將計算機系統(tǒng)的日期和時間讀出并顯示出來。用“時:分:秒”(都是兩位)的形式連續(xù)顯示系統(tǒng)時間。利用定時接口芯片每秒鐘響一次鈴。EQ\o\ac(○,4)提示輸入定時時間(即定時秒數(shù)),每經(jīng)歷指定的秒數(shù),則演奏樂曲。2.總體設(shè)計(1)利用定時中斷實現(xiàn)時鐘顯示。(2)在定時中斷發(fā)生時同時調(diào)用發(fā)聲程序?qū)崿F(xiàn)響鈴。3.詳細(xì)設(shè)計當(dāng)產(chǎn)生定時中斷時(由8259A的IRQ0引起),CPU轉(zhuǎn)入BIOS的08H號中斷處理程序,在該中斷處理程序中是一條軟中斷指令“INT1CH”,而在該軟中斷程序中只有一條IRET指令,這樣系統(tǒng)每秒鐘產(chǎn)生18.2次定時中斷,調(diào)用18.2次INT1CH,這為開發(fā)者提供了一個編寫與時間有關(guān)的程序的軟中斷接口,上例的定時響鈴就是借用這個軟接口實現(xiàn)的。其具體操作如下:①在時鐘顯示程序,截獲1CH號中斷,在新的1CH中斷處理程序安排一個計數(shù)器,記錄調(diào)用的次數(shù),每18次(約一秒鐘)顯示一次當(dāng)前時間。②利用BOIS的1AH號中斷的0號功能,讀取當(dāng)前計時器的數(shù)值:入口參數(shù):AH=02H執(zhí)行:INT1AH出口參數(shù):AL=午夜信號,CH=時的BCD碼,CL=分的BCD碼,DH=秒的BCD碼③利用BIOS的10H號中斷的13H號功能,實現(xiàn)在屏幕的右上角顯示時間。④在主程序中要保存原1CH號中斷的中斷向量,并設(shè)置新的時鐘顯示中斷程序的中斷向量,然后作其它工作,如調(diào)用BIOS的鍵盤中斷INT16H的0號功能,等待用戶按鍵盤,也就是等待中斷的發(fā)生,并在屏幕右上角顯示時間……,當(dāng)用戶按鍵后,主程序工作完成后,恢復(fù)原1CH中斷向量。發(fā)聲程序用定時器驅(qū)動揚聲器方式,這是直接利用8253/8254定時器產(chǎn)生聲音的一種方法。定時器2的GATE2與8255A的端口61H的PB0相連,當(dāng)PB0=1時,GATE2獲得高電平,使定時器2可以在模式3(方波)下工作。定時器2的OUT2與端口61H的PB1通過一個與門與揚聲器的驅(qū)動電路相連,當(dāng)PB1=1時,允許OUT2輸出的頻率信號到達(dá)揚聲器電路。利用定時中斷實現(xiàn)時鐘顯示的流程圖:開始開始顯示屬性并保存光標(biāo)位置顯示屬性并保存光標(biāo)位置開始顯示 N開始顯示 Y間隔計數(shù)器減1間隔計數(shù)器重置間隔計數(shù)器減1間隔計數(shù)器重置讀取系統(tǒng)時間 讀取系統(tǒng)時間恢復(fù)現(xiàn)場,取系統(tǒng)時間恢復(fù)現(xiàn)場,取系統(tǒng)時間ASCII碼轉(zhuǎn)換ASCII碼轉(zhuǎn)換新的中斷向量新的中斷向量結(jié)束結(jié)束在定時中斷發(fā)生時同時調(diào)用發(fā)聲程序?qū)崿F(xiàn)響鈴的流程圖:開始開始輸出方波,程序執(zhí)行即開始發(fā)聲輸出方波,程序執(zhí)行即開始發(fā)聲發(fā)聲延遲發(fā)聲延遲延遲程序 PB4改變 PB4改變等待改變 Y保存狀態(tài)保存狀態(tài)恢復(fù)數(shù)據(jù)恢復(fù)數(shù)據(jù)結(jié)束結(jié)束4.程序及說明count_val=18;間隔數(shù)(約為一秒)dpage=0row=3column=85-buff_lencolor=07h;顯示屬性.286.modelsmall.dataMUSTEPdw330,294,262,294,3dup(330)dw294,294,294,330,392,392dw294,294,330,294,262 dw330,392,330,294,330,392,330,294,330dw330,392,330,294,262,294,330,392,294dw262,262,220,196,196,220,262,294,330,262dw-1 .codecountdwcount_valyydb?xxdb?hhhhdb?,?,":"mmmmdb?,?,':'ssssdb?,?db0ahmess1db4dup(?)db":"mess2db2dup(?)db":"mess3db2dup(?)db0dh,0ah,24hyeardw?monthdb?daydb?buff_len=$-offsethhhh;顯示信息長度cursordw?;保存當(dāng)前光標(biāo)位置new1ch:cmpcs:count,0;是否到顯示時候jznext;是轉(zhuǎn)next deccs:count;否則間隔計數(shù)器減1 iret;中斷返回next: movcs:count,count_val;間隔計數(shù)器重置初值18 sti;開中斷 pusha;保護現(xiàn)場 pushds pushes pushcs;填寫DS和ES popds pushds popes callget_t;讀取系統(tǒng)時間及日期 movbh,dpage;BX←頁號 movah,3;取原光標(biāo)位置 int10h movcursor,dx;保存原光標(biāo)位置 movbp,offsethhhh;bp←時間信息串首地址 movbh,dpage movdh,row movdl,column movbl,color movcx,buff_len-6 moval,0;a1←顯示模式,移動光標(biāo) movah,13h;顯示時鐘 int10h movbh,dpage movdx,cursor movah,2;恢復(fù)光標(biāo)原位置 int10h popes;恢復(fù)現(xiàn)場 popds popacmpyy,0jnzrrrcallmusicrrr:decyycallring iretget_t proc;取當(dāng)前系統(tǒng)時間和日期過程 movah,2;取時間信息 int1ah moval,ch callttasc;調(diào)用轉(zhuǎn)換壓縮BCD碼為ASCII碼子程序 xchgah,al movwordptrhhhh,ax;保存小時數(shù) moval,cl callttasc xchgah,al movwordptrmmmm,ax moval,dh callttasc xchgah,al movwordptrssss,ax movah,2ah;取日期數(shù)信息 int21h movyear,cx movmonth,dh movday,dl movax,year movbx,lengthmess1 movsi,offsetmess1 calltodasc moval,month xorah,ah movbx,lengthmess2 movsi,offsetmess2 calltodasc moval,day xorah,ah movbx,lengthmess3 movsi,offsetmess3calltodasc retget_tendpttascproc;時間調(diào)用轉(zhuǎn)換壓縮BCD碼為ASCII碼子程序 pushcx movah,al andal,0fh movcl,4 shrah,cl addax,3030h popcx retttascendptodascproc;日期調(diào)用轉(zhuǎn)換為ASCII碼子程序pushamovcx,10t1:xordx,dxdivcx adddl,30h mov[si+bx-1],dl decbx jnzt1popa rettodascendpgsoundprocpushamoval,10110110b;定時器2控制字,方式3,輸出方波out43h,almovdx,12h;dx|ax←11933100hzmovax,348chdivdiout42h,al;定時器2分頻系數(shù)moval,ahout42h,alinal,61h;a1←61h口movah,al;61h口原數(shù)保存到ah中oral,03h;61h口的pb和pb置1out61h,al;本行執(zhí)行后即開始發(fā)聲wait1:movcx,8289hcallwaitfdecbxjncwait1moval,ah;恢復(fù)61h口原數(shù)據(jù)out61h,alpoparetgsoundendpringprocpushamovdx,10000;dx←發(fā)聲次數(shù)inal,61h;d1←0(發(fā)聲開關(guān))andal,0fdh;d1取反sound:xoral,02hout61h,almovcx,05fffh;cx延時循環(huán)初值ww:loopwwdecdxjnesoundpoparetringendpmusicprocmoval,xxmovyy,almovax,@datamovds,axleasi,musfre;取頻率表的首地址leabp,ds:mustime;取節(jié)拍時間表首地址freq:movdi,[si];di←頻率cmpdi,-1;結(jié)束演奏?jeend_musmovbx,[bp];bx←節(jié)拍時間值callgsound;調(diào)用發(fā)聲程序addsi,2;指向下一個發(fā)聲頻率addbp,2jmpfreq;繼續(xù)演奏下一個音節(jié)end_mus:retmusicendpwaitfproc;入口參數(shù):CX=COUNTOF15.08uspushaxwaitf1:inal,61handal,10hcmpal,ahjewaitf1movah,alloopwaitf1popaxretwaitfendpold1chdd?start:movax,@codemovds,axmovah,1int21hmovah,30hsubal,ahmovyy,almovxx,alpushcs popds;填寫DS movax,351ch;取1CH號中斷向量 int21h movwordptrold1ch,bx;保存向量偏移地址 movwordptrold1ch+2,es movdx,offsetnew1ch;dx新時鐘中斷入口偏移地址 movax,251ch;新中斷段地址
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在快速發(fā)展的企業(yè)環(huán)境中利用新技術(shù)實現(xiàn)業(yè)務(wù)優(yōu)化及生產(chǎn)力提高報告
- 計算機一級Photoshop考試特訓(xùn)策略試題及答案
- 法學(xué)概論的哲學(xué)基礎(chǔ)試題及答案
- WPS數(shù)據(jù)導(dǎo)入導(dǎo)出技巧試題及答案
- 經(jīng)驗豐富的Msoffice考試試題及答案探討
- 2025年醫(yī)保支付改革對醫(yī)療行業(yè)政策法規(guī)解讀與應(yīng)對策略報告
- 城市軌道交通建設(shè)規(guī)劃與城市人口流動預(yù)測研究報告
- 行政法與政府順應(yīng)性的法律框架試題及答案
- 如何選擇合適的數(shù)字化學(xué)習(xí)工具助力教育培訓(xùn)
- WPS編輯中常見問題試題及答案
- 直臂式高空作業(yè)車安全管理培訓(xùn)課件-
- 之江實驗室:生成式大模型安全與隱私白皮書
- 靈芝孢子油的作用
- 免疫組織化學(xué)檢驗技術(shù)(免疫學(xué)檢驗課件)
- 世界文明史學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 某石料廠年產(chǎn)10萬噸石灰?guī)r開采建設(shè)項目可行性研究報告
- 養(yǎng)老院安全工作會議記錄范本
- DB21∕T 3275-2020 企業(yè)安全風(fēng)險分級管控和隱患排查治理通則
- 胸腔鏡下肺癌根治的手術(shù)配合
- 護理查房肺結(jié)核護理查房
- 普通高中通用技術(shù)學(xué)生設(shè)計作品圖文匯報材料
評論
0/150
提交評論