微型計算機課程設(shè)計論文—通用微機發(fā)聲程序的匯編設(shè)計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發(fā)聲程序設(shè)計,重點講述了程序的發(fā)聲原理,節(jié)拍的產(chǎn)生,按節(jié)拍改變的動畫程序原理,并以設(shè)計一個簡單的樂曲評分程序為引子,分析程序設(shè)計的細節(jié)。關(guān)鍵字:微機 8253 通用發(fā)聲程序 動畫技術(shù) 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據(jù)程序提供的計數(shù)值和工作方式,產(chǎn)生各種形狀和各種頻率的計數(shù)/定時脈沖,提供給系統(tǒng)各個部件使用。本設(shè)計是利用計算機控制發(fā)聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內(nèi)部有3個獨立工作的計數(shù)器:計數(shù)器0,計數(shù)器1和計數(shù)器2,每個計數(shù)器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內(nèi)部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數(shù)器和控制器尋址. 對8353/54編程時,先要設(shè)定控制字,以選擇計數(shù)器,確定工作方式和計數(shù)值的格式.每計數(shù)器由三個引腳與外部聯(lián)系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數(shù)/定時信號輸入端.每個計數(shù)器中包含一個16位計數(shù)寄存器,這個計數(shù)器時以倒計數(shù)的方式計數(shù)的,也就是說,從計數(shù)初值逐次減1,直到減為0為止. 8253/54的三個計數(shù)器是分別編程的,在對任一個計數(shù)器編程時,必須首先講控制字節(jié)寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數(shù)器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數(shù)器輸入一個計數(shù)初值,因為這個計數(shù)值可以是8為的,也可以是16為的,而8253/5的數(shù)據(jù)總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數(shù)器2設(shè)定為方式3,(關(guān)于計數(shù)器的工作方式參閱教材第325—330頁)計數(shù)初值為65536. MOV AL,10110110B ;選擇計數(shù)器2,按方式3工作,計數(shù)值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數(shù)初值為0 OUT 42H,AL ;將計數(shù)初值的低字節(jié)送入計數(shù)器2 OUT 42H,AL ;將計數(shù)初值的高字節(jié)送入計數(shù)器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數(shù)I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關(guān)于8255A的結(jié)構(gòu)和工作原理及應(yīng)用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節(jié)介紹了揚聲器的驅(qū)動原理,并給出了通用發(fā)聲程序.本設(shè)計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發(fā)聲程序的設(shè)計下面是能產(chǎn)生頻率為f的通用發(fā)聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節(jié),后寫高字節(jié) ;方式3,二進制計數(shù)OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數(shù)高位MOV AX, 35DEH ;被除數(shù)低位 DIV ID ;求計數(shù)初值n,結(jié)果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內(nèi)容MOV AH, AL ;保護B口的原狀態(tài)OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發(fā)聲
上傳時間: 2013-10-17
上傳用戶:sunjet
陷波器是無限沖擊響應(yīng)(IIR)數(shù)字濾波器,該濾波器可以用以下常系數(shù)線性差分方程表示:ΣΣ==−−−=MiNiiiinybinxany01)()()( (1)式中: x(n)和y(n)分別為輸人和輸出信號序列;和為濾波器系數(shù)。 iaib對式(1)兩邊進行z變換,得到數(shù)字濾波器的傳遞函數(shù)為: ΠΠΣΣ===−=−−−==NiiMiiNiiiMiiipzzzzbzazH1100)()()( (2)式中:和分別為傳遞函數(shù)的零點和極點。 izip由傳遞函數(shù)的零點和極點可以大致繪出頻率響應(yīng)圖。在零點處,頻率響應(yīng)出現(xiàn)極小值;在極點處,頻率響應(yīng)出現(xiàn)極大值。因此可以根據(jù)所需頻率響應(yīng)配置零點和極點,然后反向設(shè)計帶陷數(shù)字濾波器。考慮一種特殊情況,若零點在第1象限單位圓上,極點在單位圓內(nèi)靠近零點的徑向上。為了防止濾波器系數(shù)出現(xiàn)復(fù)數(shù),必須在z平面第4象限對稱位置配置相應(yīng)的共軛零點、共軛極點。 izip∗iz∗ip這樣零點、極點配置的濾波器稱為單一頻率陷波器,在頻率ωo處出現(xiàn)凹陷。而把極點設(shè)置在零的的徑向上距圓點的距離為l-μ處,陷波器的傳遞函數(shù)為: ))1()()1(())(()(2121zzzzzzzzzHμμ−−−−−−= (3)式(3)中μ越小,極點越靠近單位圓,則頻率響應(yīng)曲線凹陷越深,凹陷的寬度也越窄。當需要消除窄帶干擾而不能對其他頻率有衰減時,陷波器是一種去除窄帶干擾的理想數(shù)字濾波器。當要對幾個頻率同時進行帶陷濾波時,可以按(2)式把幾個單獨頻率的帶陷濾波器(3)式串接在一起。一個例子:設(shè)有一個輸入,它
上傳時間: 2013-10-18
上傳用戶:uuuuuuu
無線感測器已變得越來越普及,短期內(nèi)其開發(fā)和部署數(shù)量將急遽增加。而無線通訊技術(shù)的突飛猛進,也使得智慧型網(wǎng)路中的無線感測器能夠緊密互連。此外,系統(tǒng)單晶片(SoC)的密度不斷提高,讓各式各樣的多功能、小尺寸無線感測器系統(tǒng)相繼問市。儘管如此,工程師仍面臨一個重大的挑戰(zhàn):即電源消耗。
上傳時間: 2013-10-30
上傳用戶:wojiaohs
水聲換能器是利用晶體(石英或酒石酸鉀鈉)壓電陶瓷(鈦酸鋇和鋯鈦酸鉛等)的壓電效應(yīng)或鐵鎳合金的磁致伸縮效應(yīng)來進行工作的。所謂壓電效應(yīng),就是把晶體按一定方向切成薄片,并在晶體薄片上施加壓力,在它的兩端面上會分別產(chǎn)生正電荷和負電荷。反之在晶體博片上施加拉伸力時,它的兩個端面上就會產(chǎn)生與加壓力時相反的電荷。
標簽: 換能器
上傳時間: 2013-10-10
上傳用戶:jisiwole
很多使用CAD的朋友因為找不到自己需要的字體而煩惱,網(wǎng)上各種可供下載的CAD字庫也不少。之前我也將我收集的600多種字體上傳到百度網(wǎng)盤了,最近又下載了一個1000多種字體的字體庫。 不過發(fā)現(xiàn)一個問題:字體名可以隨便改,同一字體也可能有好多不同的版本。從下載的字體庫中就可以看到txt1\2\3\....等多種字體,這些字體到底有什么區(qū)別。hztxt.shx是國內(nèi)使用很廣泛的一種字體文件,但這個文件我就見過多個版本,每個版本文件大小不同,字符顯示效果也不完全相同。因此要找到自己需要的字體說容易,也不容易,最保險的方法就是找到繪圖者使用的原始字體,到網(wǎng)上下載各種字庫都不是很保險。 不過我用過一個SHX字體查看工具,可以直接看到字體文件中的字符,給大家共享一下,但愿能給大家一些幫助。 利用SHX查看器,點“打開”按鈕,可以直接打開SHX文件,看到字體文件中包含的字符及字體效果,如下圖所示: 使用這個工具有下面三個用處: 1、在找到一個字體后,可以先用這個工具檢查一下,是否是自己所需要的字體,不要找到字體就盲目地復(fù)制到CAD的字體目錄下。 2、分別打開txt.shx、hztxt.shx、ltypeshp.shx這幾個形文件,可以了解一下字體、大字體和符號形文件里到底里面放了寫什么東西。 3、如果你想更深入了解字體,你可以將SHX在保存為字體源文件*.shp,這是一個純文本文件,你可以了解形文件的定義形式,如果你有興趣的話,甚至可以根據(jù)一些教程的指導(dǎo)自己來定義或修改字體文件。 cad字體查看工具SHX查看器注冊碼 Name: (Anything) s/n: sv89356241 Code: LLJL6Y2L
上傳時間: 2015-01-01
上傳用戶:Togetherheronce
控溫器設(shè)計要求-20120922112600 1功能要求:測溫控溫雙功能.(當加熱器開關(guān)處于關(guān)閉狀態(tài)時,只能測溫,當打開開關(guān)時既測溫又控溫,處于控溫狀態(tài)時 方可進行各種設(shè)置)。 2單電源供電:(加熱片不另加配電源)。 3工作電壓:12v 交直流通用。 4測控溫范圍:30---200度。 5測控溫精度:一般情況控溫精度為1度。當溫度在30---50度之間時,要求精度為0.1度。 6調(diào)溫方法:分二種 二種可配合使用
標簽: 控溫器
上傳時間: 2013-11-08
上傳用戶:cjh1129
Fenris是一個檢測并把高層次的語言結(jié)構(gòu)做成文檔的多功能故障檢測器、調(diào)試器、代碼分析工具。它能回復(fù)符號,把程序執(zhí)行流繪成圖,檢查內(nèi)部運行情況,恢復(fù)符號表,并處理反調(diào)試保護。它有一個命令行接口和一個類似SoftICE的GUI與Web前端
上傳時間: 2014-01-15
上傳用戶:cx111111
GetSource演示了通過使用網(wǎng)絡(luò)傳輸控件你能如何輕易的下載和顯示一個web站點的HTML頁。
標簽: GetSource HTML web 網(wǎng)絡(luò)傳輸
上傳時間: 2013-12-15
上傳用戶:BOBOniu
Bison 是替代yacc的語法解析器. Bison能生成可以分析文本文件結(jié)構(gòu)的程序.
上傳時間: 2013-12-13
上傳用戶:chenjjer
一個費諾編碼器,輸入N個總和為1的小數(shù),就可以得到N個費諾碼
上傳時間: 2013-12-16
上傳用戶:LouieWu
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1