




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)應(yīng)用專業(yè)數(shù)據(jù)庫(kù)技術(shù)教 學(xué)大綱匯編語(yǔ)言程序設(shè)計(jì)(實(shí)踐)課程教學(xué)大綱一、課程的性質(zhì)和任務(wù)課程性質(zhì):匯編語(yǔ)言程序設(shè)計(jì)(實(shí)踐)是計(jì)算機(jī)類專業(yè)計(jì)算機(jī)組成與匯 編課程的后續(xù)課程設(shè)計(jì)課程。本課程的任務(wù)是:通過(guò)課程設(shè)計(jì),為學(xué)生提供一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī) 會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問題的能 力。提高學(xué)生實(shí)際編程的能力。本課程教學(xué)應(yīng)達(dá)到的基本要求是:利用學(xué)到的編程知識(shí)和編程技巧,通過(guò)布置具 有一定難度的程序設(shè)計(jì)題目,幫助學(xué)生熟悉程序的設(shè)計(jì)、編寫與調(diào)試過(guò)程。二、時(shí)間安排本課程設(shè)計(jì)時(shí)間為一周(28學(xué)時(shí)),題目提前兩周布置,使學(xué)生作好準(zhǔn)備。具 體時(shí)間安排如下:1分析
2、設(shè)計(jì)準(zhǔn)備階段(周一)2編程調(diào)試階段(周二至周四)3總結(jié)報(bào)告和書寫說(shuō)明書階段(周三至周四)4.考核階段(周五)三、課題內(nèi)容:提供以下備選課題:1. 動(dòng)畫程序2圖形程序3. 樂曲演奏程序四、組織管理:對(duì)學(xué)生分組,每組12人,每組必須完成以上1 3或2、3兩題。五、考核評(píng)估:成績(jī)分優(yōu)、良、及格和不及格四等,從以下幾方面考核:1程序設(shè)計(jì)的可用性,實(shí)用性,通用性,可擴(kuò)充性(40%2學(xué)生的動(dòng)手能力,創(chuàng)新精神(30%3總結(jié)報(bào)告(10%4. 答辯水平(20%主編:王富榮主審:姚培華24附錄匯編語(yǔ)言程序設(shè)計(jì)(實(shí)踐)課程補(bǔ)充知識(shí)8086/8088微機(jī)的顯示系統(tǒng)由顯卡(又稱顯示適配器)和顯示器組成。顯卡是計(jì) 算機(jī)和
3、顯示器之間的接口,根據(jù)所能顯示的顏色和分辨率,顯卡可分為MDA、CGA、 EGA、VGA等多種。顯卡又由顯示控制器和顯示存儲(chǔ)器(顯存,又稱顯示緩沖區(qū), 與系統(tǒng)RAM統(tǒng)一編址)組成。顯示控制器可通過(guò)系統(tǒng)對(duì)其進(jìn)行編程,設(shè)定相應(yīng)的工 作方式,這樣我們通過(guò)數(shù)據(jù)傳送指令往顯示緩沖區(qū)內(nèi)傳送數(shù)據(jù),相應(yīng)的內(nèi)容就會(huì)立即 顯示在屏幕上。顯示方式分為文本方式和圖形方式。文本顯示方式是將顯示器的屏幕劃分為行和 列的二維系統(tǒng),在行列組成的網(wǎng)格位置上顯示字符。規(guī)定行和列的起始點(diǎn)為屏幕的左 上角。以80(列)X25(行)為例,即一行顯示80個(gè)字符,共25行,左上角為座標(biāo) (0, 0),右下角座標(biāo)為(24, 79)。在這種顯
4、示方式中,通常顯示緩沖區(qū)的每?jī)蓚€(gè) 單元對(duì)應(yīng)屏幕上的一個(gè)字符,一個(gè)字節(jié)存放字符的ASCII碼,緊接著的一個(gè)字節(jié)存放 該字符的顯示屬性(如加亮、閃爍或反底顯示等),共需顯示緩沖區(qū)為80X25X 2=4000Byte文本顯示方式占用內(nèi)存少,顯示速度快,但只能顯示字符。圖形顯示方式下,顯示的單位是屏幕上的圖象點(diǎn)(像素)。屏幕按分辨率分成像 素行和列。例如800X 600的顯示分辨率,說(shuō)明一行可顯示800個(gè)像素點(diǎn),共600行。 顯示的每個(gè)像素有其顯示屬性(灰度值或顏色)。顯示緩沖區(qū)對(duì)應(yīng)存放著屏幕的每個(gè) 像素點(diǎn)的灰度值或顏色?;叶戎当憩F(xiàn)為所顯示像素的亮暗差別,顏色則在彩色顯示器 中表現(xiàn)為色彩?;叶群蜕手?/p>
5、越高,圖像層次越清楚逼真。像素越密,分辨率越高, 圖像越清晰。以分辨率為800X 600,顏色256種(需8位二進(jìn)制數(shù)表示)的增強(qiáng)型 VGA顯卡為例,其顯示緩沖區(qū)至少為800X 600X 1Byteo1顯示模式和字符屬性1 .顯示模式在文本方式和圖形方式下,顯示系統(tǒng)還可以工作在不同的分辨率和顏色下??梢?通過(guò)系統(tǒng)BIOS 10H中斷的0號(hào)功能來(lái)設(shè)置。具體見表1o表1顯示模式模式號(hào)分辨率顏色數(shù)顯示方式調(diào)用方式0040X 25字符單色文本AH=000140X 25字符16色文本AL=模式號(hào)0280X 25字符單色文本執(zhí)行INT 10H0380X 25字符16色文本04320X 200 像素4色圖形
6、05320X 200 像素單色圖形06640X 200 像素單色圖形0780X 25字符單色文本0D320X 200 像素16色圖形0E640X 200 像素16色圖形0F640X 350 像素單色圖形10640X 350 像素16色圖形11640X 480 像素單色圖形12640X 480 像素16色圖形13320X 200 像素256色圖形2 字符的顯示屬性文本顯示模式下,字符顯示屬性確定了字符在屏幕上所顯示出來(lái)的特點(diǎn),如是否 加亮?前景和背景如何?等等。單色字符顯示屬性字節(jié)的各位功能,如圖1所示。位:765/閃爍背景(000=1,111=白)亮度 前景(000=黑,111=白)0=不閃0
7、=正常仁閃爍1= 高亮度圖1單色字符的顯示屬性字節(jié)彩色字符顯示屬性字節(jié)的各位功能,如圖2所示屬性可以有不同的組合,表2是一些單色顯示的屬性.屬性值顯示效果屬性值顯示效果00000000無(wú)顯示01110000白底黑字,反相顯示00000001黑底白字,下劃線10000111黑底白字,閃爍顯示00000111黑底白字,正常顯示11110000白底黑字,反相閃爍00001111黑底白字,高亮度表2顏色屬性與取值的對(duì)應(yīng)關(guān)系O位:76543圖2彩色顯示屬性字節(jié)屬性字節(jié)的低四位代表該字符的前景色(IRGB),它們與顏色的對(duì)應(yīng)關(guān)系見表3。表3彩色文本方式顏色顏色I(xiàn)RGB顏色I(xiàn)RGB顏色I(xiàn)RGB顏色I(xiàn)RGB黑
8、0000灰1000紅0100淡紅1100藍(lán)0001淺藍(lán)1001洋紅0101淡洋紅1101綠0010淺綠1010棕0110黃1110青0011淺青1011淺灰0111高亮白11112字符方式下的顯示緩沖區(qū)顯示存儲(chǔ)器是顯卡的一部分,它與普通內(nèi)存統(tǒng)一編址。8086/8088系列微機(jī)在設(shè) 計(jì)時(shí)根據(jù)不同的顯卡將顯示緩沖區(qū)放在不同的位置。對(duì)CGA、EGA、VGA顯卡,顯 存起始地址是B800: 0000H;對(duì)MDA,是B000 000014 每個(gè)字符的ASCII碼和 屬性碼字節(jié)存放于連續(xù)的兩個(gè)字節(jié)中。在80X25的文本顯示方式下,屏幕可有2000 個(gè)字符位置,因每個(gè)字符需要兩個(gè)字節(jié)來(lái)表示,共需顯存4KB
9、(實(shí)際只使用4000個(gè) 字節(jié))。如果顯存有16KB,則可保存4屏幕的字符數(shù)據(jù),通常稱為4頁(yè)數(shù)據(jù)。對(duì)CGA、 EGA、VGA的80列方式,0頁(yè)在顯存中的起始地址是B800: 0000H, 1頁(yè)為B800: 1000H, 2 頁(yè)是 B800: 2000H, 3 頁(yè)是 B800: 3000H每個(gè)顯示頁(yè)的前2000個(gè)字(4000個(gè)字節(jié))與屏幕上的位置對(duì)應(yīng),存放一個(gè) 字符的ASCII值及屬性值,對(duì)應(yīng)關(guān)系如圖8.3所示。屏幕上某地字符位置在顯存中的偏移地址可由下列公式算出:Char_offset= Page_offset (row X width) +column)x byte在這個(gè)公式中,Page_of
10、fse是頁(yè)偏移地址,width是每行可顯示的字符數(shù),在25 x 80的字符顯示方式下,width=80,byte是表示一個(gè)字符所用的字節(jié)數(shù),在字符顯 示方式中,byte=2, row和column是相對(duì)于屏幕左上角位置(0,0)的行列坐標(biāo)3 BIOS顯示中斷B800:0000H0001H0002H0003H009EH009FH0F00H0F01H0F9EH0F9FHBIOS提供的INT 10H顯示中斷,除了 0號(hào)功能設(shè)置顯示模式外(見表2),還 有以下一些功能調(diào)用。1.光標(biāo)控制 對(duì)光標(biāo)的控制僅在字符方式下有效(因?yàn)閳D形方式下無(wú)光標(biāo))。(1)改變光標(biāo)的大小功能號(hào):AH=01H入口參數(shù):CH=光標(biāo)
11、的開始行(04位)CL=光標(biāo)的結(jié)束行號(hào)(04位)(2)設(shè)置光標(biāo)位置功能號(hào):AH=02H入口參數(shù):BH=頁(yè)號(hào)(在當(dāng)前屏幕顯示時(shí),BH=0)DH=行號(hào)(丫坐標(biāo)) DL=列號(hào)(X坐標(biāo))(3)讀光標(biāo)位置功能號(hào):AH=03H入口參數(shù):BH=頁(yè)號(hào)出口參數(shù):CH=光標(biāo)的當(dāng)前行號(hào)CL=光標(biāo)的當(dāng)前列號(hào)DH=光標(biāo)的起始線DL=光標(biāo)的結(jié)束線例1將光標(biāo)移至屏幕的中間位置顯示字符。分析:通常光標(biāo)的位置是隨著每一次顯示逐個(gè)向后移動(dòng)的,為了在屏幕的指定位 置顯示字符,必須先將光標(biāo)移至該位置。若工作在顯示方式02, 03 (80X 25字符顯 示方式),(0, 0)是左上角坐標(biāo),(79, 24)是右下角坐標(biāo)。程序如下:MOV
12、 AH , 02HMOVBH, 0MOVDH , 12MOVDL, 40INT10H2. 清屏和卷屏清屏是屏幕顯示內(nèi)容清除。卷屏是指屏幕顯示內(nèi)容滾動(dòng)。分上滾和下滾兩種。(1)上滾:顯示內(nèi)容向上移動(dòng),底端插入空白行。功能號(hào):AH=06H入口參數(shù):AL=滾動(dòng)行數(shù)(如AL=0,則指定屏幕上為空白)BH=新插入行的字符屬性CH二滾動(dòng)的左上角行號(hào)CL=滾動(dòng)的左上角列號(hào)DH=滾動(dòng)的右下角行號(hào)DL=滾動(dòng)的右下角列號(hào)(2)下滾:顯示內(nèi)容向下移動(dòng),頂端插入空白行。功能號(hào):AH=07H入口參數(shù):與上滾的入口參數(shù)相同清屏操作可通過(guò)這兩個(gè)操作進(jìn)行。當(dāng)AL中的值為0時(shí)就是清屏。例2 清除全屏幕操作的子程序;6號(hào)功能CL
13、RPROC NEARPUSHAXPUSHBXPUSHCXPUSH DXMOVAH , 06HMOVAL, 00;指定屏幕內(nèi)容為空白,即清屏MOVBH, 07H;用正常顯示屬性為指定窗口清屏XORCX,CX;窗口的左上角坐標(biāo)為(0, 0)MOVDX,184FH;窗口的右下角坐標(biāo)為(24, 79)INT10HMOVDX,0;設(shè)置光標(biāo)于左上角MOV AH,2INT10HPOP DXPOP CXPOP BXPOP AXRETCLR ENDP3. 在指定的頁(yè)中顯示字符7字符串(1) 選擇當(dāng)前顯示頁(yè)功能號(hào):AH=05H入口參數(shù):AL=當(dāng)前顯示頁(yè)號(hào) 注:對(duì)于不同的顯示方式,可用頁(yè)號(hào)范圍不同。(2) 讀當(dāng)前顯
14、示方式功能號(hào):AH=0FH入口參數(shù):無(wú)出口參數(shù):BH=頁(yè)號(hào)AH=字符列數(shù)AL=顯示方式(3) 在當(dāng)前光標(biāo)位置上寫字符功能號(hào):AH=09H入口參數(shù):AL=字符的ASCII碼值BH=頁(yè)號(hào)BL=字符的屬性。乂=寫入的字符個(gè)數(shù)注:0A號(hào)功能與09號(hào)基本相同,僅不需設(shè)置字符的屬性。(4) 在光標(biāo)位置處顯示字符串功能號(hào):AH=13H入口參數(shù):ES*符串所在段的段地址BP二字符串首字節(jié)的偏移地址CX=字符串的字節(jié)長(zhǎng)度DX=顯示字符串第一個(gè)光標(biāo)位置(DH :行號(hào),DL:列號(hào))BH=頁(yè)號(hào)AL=0時(shí),字符串結(jié)構(gòu)為:字符,字符, 顯示完后,光標(biāo)在字符串的第一個(gè)位置上。AL=1時(shí),字符串結(jié)構(gòu)為:字符,字符,顯示完后,
15、光標(biāo)在字符串的最后一個(gè)字符的下一個(gè)位置上。AL=2時(shí),字符串結(jié)構(gòu)為:字符,屬性,字符,屬性, 顯示完后,光標(biāo)在字符串的第一個(gè)位置上。AL=3時(shí),字符串結(jié)構(gòu)為:字符,屬性,字符,屬性,顯示完后,光標(biāo)在字符串的最后一個(gè)字符的下一個(gè)位置 上。例3在屏幕上以藍(lán)底紅字顯示字符串“HELLO ”程序如下:STRINGNDB 'HELLO 'DB $STRINGMOVAL,3;設(shè)置顯示模式為80*25文本方式MOVAH,0INT10HMOVAX,SEG STRING;字符串段地址-ESMOVES,AXMOVBP,PFFSET STRING;字符串首字符偏移地址-BPMOVCX,N;N個(gè)字符M
16、OVDX,0;從(0,0)處開始顯示MOVBL,14H;顯示字符屬性為藍(lán)底紅字MOVAL,0;字符串格式為:字符,字符,MOVAH,13H;顯示字符串INT10H4圖形操作(1)設(shè)置彩色組或背景顏色功能號(hào):AH=OBH入口參數(shù):BH=O時(shí),設(shè)置背景顏色;BH=1時(shí),設(shè)置彩色組,即為顯示的像素點(diǎn)確定顏色組;BL=背景顏色(015見表4或彩色組(01)。出口參數(shù):無(wú)表4圖形方式下背景顏色代碼數(shù)值顏色數(shù)值顏色數(shù)值顏色數(shù)值顏色00黑色04紅色08灰色0C淺紅色01藍(lán)色05絳色09淺藍(lán)色0D淺絳色02綠色06褐色0A淺綠色0E黃色03表色07淺灰0B淺青色0F白色(2)寫一個(gè)像素功能號(hào):AH=OCH入口
17、參數(shù):DX=行數(shù)(0199或0479CX二行數(shù)(0319或 0639AL=彩色值(AL的D7為“1”,則采色值與當(dāng)前點(diǎn)內(nèi)容作“異或”運(yùn) 算)出口參數(shù):無(wú)(3)讀一個(gè)像素功能號(hào):AH=0DH入口參數(shù):DX=行數(shù)(0199或0479CX二行數(shù)(0319或 0639出口參數(shù):AL=彩色值例8.12設(shè)置彩色圖形方式,在屏幕中央顯示一個(gè)帶條紋的矩形。背景顏色設(shè)置 為黃色,矩形邊框設(shè)置為紅色,橫條顏色為綠色。程序如下:CODE SEGMENTASSUME CS: CODESTART: MOVAH,0MOVAL,4;設(shè)置320X 200, 4色圖形方式INT10HMOVAH,0BHMOVBH,0MOV BL
18、, OEH;設(shè)置背景顏色為黃色I(xiàn)NT10HLINE2 PROC NEAR;畫橫線子程序MOVCX,80MOVAL,2;選擇顏色為紅色CALLLINE1;調(diào)用子程序LINE1,顯示矩形左邊框MOVDX,50;修改行號(hào)、列號(hào)MOVCX,240CALLLINE1;調(diào)用子程序LINE1,顯示矩形右邊框MOVDX,50;修改行號(hào)、列號(hào)MOVCX,81MOVAL,2;選擇顏色為紅色CALLLINE2;調(diào)用子程序LINE2,顯示矩形上邊框MOVDX,150;修改行號(hào)、列號(hào)MOVCX,81CALLLINE2;調(diào)用子程序LINE2,顯示矩形下邊框MOVDX,60LP3:MOVCX,81;置矩形內(nèi)橫線初始位置MO
19、VAL,1;選擇橫條顏色為綠色CALLLINE2;調(diào)用子程序LINE2,顯示綠色橫線ADDDX,10CMPDX,150JBLP3;若行號(hào)小于150,轉(zhuǎn)LP3繼續(xù)顯示橫線MOVAH,4CH;返回DOSINT21HLINE1 PROCNEAR;畫豎線子程序LP1 :MOVAH,0CH;寫點(diǎn)功能INT10HINCDX;下一點(diǎn)行號(hào)增1CMPDX,150JBELP1;若行號(hào)小于150,則轉(zhuǎn)LP1繼續(xù)顯示RETMOV DX, 50;行號(hào)送DX,列號(hào)送CXLINE1ENDPLP2 :MOVINTINCAH,0CH10HCX;寫點(diǎn)功能;下一點(diǎn)列號(hào)增1CMPCX,240;若列號(hào)小于240,則轉(zhuǎn)LP2繼續(xù)顯示JB
20、ELP2RETLINE2ENDPCODEENDSEND START4動(dòng)畫程序?qū)崿F(xiàn)動(dòng)畫的過(guò)程一般為:先將圖形在起點(diǎn)顯示,延時(shí)一段時(shí)間,再擦除圖形,然 后在新的位置顯示原圖形,再擦除圖形,如此反復(fù),形成圖形的運(yùn)動(dòng),即動(dòng)畫。擦除圖形,可以通過(guò)清除相應(yīng)部分屏幕來(lái)實(shí)現(xiàn),也可用空字符在原位置重寫來(lái)實(shí) 現(xiàn)。例5在屏幕上顯示一運(yùn)動(dòng)的汽車。r-*匸匚匚匚.匚匚匚.匚匚匚.匚匚匚.匚匚匚.、/二I FFFPFFFPFFFPFFFPFFFFJI- I匸匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚.|二” I J J J J J J J J J j j j j j j jI / 1J紅O Oj棕,閃爍程序如下:CODE SEGME
21、NTASSSUME CS: CODESTART:WRMACROCHA,ATR,NUMMOVAH,02HINT10HMOVAL,CHAMOVCX,NUMMOVBL,ATRMOVAH,09HINT10HENDMMOVAX,0003H;定義一個(gè)宏WR;設(shè)置光標(biāo)位置號(hào);DH、DL為行號(hào)、列號(hào);AL中為顯示字符的ASCII碼值;顯示字符個(gè)數(shù);顯示字符的屬性;在當(dāng)前光標(biāo)位置寫字符;屏幕顯示方式設(shè)置為80X 25字符方式INT10HS1:MOVSI, 0A00H;顯示起始坐標(biāo)為10行,0列S2:MOVDX , SIWR0DBH , 0CH, 5;顯示第一排INCDH;指向下一排WR0DBH , 4, 7;顯
22、示第二排INCDH;指向下一排INCDL;指向下一列WR09H, 8EH, 1;顯示第三排的第一個(gè)符號(hào)ADDDL , 4WR09H, 8EH, 1;顯示第三排的第二個(gè)符號(hào)CALLDEALY;延時(shí)一段時(shí)間MOV DX, SI;返回起始點(diǎn)WR0, 0, 5;清除第一排INCDHWR0, 0, 7;清除第二排INCDHWR0, 0, 6;清除第三排MOVAH , 1;讀鍵盤,判有無(wú)鍵按下?INT16HJZCONU;無(wú)鍵按下繼續(xù)轉(zhuǎn)下一列顯示MOVAH , 4C;有鍵按下,返回DOSINT21HCONU :INCSICMPSI , 0A50H;是最后一列嗎?JBS3;不是,繼續(xù)轉(zhuǎn)下一列顯示JMPS1;是
23、,從第一列開始重新顯示S3:JMPS2DELAYPROCMOVCX , 0000H;延時(shí)子程序LOOP$RETDELAYENDPCODE ENDSEND START5圖形程序BIOS中斷調(diào)用中提供了一些讀/寫像素等功能,可以利用“INT 10H”調(diào)用有關(guān) 功能實(shí)現(xiàn)屏幕繪圖。例6在屏幕上根據(jù)光標(biāo)控制鍵繪圖,按Esc鍵,繪圖結(jié)束。分析:在屏幕上繪圖,可調(diào)用BIOS軟中斷INT 10H的0CH號(hào)功能,其作用是 在屏幕上寫一個(gè)像素,即畫一個(gè)點(diǎn),再用鍵盤中斷讀光標(biāo)鍵的鍵值,根據(jù)鍵值修改像 素的行列值,得到所需的圖形。程序如下:CODESEGMENTASSUMECS: CODESTART:MOV AH,0
24、0H;設(shè)置顯示模式為VGA640X 480MOVAL,12HINT10HMOVCX,300;CX為橫坐標(biāo)MOVDX,240;DX為縱坐標(biāo)WRITE :MOVAL,0AH;設(shè)置點(diǎn)的顏色MOVAH,0CH;寫一個(gè)像素INT10HMOVAH,0;讀鍵盤按鍵值INT16HCMPAL,1BH;是Esc鍵嗎?JZEXIT;是,退岀CMPAH,48H;是“忙鍵嗎?JNZNUP;不是,轉(zhuǎn)判斷是其它光標(biāo)鍵DECDX;是“匸”鍵,縱坐標(biāo)減1JMPWRITE;轉(zhuǎn)至畫點(diǎn)NUP:CMPAH,50H;是“廠鍵嗎?JNZNDOWNINCDXJMPWRITENDOWN :CMPAH,4DH;是“7”鍵嗎?JNZNRIGHTI
25、NCCXJMPWRITENRIGHT :CMPAH,4BHJNZNLEFTDECCXJMPWRITEEXIT :MOVAX,0003HINT10HMOVAH,4CHINT21HCODEENDSENDSTART;是“”鍵嗎?;恢復(fù)屏幕為字符顯示方式;返回DOS7樂曲程序:我們知道,樂曲是按照一定的高低、長(zhǎng)短和強(qiáng)弱關(guān)系組成的音調(diào)。在一首樂曲 中,每個(gè)音符的音高和音長(zhǎng)與音頻和節(jié)拍有關(guān)。音符與音頻的關(guān)系如表1所示。表5音符與音頻關(guān)系音符聲音頻率音符聲音頻率12625392229464403330749443491523而節(jié)拍是保持該聲音頻率的時(shí)間(音長(zhǎng))。八分音符為半拍,四分音符為一拍, 二分音符為兩
26、拍,全音符為四拍。如果全音符的持續(xù)時(shí)間為S,那么八分音符就為 0.125s四分音符為0.25s二分音符為0.5s。8086/808微機(jī)驅(qū)動(dòng)揚(yáng)聲器發(fā)聲的硬件電路如圖1所示。欲使微機(jī)的揚(yáng)聲器能演 奏樂曲,從該圖可知,必須給揚(yáng)聲器輸入指定頻率和持續(xù)一定時(shí)間的脈沖。產(chǎn)生指圖1揚(yáng)聲器工作硬件示意圖定頻率的脈沖除采用例7.1 所示方法外,還可以采用另外一種方法:利用825列編程 定時(shí)器的通道2輸出不同頻率的脈沖信號(hào)。8253定時(shí)器通道2工作于計(jì)數(shù)方式,輸入 的計(jì)數(shù)脈沖其頻率為1192576Hz設(shè)置計(jì)數(shù)初值為1192576聲音頻率,那么8253通 道2輸出的將是該聲音頻率的脈沖??刂?255A勺PB端口的位
27、1,使其置“1”,且 保持其持續(xù)時(shí)間與該音符的音長(zhǎng)相等。這樣脈沖經(jīng)放大后揚(yáng)聲器就能演奏樂曲了。例88253定時(shí)計(jì)數(shù)器產(chǎn)生指定頻率脈沖的子程序FREQPROCPUSHAXPUSHDXPUSHDI;子程序的入口參數(shù),DI=聲音頻率MOVAL,0B6H;8253勺工作方式OUT43H,ALMOVDX,12H;DX: AX內(nèi)容119257作為被除數(shù)MOVAX,3480HDIVDIOUT42H,AL;AX作為商,先送AL至計(jì)數(shù)器MOVAL,AH;再送AH至計(jì)數(shù)器OUT42H,ALPOPDIPOPDXPOPAXRETFREQENDP而持續(xù)時(shí)間可由兩種方法實(shí)現(xiàn)。一種是利用CPU執(zhí)行循環(huán)指令來(lái)產(chǎn)生延遲時(shí) 間,
28、如:MOV CX, NDELAY : LOOPDELAY但對(duì)于8086 80286 80386 80486 pentium芯片來(lái)說(shuō),同一指令執(zhí)行的時(shí)間 是不一樣的,因而它們產(chǎn)生的時(shí)間延遲也是不一樣,很難在不同型號(hào)計(jì)算機(jī)得到相 同的延遲時(shí)間。可以采用另一種方法:利用硬件產(chǎn)生時(shí)間延遲。我們知道微機(jī)硬件 61H端口的PB4,每隔15.8u觸發(fā)一次(與硬件型號(hào)無(wú)關(guān)),監(jiān)控該位的變化從而產(chǎn) 生準(zhǔn)確的時(shí)間延遲。例9硬件產(chǎn)生10ms的延遲子程序:DELAYPROCPUSHPUSHMOVAXCXCX,663;663*15.08=10000us=10msLOP1 :INAL,61H;讀入PB 口ANDAL,10H;檢查PB1CMPAL,AHJELOP1;有變化嗎?MOVAH
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦炭窯峪煤業(yè)有限公司重大安全風(fēng)險(xiǎn)分析研判報(bào)告 ((無(wú)重大風(fēng)險(xiǎn)))
- 2021-2026年中國(guó)男士香水行業(yè)深度評(píng)估及投資規(guī)劃建議報(bào)告
- 2025年針織時(shí)裝面料項(xiàng)目可行性研究報(bào)告
- PE管項(xiàng)目立項(xiàng)報(bào)告
- 中國(guó)生物藥行業(yè)市場(chǎng)調(diào)研及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年耐磨鋼精鑄件行業(yè)深度研究分析報(bào)告
- 2024-2030年中國(guó)低壓斷路器行業(yè)市場(chǎng)深度研究及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 文化產(chǎn)業(yè)園可行性研究報(bào)告簡(jiǎn)版
- 中國(guó)嵌入式室內(nèi)機(jī)項(xiàng)目投資可行性研究報(bào)告
- 關(guān)于重建橋梁的申請(qǐng)報(bào)告
- 情侶自愿轉(zhuǎn)賬贈(zèng)與協(xié)議書范本
- DB14-T 3043-2024 黃土丘陵溝壑區(qū)水土流失綜合治理技術(shù)規(guī)范
- 青島西海岸新區(qū)2025中考自主招生英語(yǔ)試卷試題(含答案詳解)
- 《氣象學(xué)與氣候?qū)W》全書電子教案B
- 生產(chǎn)設(shè)備更新和技術(shù)改造項(xiàng)目資金申請(qǐng)報(bào)告-超長(zhǎng)期國(guó)債
- 江西省“振興杯”信息通信網(wǎng)絡(luò)運(yùn)行管理員競(jìng)賽考試題庫(kù)-上(單選題)
- DLT 5756-2017 額定電壓35kV(Um=40.5kV)及以下冷縮式電纜附件安裝規(guī)程
- 2023高考數(shù)學(xué)藝考生一輪復(fù)習(xí)講義(學(xué)生版)
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- 2024年連云港專業(yè)技術(shù)人員繼續(xù)教育《飲食、運(yùn)動(dòng)和健康的關(guān)系》92分(試卷)
- 《短視頻拍攝與制作》課件-2短視頻前期創(chuàng)意
評(píng)論
0/150
提交評(píng)論