版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、產(chǎn)生警報聲程序設(shè)計目錄 TOC o 1-5 h z HYPERLINK l bookmark1 o Current Document 產(chǎn)生警報聲程序設(shè)計1 HYPERLINK l bookmark4 o Current Document 目錄1 HYPERLINK l bookmark7 o Current Document 1緒論2 HYPERLINK l bookmark10 o Current Document 1.1設(shè)計目的和意義2 HYPERLINK l bookmark13 o Current Document 1.2背景知識交代2 HYPERLINK l bookmark16 o
2、 Current Document 1.3設(shè)計內(nèi)容2 HYPERLINK l bookmark19 o Current Document 1.4程序設(shè)計說明3 HYPERLINK l bookmark22 o Current Document 2程序設(shè)計3 HYPERLINK l bookmark25 o Current Document 2.1程序設(shè)計原理3 HYPERLINK l bookmark28 o Current Document 2.2設(shè)計環(huán)境與工具3 HYPERLINK l bookmark43 o Current Document 2.3發(fā)聲程序設(shè)計主要步驟32.4程序流程圖
3、4 HYPERLINK l bookmark52 o Current Document 3程序運(yùn)行與調(diào)試53.1程序源碼5 HYPERLINK l bookmark58 o Current Document 3.2截圖12 HYPERLINK l bookmark61 o Current Document 結(jié)語13 HYPERLINK l bookmark64 o Current Document 參考文獻(xiàn)131緒論1.1設(shè)計目的和意義在廣泛使用的微型機(jī)系統(tǒng)中,外部設(shè)備是以實現(xiàn)人際交換和機(jī)間通信為目的的一些機(jī) 電設(shè)備。計算機(jī)系統(tǒng)通過硬件接口以及I/O控制程序?qū)ν獠吭O(shè)備進(jìn)行控制,使其能協(xié)調(diào)地、
4、有效地完成輸入輸出工作。在對外部設(shè)備的控制過程中,主機(jī)不可避免地,有時甚至要很 頻繁地對設(shè)備接口進(jìn)行聯(lián)絡(luò)和控制,因此,能直接控制硬件的匯編語言就成了編寫高性能 I/O程序最有效的程序設(shè)計語言。本實驗通過編寫一個控制主板蜂鳴器發(fā)聲的程序來掌握 編寫I/O程序的基本思想與方法。1.2背景知識交代I/O接口部件中一般有三種寄存器:一是用作數(shù)據(jù)緩沖的數(shù)據(jù)寄存器;二是用作保存 設(shè)備和接口的狀態(tài)信息,提供CPU對外設(shè)進(jìn)行測試的狀態(tài)寄存器;三是用來保存CPU發(fā) 出的命令以控制接口和設(shè)備的操作的命令寄存器,這些寄存器都分配有各自的端口號,CPU 就是通過不同的端口號來選擇各種外部設(shè)備的。在自然中,各種聲音都是
5、通過振動產(chǎn)生的。人耳能聽到的頻率大概在20Hz20KHz范 圍內(nèi)。查閱相關(guān)資料,可以得到如下常見警報聲的頻率表:車型音調(diào)名稱音響頻率(Hz)重復(fù)變調(diào)周期(s)警車緊急調(diào)頻調(diào)6000 5015000+500.333 0.385雙音轉(zhuǎn)換調(diào)fl: 80050 f2: 1000500.455 0.556消防車連續(xù)調(diào)頻調(diào)6000 5015000+503.0005.000救護(hù)車慢速雙音轉(zhuǎn)換調(diào)f 1: 80050 f2: 1000501.667 2.500工程搶險車單音斷鳴高800 500.455 0.5561.3設(shè)計內(nèi)容產(chǎn)生急速上滑報警音響,要求變化率可控,由鍵盤輸入控制值。按“Q”鍵退出。1.4程序設(shè)計
6、說明根據(jù)1.2中所述,常見警報聲的頻率基本是固定的,分別作不同的用途,因此本程序 中規(guī)定警報聲的頻率從20Hz1500Hz。變化率的改變則是通過每次選擇不同的頻率增量來 實現(xiàn)。而不同的頻率增量已經(jīng)提前存儲在程序中,提供給用戶的是選擇幾種比較感性的選 項:非常慢,慢速,常速,快速以及非??臁?程序設(shè)計2.1程序設(shè)計原理計算機(jī)的發(fā)聲原理:在計算機(jī)內(nèi)部有一個可編程時間間隔定時器8253/54 (Programmable internal timer, PIT),它能根據(jù)程序提供的計數(shù)值和工作模式,產(chǎn)生各種形狀 和各種頻率的計數(shù)/定時脈沖,提供給系統(tǒng)的各個部件使用。例如,提供計時信號給系統(tǒng)日 時期,提
7、供刷新定時信號給動態(tài)存儲器,對分時系統(tǒng)產(chǎn)生時間片等。它還可以產(chǎn)生不同頻 率的脈沖作為揚(yáng)聲器的聲源。2.2設(shè)計環(huán)境與工具DOS操作系統(tǒng)編輯工具EDIT.EXE匯編工具 MASM.EXE(5.0)連接工具LINK.EXE調(diào)試工具DEBUG.EXE2.3發(fā)聲程序設(shè)計主要步驟在8253/54中的43端口送一個控制字0B6H(10110110B),該控制字對定時器2進(jìn)行 初始化,使定時器2準(zhǔn)備接收計數(shù)初值。在8253/54中的42H端口(Timer2)裝入一個16位的計數(shù)值(533H*896/頻率),以建立 要產(chǎn)生的聲音頻率。把輸出端口 61H的0、1兩位置1,發(fā)出聲音。2.4程序流程圖3程序運(yùn)行與調(diào)試
8、3.1程序源碼;* /;Programmer:孔祥振;Date:2010/1/3-2010/1-6;Function:Togeneratealarmsoundthatcan;decontrolled.;PressQtoexit*datassegmentmessinfo1dbPleaseinput15,whichrepresentsthechanginglevelofthealarm, 一,$messveryslowdb|1.veryslow|,$messslowdb|2.slow|,$messnormaldb|3.normal|,$messfastdb|4.fast|,$messveryfas
9、tdb|5.veryfast|,$messQdb|Q.Exit|,$messinfo2db-,$messinputdbPleaseinputanumber(15),$messerrordbERRORINPUT!INPUTAGAIN!,$messlistendbPleaselistencarefully,$enterdb13,10,$usr_inputdb?;該程序中警報聲的頻率下限和頻率上限是確定的,因此不同的控制速率會導(dǎo)致警報聲的時間不同incvsdw2;分別存有變化的速率 TOC o 1-5 h z incsdw5incndw8incfdw10incvfdw12maxfdw1500minf
10、dw20datasends* /.*w*wwwwwwwww* /stacksegmentdb200dup(stack)stackends;* /;* /codessegment;mainprocfarassume ds:datas,cs:codes,ss:stackstart:pushdssubax,axpushaxmovax,datas movds,ax;顯示消息的宏dispmacromessagepushaxpushdx leadx,message movah,09 int21h popdxpopaxendmcallmessshowinput:;輸入選擇movbx,minfdispmess
11、inputdispentersubax,axmov ah,1;從鍵盤輸入一個字符int 21hdispenterjudge:cmpal,0dhjeinputcmp al,51h;是否為 Qjeexitcmpal,71hjeexitleabx,usr_inputsubal,30h;ASCII碼轉(zhuǎn)化為數(shù)字movbx,al;usr_input 存該數(shù)字cmpal,01h;是否為 1je soundcmpal,02h;是否為 2jesoundcmpal,03h;是否為 3jesoundcmpal,04h;是否為 4jesoundcmpal,05h;是否為 5jesounddispmesserrordi
12、spenterjmpinputexit:movax,4c00hint21h;sound:disp messlistendisp enterrotate:moval,0b6h;writertimemodereg.out43h,almovdx,12hdivbx;發(fā)聲頻率存在bx中,已經(jīng)初始化bx值為最小頻率值out42h,al;writertimer2countlowbytemoval,ahout42h,al;writertimer2counthighbyteinal,61hmov ah,aloral,03hout61h,al;turnthespeakeroncall delaymoval,ah;
13、turnthespeakeroffout61h,alcmpusr_input,1jeinc_vscmpusr_input,2jeinc_scmpusr_input,3jeinc_ncmpusr_input,4jeinc_fcmpusr_input,5jeinc_vfinc_vs:addbx,incvsjmpcmpareinc s:addbx,incsjmpcmpareinc_n:addbx,incnjmpcmpareinc_f:addbx,incfjmpcmpareinc_vf:addbx,incvfjmpcmparecmpare:cmpbx,maxfjberotatejmpinput/mai
14、nendp;fmessshowprocneardispenterdispenterdispmessinfo1dispenter dispmessveryslowdispenter dispmessslow dispenter dispmessnormal dispenter dispmessfast dispenter dispmessveryfast dispenter dispmessQ dispenter dispmessinfo2 dispenter dispenter retmessshowendp;fdelayprocnearmov cx,0a000hloopl:push cxmov cx,100hloop2:loop loop2pop cxretdelayendpcodesends*/endstart3.2截圖1.編譯、連接過程截圖2.運(yùn)行過程截圖結(jié)語該程序的開發(fā)是作為匯編語言課程設(shè)計的內(nèi)容,經(jīng)過此次實踐,我增長了不少知識, 獲益匪淺。通過該程序的設(shè)計,我掌握了 I/O程序設(shè)計的基本原理思想以及方法,而且對 匯編語言中宏定義,子過程設(shè)計有了進(jìn)一步的認(rèn)識。匯編語言跳轉(zhuǎn)語句比較多,為了避免 程序成為“意大利面條”,應(yīng)該適當(dāng)?shù)牟捎媒Y(jié)構(gòu)化編程的方法,例如利用子程序設(shè)計。此 外,應(yīng)當(dāng)注意合理地對變量進(jìn)行命名可以提高程序的可讀性以及可維
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年商品房現(xiàn)房買賣合同范本:智能家居系統(tǒng)升級改造協(xié)議3篇
- 2024年度多功能商業(yè)廣告牌位置租賃合同2篇
- 2024安置房買賣合同協(xié)議書(含產(chǎn)權(quán)登記辦理)3篇
- 2024年度城市公園建設(shè)用砂石采購合同樣本3篇
- 2024年度學(xué)校小賣部質(zhì)量保障合同3篇
- 2024年私人空場地租賃合同
- 2024年度工程質(zhì)量設(shè)計與施工一體化合同
- 2024年電子競技賽事組織與執(zhí)行合同
- 2024年度知識產(chǎn)權(quán)許可合同標(biāo)的及許可條件和使用范圍
- 2024年度采購合同標(biāo)的供應(yīng)商選擇和質(zhì)量要求2篇
- 浙江科學(xué)技術(shù)出版社小學(xué)五年級下冊綜合實踐活動完全教案(教學(xué)計劃-進(jìn)度計劃-共14節(jié)課時)新疆有
- 四川音樂學(xué)院附屬中等音樂學(xué)校輔導(dǎo)員招聘考試真題2023
- 第1課《北京的春節(jié)》課件 2023-2024學(xué)年統(tǒng)編版(五四學(xué)制)語文六年級下冊
- 2024版國開電大法律事務(wù)專科《民法學(xué)(1)》期末考試總題庫
- 山東建筑大學(xué)混凝土結(jié)構(gòu)原理期末考試復(fù)習(xí)題
- 永康電動工具市場行業(yè)報告
- 護(hù)理病例報告范文5篇
- 班主任基本功大賽:模擬情景題及參考答案匯編(小學(xué)組)
- 兒童房間管理制度
- 中國石油大學(xué)(華東)2008年化工原理(含答案)考研真題
- 湖南課件大學(xué)
評論
0/150
提交評論