




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)安排第一次實(shí)驗(yàn):存儲(chǔ)區(qū)1中存放著ASCII碼表(00H7FH),要求編寫(xiě)程序,將存儲(chǔ)區(qū)1中的內(nèi)容復(fù)制到存儲(chǔ)區(qū)2。然后,將存儲(chǔ)區(qū)2中的數(shù)字編碼轉(zhuǎn)換為如下編碼: 30HAAH,31HBBH,32HCCH 33HDDH,34HEEH,35HFFH,36HA8H,37HBFH 38HC9H, 39HD1H。第二次實(shí)驗(yàn):1、兩個(gè)數(shù)組的多位數(shù)加法操作(比如數(shù)組是100個(gè)字節(jié)的數(shù)據(jù)等),可以考慮數(shù)組中的數(shù)據(jù)既可以是二進(jìn)制數(shù),也可以是十進(jìn)制數(shù)。2、編程完成以下公式的運(yùn)算:(假設(shè)公式中的所有變量均為16位有符號(hào)的數(shù))1)W=X+Y*300 要求乘積的高位在W中,低位在R中2)W=P / (Q-15) 要求商
2、存入W,余數(shù)存入R 第三次實(shí)驗(yàn):1、編程實(shí)現(xiàn)各種進(jìn)制之間的轉(zhuǎn)換,例如十進(jìn)制到二進(jìn)制、二進(jìn)制到十進(jìn)制,十六進(jìn)制到二進(jìn)制、二進(jìn)制到十六進(jìn)制等;2、編寫(xiě)數(shù)字排序子程序,通過(guò)主程序調(diào)用實(shí)現(xiàn)數(shù)組數(shù)據(jù)的排序(升序或降序);第四次實(shí)驗(yàn):基本I/O和地址譯碼實(shí)驗(yàn)1、8/32位I/O接口設(shè)計(jì)實(shí)驗(yàn)2、地址譯碼電路設(shè)計(jì)實(shí)驗(yàn)第五次實(shí)驗(yàn): 8259中斷控制器實(shí)驗(yàn)1、8259查詢中斷應(yīng)用實(shí)驗(yàn)2、點(diǎn)陣漢字滾動(dòng)顯示實(shí)驗(yàn)第六次實(shí)驗(yàn):8255和8254實(shí)驗(yàn),應(yīng)用中斷方式等 1、連接8255與鍵盤(pán)掃描單元,編寫(xiě)程序完成鍵盤(pán)掃描功能,并將讀到的按鍵值依次顯示在數(shù)碼管上2、利用8254的定時(shí)功能,編寫(xiě)程序完成在數(shù)碼管上循環(huán)顯示任意字符
3、串第七次實(shí)驗(yàn):A/D和D/A實(shí)驗(yàn) 1、A/D轉(zhuǎn)換實(shí)驗(yàn)2、D/A產(chǎn)生任意波形的實(shí)驗(yàn)微機(jī)原理與接口技術(shù)實(shí) 驗(yàn) 指 導(dǎo) 書(shū)吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院2010年12月目錄第一章軟件實(shí)驗(yàn)部分2實(shí)驗(yàn)一顯示程序與數(shù)據(jù)傳送實(shí)驗(yàn)2實(shí)驗(yàn)二數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn)6實(shí)驗(yàn)三運(yùn)算類指令編程實(shí)驗(yàn)8第二章硬件實(shí)驗(yàn)部分11實(shí)驗(yàn)四8/32位I/O接口實(shí)驗(yàn)11實(shí)驗(yàn)五8255并口控制器應(yīng)用實(shí)驗(yàn)16實(shí)驗(yàn)六 8259中斷控制器實(shí)驗(yàn)18實(shí)驗(yàn)七 8254定時(shí)/計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)22實(shí)驗(yàn)八16550串行控制器應(yīng)用實(shí)驗(yàn)27實(shí)驗(yàn)九8237 DMA控制器應(yīng)用實(shí)驗(yàn)33實(shí)驗(yàn)十 A/D轉(zhuǎn)換與D/A轉(zhuǎn)換實(shí)驗(yàn)39附錄A TD-PIT+實(shí)驗(yàn)系統(tǒng)硬件介紹43附錄B T
4、DPIT集成操作軟件介紹46第一章 軟件實(shí)驗(yàn)部分本章主要通過(guò)實(shí)驗(yàn)來(lái)學(xué)習(xí)80X86的指令系統(tǒng)、尋址方式以及程序的設(shè)計(jì)方法,同時(shí)掌握集成操作軟件Tdpit的使用。實(shí)驗(yàn)一 顯示程序與數(shù)據(jù)傳送實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?)掌握在PC機(jī)上以十六進(jìn)制形式顯示數(shù)據(jù)的方法。2)掌握部分DOS功能調(diào)用使用方法。3)掌握與數(shù)據(jù)有關(guān)的不同尋址方式。3)熟悉Windows集成操作軟件Tdpit的操作環(huán)境和操作方法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容及說(shuō)明1顯示程序?qū)嶒?yàn)一般來(lái)說(shuō),有很多程序需要顯示輸出提示運(yùn)行的狀況和結(jié)果,有的還需要將數(shù)據(jù)區(qū)中的內(nèi)容顯示在屏幕上。本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)以十六進(jìn)
5、制數(shù)形式顯示在屏幕上,并利用DOS功能調(diào)用完成一些提示信息的顯示。通過(guò)本實(shí)驗(yàn),初步掌握實(shí)驗(yàn)系統(tǒng)配套操作軟件的使用。實(shí)驗(yàn)中所使用DOS功能調(diào)用(INT 21H)說(shuō)明如下。(1) 顯示單個(gè)字符輸出入口:AH=02H 調(diào)用參數(shù):DL=輸出字符(2) 顯示字符串入口:AH=09H 調(diào)用參數(shù):DS:DX=串地址,$為結(jié)束字符(3) 鍵盤(pán)輸入并回顯入口:AH=01H 返回參數(shù):AL=輸出字符(4) 返回DOS系統(tǒng)入口:AH=4CH 調(diào)用參數(shù):AL=返回碼2數(shù)據(jù)傳送實(shí)驗(yàn)本實(shí)驗(yàn)要求將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏幕上。4、實(shí)驗(yàn)步驟1顯示程序?qū)嶒?yàn)(1) 運(yùn)行Tdpit集成操作
6、軟件,進(jìn)入編輯調(diào)試集成環(huán)境。(2) 根據(jù)程序設(shè)計(jì)使用語(yǔ)言不同,在“語(yǔ)言設(shè)置”菜單項(xiàng)中設(shè)置所使用的語(yǔ)言。如圖1-1所示。該項(xiàng)一經(jīng)設(shè)置,會(huì)再下次啟動(dòng)后仍保持不變。圖1-1設(shè)置語(yǔ)言環(huán)境(3) 開(kāi)始新建文件進(jìn)行編程。點(diǎn)擊“文件”菜單項(xiàng)中的“新建”,可以新建一個(gè)空白文檔。默認(rèn)名為T(mén)d-pit1。如圖1-2所示。圖1-2新建空白文檔(4) 編寫(xiě)程序,如圖1-3所示,并保存,此時(shí)軟件會(huì)提示輸入新的文件名,輸入文件名后點(diǎn)擊保存。圖1-3程序編輯界面(5) 點(diǎn)擊,編譯文件,若程序編譯無(wú)誤,然后再點(diǎn)擊,鏈接程序。編譯連接成功會(huì)在輸出信息欄顯示輸出信息,如圖1-4所示。圖1-4編譯連接輸出信息(6) 編譯連接成功后
7、可以點(diǎn)擊,運(yùn)行程序,查看運(yùn)行結(jié)果。(7) 可以點(diǎn)擊,調(diào)試程序,進(jìn)入調(diào)試界面,進(jìn)行程序的調(diào)試。2數(shù)據(jù)傳送實(shí)驗(yàn)(1) 運(yùn)行Tdpit集成操作軟件,編寫(xiě)實(shí)驗(yàn)程序。(2) 編譯連接無(wú)誤后,點(diǎn)擊,進(jìn)入調(diào)試環(huán)境,進(jìn)行程序的調(diào)試。如圖1-5所示。圖1-5進(jìn)入調(diào)試環(huán)境(3) 按F8鍵單步運(yùn)行程序,執(zhí)行完MOV DS,AX語(yǔ)句后,觀察DS寄存器中出現(xiàn)的段地址。激活Dump數(shù)據(jù)顯示區(qū),用CtrlG命令,輸入要查看的數(shù)據(jù)區(qū)地址“0C69:0000”。如圖1-6所示。可以在Dump數(shù)據(jù)區(qū)看到DS數(shù)據(jù)段中MSR源數(shù)據(jù)串"HELLO,WORLD!$"。如圖1-7所示。圖1-6根據(jù)DS值查看數(shù)據(jù)段圖1-
8、7 DS源數(shù)據(jù)段數(shù)據(jù)(4) 繼續(xù)單步運(yùn)行程序,執(zhí)行MOV ES,AX語(yǔ)句后,可以看到ES附加數(shù)據(jù)段出現(xiàn)的段地址,用同樣的方法可以查看ES:0000的數(shù)據(jù)。如圖1-8所示。圖1-8根據(jù)ES值查看附加數(shù)據(jù)段(5) 數(shù)據(jù)傳輸還沒(méi)開(kāi)始進(jìn)行,此時(shí)ES段的數(shù)據(jù)為空。繼續(xù)單步執(zhí)行完程序,可以看到ES數(shù)據(jù)段逐漸被寫(xiě)入源數(shù)據(jù)段DS的數(shù)據(jù)。直到數(shù)據(jù)傳輸完畢,可以看到ES數(shù)據(jù)段中目的數(shù)據(jù)串MSD已經(jīng)被寫(xiě)入了數(shù)據(jù)串"HELLO,WORLD!$"。如圖2-2-5所示。圖1-9根據(jù)ES值查看附加數(shù)據(jù)段(6) 可以更改程序中聲明的源數(shù)據(jù)區(qū)數(shù)據(jù),考察程序的正確性。實(shí)驗(yàn)二數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn)1、實(shí)驗(yàn)?zāi)康恼莆詹煌?/p>
9、進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容及說(shuō)明計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由ASCII碼或BCD碼表示的數(shù)據(jù)或字符,CPU一般均用二進(jìn)制數(shù)進(jìn)行計(jì)算或其他信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)锳SCII碼、BCD碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換和代碼的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與外設(shè)間的數(shù)碼對(duì)應(yīng)關(guān)系如表2-1所示。數(shù)碼轉(zhuǎn)換關(guān)系如圖2-1所示。圖2-1 計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系表2-1 數(shù)碼轉(zhuǎn)換對(duì)應(yīng)關(guān)系十六進(jìn)制BCD碼二進(jìn)制機(jī)器碼ASCII碼七段碼共陽(yáng)共陰00000000030H40H3FH100010
10、00131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA101041H08H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H1將ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制數(shù)可以表示為:Dn×10n+Dn-1×10n-1+
11、D0×100=Di×10i 其中Di代表十進(jìn)制數(shù)1、2、39、0。上式可以轉(zhuǎn)換為:Di×10i=(Dn×10+Dn-1)×10)+Dn-2)×10+D1)×10+D0 由上式可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制的方法:從十進(jìn)制數(shù)的最高位Dn開(kāi)始作乘10加次位的操作,依次類推,則可求出二進(jìn)制數(shù)結(jié)果。本實(shí)驗(yàn)要求將緩沖區(qū)中的一個(gè)五位十進(jìn)制數(shù)00012的ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果按位顯示在屏幕上。2將十進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為BCD碼本實(shí)驗(yàn)要求將鍵盤(pán)輸入的一個(gè)五位十進(jìn)制數(shù)54321的ASC碼存放在數(shù)據(jù)區(qū)中,轉(zhuǎn)換為BCD 碼后,
12、并將轉(zhuǎn)換結(jié)果按位分別顯示于屏幕上。若輸入的不是十進(jìn)制數(shù)的ASC碼,則輸出“FF”。提示:一字節(jié)ASC碼取其低四位即變?yōu)锽CD碼。3將十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換為十進(jìn)制數(shù)十六位二進(jìn)制數(shù)的值域?yàn)?-65535,最大可轉(zhuǎn)換為五位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可表示為:ND=D4×104+D3×103+D2×102+D1×10+D0因此,將十六位二進(jìn)制數(shù)轉(zhuǎn)換為五位ASC碼表示的十進(jìn)制數(shù),就是求D1-D4,并將它們轉(zhuǎn)化為ASC碼。本實(shí)驗(yàn)要求將緩沖區(qū)中存放的000CH的ASCII碼轉(zhuǎn)換成十進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果顯示在屏幕上。4BCD碼轉(zhuǎn)換為二進(jìn)制碼本實(shí)驗(yàn)要求將四個(gè)二位十進(jìn)制
13、數(shù)的BCD碼存放在某一內(nèi)存單元中,轉(zhuǎn)換出的二進(jìn)制數(shù)碼存入其后的內(nèi)存單元中,轉(zhuǎn)換結(jié)束,送屏幕顯示。4、實(shí)驗(yàn)步驟(1) 運(yùn)行Tdpit集成操作軟件,按照各實(shí)驗(yàn)要求分別編寫(xiě)實(shí)驗(yàn)程序。(2) 對(duì)實(shí)驗(yàn)程序進(jìn)行編譯、鏈接。(3) 使用運(yùn)行功能執(zhí)行程序,觀察運(yùn)行結(jié)果。(4) 使用調(diào)試功能調(diào)試程序,觀察在調(diào)試過(guò)程中,程序指令執(zhí)行之后各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。(5) 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),反復(fù)測(cè)試,驗(yàn)證程序功能。實(shí)驗(yàn)三 運(yùn)算類指令編程實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?)掌握運(yùn)算類指令編程及調(diào)試方法。2)掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及測(cè)試方法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容及說(shuō)明80x86指
14、令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)表3-1所示的數(shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算。表3-1 數(shù)據(jù)類型算術(shù)運(yùn)算表數(shù)制二進(jìn)制BCD碼帶符號(hào)無(wú)符號(hào)組合非組合運(yùn)算符、÷、×、÷、×操作數(shù)字節(jié)、字、多精度字節(jié)(二位數(shù)字)字節(jié)(一位數(shù)字)1二進(jìn)制雙精度加法運(yùn)算本實(shí)驗(yàn)要求計(jì)算X+Y=Z,將結(jié)果Z輸出到屏幕,其中X=001565A0H,Y=0021B79EH。實(shí)驗(yàn)利用累加器AX,先求低十六位和,并存入低址存儲(chǔ)單元,后求高16位和,再存入高址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,因而高位字相加語(yǔ)句需用ADC指令,則低位相加有進(jìn)位時(shí),CF=1,高位字相加時(shí),同時(shí)加上CF
15、中的1。在80386以上微機(jī)中可以直接使用32位寄存器和32位加法指令完成本實(shí)驗(yàn)的功能。2十進(jìn)制數(shù)的BCD碼減法運(yùn)算本實(shí)驗(yàn)要求計(jì)算X-Y=Z,其中,X、Y、Z為BCD碼,其中X=0400H,Y=0102H。3乘法運(yùn)算本實(shí)驗(yàn)要求實(shí)現(xiàn)十進(jìn)制數(shù)的乘法,被乘數(shù)和乘數(shù)均以BCD碼形式存放于內(nèi)存中,被乘數(shù)為54320H,乘數(shù)為3H,運(yùn)算結(jié)束后,將乘積在屏幕上顯示。4用減奇數(shù)開(kāi)平方運(yùn)算80x86指令系統(tǒng)中有乘除法指令但沒(méi)有開(kāi)平方指令,因此,開(kāi)平方運(yùn)算是通過(guò)程序來(lái)實(shí)現(xiàn)的。用減奇數(shù)法可求得近似平方根,獲得平方根的整數(shù)部分。我們知道,N個(gè)自然數(shù)中的奇數(shù)之和等于N2,即:1+3+5=9=321+3+5+7=16=4
16、21+3+5+7+9+11+13+15=64=82若要做S的開(kāi)方運(yùn)算,那麼就可以從S中逐次減去自然數(shù)中的奇數(shù)1,3,5,7,一直進(jìn)行到相減數(shù)為0或不夠減下一個(gè)自然數(shù)的奇數(shù)為止,然后統(tǒng)計(jì)減去自然數(shù)的奇數(shù)個(gè)數(shù),它就是S的近似平方根。本實(shí)驗(yàn)要求利用減奇法計(jì)算0040H的開(kāi)平方值,并將運(yùn)算結(jié)果顯示在屏幕上。4、實(shí)驗(yàn)步驟(1) 運(yùn)行Tdpit集成操作軟件,按各實(shí)驗(yàn)要求編寫(xiě)實(shí)驗(yàn)程序。(2) 分別對(duì)實(shí)驗(yàn)程序進(jìn)行編譯、鏈接。(3) 使用運(yùn)行功能運(yùn)行程序,觀察運(yùn)行結(jié)果。(4) 使用調(diào)試功能調(diào)試程序,觀察在調(diào)試過(guò)程中,各運(yùn)算指令執(zhí)行后,各寄存器、標(biāo)志位及數(shù)據(jù)區(qū)內(nèi)容的變化。(5) 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),反復(fù)測(cè)試,驗(yàn)證
17、程序功能。第二章 硬件實(shí)驗(yàn)部分接口技術(shù)是把由處理器、存儲(chǔ)器等組成的基本系統(tǒng)與外部設(shè)備連接起來(lái),從而實(shí)現(xiàn)CPU與外部設(shè)備通信的一門(mén)技術(shù),任何微機(jī)應(yīng)用開(kāi)發(fā)工作都離不開(kāi)接口的設(shè)計(jì)、選用及連接。微機(jī)應(yīng)用系統(tǒng)需要設(shè)計(jì)的硬件是一些接口電路,所要編寫(xiě)的軟件是控制這些接口電路按要求工作的驅(qū)動(dòng)程序。因此,接口技術(shù)是微機(jī)應(yīng)用中必不可少的基本技能。實(shí)驗(yàn)四 8/32位I/O接口實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?)掌握基本I/O接口電路的設(shè)計(jì)方法。2)熟悉I/O操作指令及8 /32位I/O端口的操作方法。3)了解LED點(diǎn)陣的基本結(jié)構(gòu)。4)學(xué)習(xí)LED點(diǎn)陣掃描顯示程序的設(shè)計(jì)方法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)
18、驗(yàn)內(nèi)容(1) 利用8位I/O接口,實(shí)現(xiàn)微機(jī)對(duì)外部輸入數(shù)據(jù)的讀取和對(duì)輸出數(shù)據(jù)的輸出。用撥動(dòng)開(kāi)關(guān)和數(shù)據(jù)燈作為輸入和輸出顯示設(shè)備,將讀到開(kāi)關(guān)的數(shù)據(jù)顯示在數(shù)據(jù)燈上。(2) 利用32位的I/O接口,按照32位的I/O操作方式,操作點(diǎn)陣LED顯示單元的16行×16列點(diǎn)陣。(3) 使用32位I/O接口單元的32位輸出O0O31控制點(diǎn)陣LED單元R0R15和L0L15。編寫(xiě)程序,在16×16點(diǎn)陣上顯示漢字(學(xué)生姓名)。4、實(shí)驗(yàn)原理1輸入接口設(shè)計(jì)輸入接口一般用三態(tài)緩沖器實(shí)現(xiàn),外部設(shè)備輸入數(shù)據(jù)通過(guò)三態(tài)緩沖器,通過(guò)數(shù)據(jù)總線傳送給微機(jī)系統(tǒng)。74LS245是一種8通道雙向的三態(tài)緩沖器,其管腳結(jié)構(gòu)如圖
19、4-1所示。DIR引腳控制緩沖器數(shù)據(jù)方向,DIR為1表示數(shù)據(jù)由A7:0至B7:0,DIR為0表示數(shù)據(jù)由B7:0至A7:0。G引腳為緩沖器的片選信號(hào),低電平有效。圖4-1 74LS245雙向三態(tài)緩沖器管腳圖2輸出接口設(shè)計(jì)輸出接口一般用鎖存器實(shí)現(xiàn),從總線送出的數(shù)據(jù)可以暫存在鎖存器中。74LS374/74LS574是一種8通道上沿觸發(fā)鎖存器。74LS574管腳結(jié)構(gòu)如圖4-2所示。D7:0為輸入數(shù)據(jù)線,Q7:0為輸出數(shù)據(jù)線。CLK引腳為鎖存控制信號(hào),上升沿有效。當(dāng)上升沿到時(shí),輸出數(shù)據(jù)線鎖存輸入數(shù)據(jù)線上的數(shù)據(jù)。OE引腳為鎖存器的片選信號(hào),低電平有效。圖4-2 74LS574上沿觸發(fā)鎖存器管腳圖38位I/
20、O接口設(shè)計(jì)用一組74LS245和74LS374/574可以構(gòu)成一個(gè)8位的I/O接口電路,既實(shí)現(xiàn)數(shù)據(jù)的輸入又實(shí)現(xiàn)數(shù)據(jù)的輸出,輸入輸出可以占用同一個(gè)端口。是輸入還是輸出用總線讀寫(xiě)信號(hào)來(lái)區(qū)分??偩€讀信號(hào)IOR和片選信號(hào)CS相“或”來(lái)控制輸入接口74LS245的使能信號(hào)G。總線寫(xiě)信號(hào)IOW和片選信號(hào)CS相“或”來(lái)控制輸出接口74LS574的鎖存信號(hào)CLK。實(shí)驗(yàn)系統(tǒng)中基本I/O接口單元就實(shí)現(xiàn)了這種的電路,8位I/O電路連接如圖4-3所示。IN AL,DX ;將IA7:0連接設(shè)備的8位數(shù)據(jù)通過(guò)數(shù)據(jù)總線D7:0輸入到AL。OUT DX,AL ;將AL中的數(shù)據(jù)通過(guò)數(shù)據(jù)總線D7:0輸出到OA7:0連接的設(shè)備。圖
21、4-3 用74LS245和74LS574組成的8位I/O接口電路432位I/O接口設(shè)計(jì)用四組8位的I/O接口電路可以構(gòu)成一個(gè)32位的I/O接口電路,可以一次進(jìn)行32位數(shù)據(jù)寬度的I/O操作。I/O讀、寫(xiě)、片選信號(hào)對(duì)輸入輸出的控制基本和8位I/O接口電路相同,但是,對(duì)于32位數(shù)據(jù)總線,每個(gè)字節(jié)都對(duì)應(yīng)著一位字節(jié)使能信號(hào),共有4位字節(jié)使能信號(hào)BE0BE3,因此每個(gè)8位I/O接口電路是否有效要受BE3:0的控制。IN EAX,DX ;將I31:0連接設(shè)備的32位數(shù)據(jù)通過(guò)數(shù)據(jù)總線D31:0輸入到EAX。OUT DX,EAX ;將EAX中的數(shù)據(jù)通過(guò)數(shù)據(jù)總線D31:0輸出到O31:0連接的設(shè)備。516
22、5;16點(diǎn)陣工作原理8×8點(diǎn)陣LED相當(dāng)于8×8個(gè)發(fā)光管組成的陣列,對(duì)于共陽(yáng)極LED來(lái)說(shuō),其中每一行共用一個(gè)陽(yáng)極(行控制),每一列共用一個(gè)陰極(列控制)。行控制和列控制滿足正確的電平就可使相應(yīng)行列的發(fā)光管點(diǎn)亮。實(shí)驗(yàn)平臺(tái)上點(diǎn)陣LED的管腳及相應(yīng)的行、列控制位如圖4-4所示。圖4-4點(diǎn)陣LED管腳圖共陽(yáng)極和共陰極LED的內(nèi)部結(jié)構(gòu)分別如圖4-5和4-6所示。圖4-5共陽(yáng)極LED內(nèi)部結(jié)構(gòu)圖 圖4-6共陰極LED內(nèi)部結(jié)構(gòu)圖4、實(shí)驗(yàn)說(shuō)明及步驟18位I/O操作實(shí)驗(yàn)本實(shí)驗(yàn)實(shí)現(xiàn)的是將開(kāi)關(guān)K7:0的數(shù)據(jù)通過(guò)輸入數(shù)據(jù)通道讀入CPU的寄存器,然后再通過(guò)輸出數(shù)據(jù)通道將該數(shù)據(jù)輸出到數(shù)據(jù)燈顯示,該程序循
23、環(huán)運(yùn)行,直到按動(dòng)PC鍵盤(pán)上任意按鍵再退出程序。實(shí)驗(yàn)程序流程如圖4-7所示。參考實(shí)驗(yàn)接線如圖5-8所示。實(shí)驗(yàn)步驟如下:(1)按圖4-8連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,對(duì)實(shí)驗(yàn)程序進(jìn)行編譯、鏈接。(3)運(yùn)行程序,撥動(dòng)開(kāi)關(guān),觀看數(shù)據(jù)燈顯示是否正確。圖4-7 8位I/O接口設(shè)計(jì)實(shí)驗(yàn)參考流程圖 圖4-8 8位I/O接口設(shè)計(jì)實(shí)驗(yàn)參考接線圖232位I/O操作實(shí)驗(yàn)本實(shí)驗(yàn)利用點(diǎn)陣LED顯示單元的16×16點(diǎn)陣,將16行控制和16列控制合成一個(gè)32位端口來(lái)操作(列控制連接到發(fā)光管的陽(yáng)極,行控制連接發(fā)光管的陰極,列為“1”,相應(yīng)的行為“0”,則對(duì)應(yīng)的一列發(fā)光管點(diǎn)
24、亮)。用32位I/O接口單元中的32位輸出O31:0的高16位控制16列,低16位控制16行,即一次I/O操作就可完成LED點(diǎn)陣的一次顯示。實(shí)驗(yàn)要求控制點(diǎn)陣循環(huán)逐行顯示,直到按動(dòng)PC鍵盤(pán)上任意按鍵再停止程序退出。圖4-9 32位I/O操作實(shí)驗(yàn)參考接線圖實(shí)驗(yàn)步驟如下:(1)實(shí)驗(yàn)接線圖如圖4-9所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,對(duì)實(shí)驗(yàn)程序進(jìn)行編譯、鏈接。(3)運(yùn)行程序,觀看LED點(diǎn)陣顯示是否正確。3點(diǎn)陣顯示實(shí)驗(yàn)利用取字模軟件得到漢字字符數(shù)組,設(shè)計(jì)程序,在點(diǎn)陣上顯示學(xué)生姓名。實(shí)驗(yàn)參考接線如圖4-9所示。實(shí)驗(yàn)步驟如下:(1) 按圖4-9連接實(shí)驗(yàn)線路
25、圖。(2) 運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)要求編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3) 運(yùn)行程序,觀察點(diǎn)陣的顯示,驗(yàn)證程序功能。使用點(diǎn)陣顯示符號(hào)時(shí),必須首先得到顯示符號(hào)的編碼,這可以根據(jù)需要通過(guò)不同的工具獲得。實(shí)驗(yàn)五 8255并口控制器應(yīng)用實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?)學(xué)習(xí)并掌握8255的工作方式及其應(yīng)用。2)掌握8255典型應(yīng)用電路的接法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容1. 基本輸入輸出實(shí)驗(yàn)。編寫(xiě)程序,使8255的A口為輸出,B口為輸入,完成撥動(dòng)開(kāi)關(guān)到數(shù)據(jù)燈的數(shù)據(jù)傳輸。要求只要開(kāi)關(guān)撥動(dòng),數(shù)據(jù)燈的顯示就發(fā)生相應(yīng)改變。2. 流水燈顯示實(shí)驗(yàn)。編寫(xiě)程序,使8255的A口和B口
26、均為輸出,數(shù)據(jù)燈D7D0由左向右,每次僅亮一個(gè)燈,循環(huán)顯示,D15D8與D7D0正相反,由右向左,每次僅點(diǎn)亮一個(gè)燈,循環(huán)顯示。3計(jì)數(shù)器顯示實(shí)驗(yàn)。編寫(xiě)程序,使8255的A口和B口均為輸出,數(shù)據(jù)燈D15D0顯示二進(jìn)制形式的計(jì)數(shù)結(jié)果。4、實(shí)驗(yàn)原理8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個(gè)并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0-基本輸入/輸出方式、方式1-選通輸入/輸出方式、方式2-雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖5-1所示,8255工作方式控制字和C口按位置位/復(fù)位控制字格式如圖5-2所示。圖5-1 8255內(nèi)部結(jié)
27、構(gòu)及外部引腳圖圖5-2 8255控制字格式8255實(shí)驗(yàn)單元電路圖如圖5-3所示:圖5-3 8255實(shí)驗(yàn)單元電路圖5、實(shí)驗(yàn)步驟1. 基本輸入輸出實(shí)驗(yàn)本實(shí)驗(yàn)使8255端口A工作在方式0并作為輸出口,端口B工作在方式0并作為輸入口。用一組開(kāi)關(guān)信號(hào)接入端口B,端口A輸出線接至一組數(shù)據(jù)燈上,然后通過(guò)對(duì)8255芯片編程來(lái)實(shí)現(xiàn)輸入輸出功能。具體實(shí)驗(yàn)步驟如下述:(1)實(shí)驗(yàn)接線圖如圖5-4所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,改變撥動(dòng)開(kāi)關(guān),同時(shí)觀察LED顯示,驗(yàn)證程序功能。圖5-4 8255基本輸入輸出實(shí)驗(yàn)接線圖2. 流水燈顯示實(shí)驗(yàn)使
28、8255的A口和B口均為輸出,數(shù)據(jù)燈D7D0由左向右,每次僅亮一個(gè)燈,循環(huán)顯示,D15D8與D7D0正相反,由右向左,每次僅點(diǎn)亮一個(gè)燈,循環(huán)顯示。實(shí)驗(yàn)步驟如下所述:(1)實(shí)驗(yàn)接線圖如圖5-5所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,觀察LED燈的顯示,驗(yàn)證程序功能。(4)自己改變流水燈的方式,編寫(xiě)程序。圖5-5 8255流水燈實(shí)驗(yàn)接線圖3. 計(jì)數(shù)器顯示實(shí)驗(yàn)使8255的A口和B口均為輸出,數(shù)據(jù)燈D15D0顯示二進(jìn)制形式的計(jì)數(shù)結(jié)果。實(shí)驗(yàn)步驟如下所述:(1)實(shí)驗(yàn)接線圖如圖5-5所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成
29、操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,觀察LED燈的顯示,驗(yàn)證程序功能。實(shí)驗(yàn)六 8259中斷控制器實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?. 掌握8259中斷控制器的工作原理。2. 掌握8259中斷控制器的應(yīng)用編程方法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容(1) 利用實(shí)驗(yàn)平臺(tái)上的8259控制器,通過(guò)查詢中斷源方法,設(shè)計(jì)一個(gè)查詢中斷應(yīng)用實(shí)驗(yàn),處理IR0和IR1發(fā)出的中斷請(qǐng)求。(2) 利用上述查詢中斷實(shí)驗(yàn),實(shí)現(xiàn)點(diǎn)陣漢字(學(xué)生姓名)的滾動(dòng)顯示。要求通過(guò)IR0實(shí)現(xiàn)點(diǎn)陣的左右滾動(dòng)顯示和停止,通過(guò)IR1實(shí)驗(yàn)點(diǎn)陣漢字的上下滾動(dòng)顯示和停止。4、實(shí)驗(yàn)原理1. 中斷控制器825
30、9簡(jiǎn)介中斷控制器8259是Intel公司專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)開(kāi)發(fā)的芯片。它將中斷源優(yōu)先級(jí)排隊(duì)、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無(wú)需附加任何電路,只需對(duì)8259進(jìn)行編程,就可以管理8級(jí)中斷,并選擇優(yōu)先模式和中斷請(qǐng)求方式,即中斷結(jié)構(gòu)可以由用戶編程來(lái)設(shè)定。同時(shí),在不需增加其他電路的情況下,通過(guò)多片8259的級(jí)連,能構(gòu)成多達(dá)64級(jí)的矢量中斷系統(tǒng)。它的管理功能包括:1)記錄各級(jí)中斷源請(qǐng)求,2)判別優(yōu)先級(jí),確定是否響應(yīng)和響應(yīng)哪一級(jí)中斷,3)響應(yīng)中斷時(shí),向CPU傳送中斷類型號(hào)。8259的內(nèi)部結(jié)構(gòu)和引腳如圖6-1所示。圖6-1 8259內(nèi)部結(jié)構(gòu)和引腳圖8259的命令共有7個(gè),一類是初始化命
31、令字,另一類是操作命令。8259的編程就是根據(jù)應(yīng)用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫(xiě)入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖6-2所示,OCW1-OCW3各命令字格式如圖6-3所示,其中OCW1用于設(shè)置中斷屏蔽操作字,OCW2用于設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3用于設(shè)置和撤銷(xiāo)特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對(duì)8259內(nèi)部寄存器的讀出命令。圖6-2(a)ICW1格式圖6-2(b)ICW2格式圖6-2(c)ICW3格式圖6-2 (d)ICW4格式圖6-3 OCW命令字格式28259寄存器及命令的控制
32、訪問(wèn)在硬件系統(tǒng)中,8259僅占用兩個(gè)外設(shè)接口地址,在片選有效的情況下,利用A0來(lái)尋址不同的寄存器和命令字。對(duì)寄存器和命令的訪問(wèn)控制如表6-1所示。表6-1 8259寄存器及命令的訪問(wèn)控制A0D4D3讀信號(hào)寫(xiě)信號(hào)片選操作0010讀出ISR,IRR的內(nèi)容1010讀出IMR的內(nèi)容000100寫(xiě)入OCW2 001100寫(xiě)入OCW3 01×100寫(xiě)入ICW1 1××100寫(xiě)入OCW1,ICW2,ICW3,ICW45、實(shí)驗(yàn)說(shuō)明及步驟18259查詢中斷應(yīng)用實(shí)驗(yàn)8259支持查詢方式檢測(cè)中斷請(qǐng)求。具體過(guò)程為:設(shè)置8259 OCW3中的P位為1即可執(zhí)行查詢命令,8259將下一個(gè)I/O
33、讀命令視作一次中斷響應(yīng)。如果有中斷請(qǐng)求,則置ISR中的相應(yīng)位并讀其優(yōu)先級(jí)。從OCW3寫(xiě)操作到I/O讀操作期間禁止中斷,讀出字節(jié)的最高位為1表示有中斷,最低3位(D2D0)為最高優(yōu)先級(jí)中斷請(qǐng)求源的編碼。查詢字格式如圖6-4所示。圖6-4 8259 OCW3查詢字格式本實(shí)驗(yàn)要求使用這種方法編寫(xiě)程序處理實(shí)驗(yàn)單元8259 IR0和IR1請(qǐng)求的中斷,IR0請(qǐng)求在屏幕上顯示字符“0”,IR1請(qǐng)求則在屏幕上顯示字符“1”以示中斷到來(lái)。IR0和IR1分別用一個(gè)單次脈沖的上升沿模擬中斷產(chǎn)生。圖6-5 8259查詢中斷實(shí)驗(yàn)參考接線圖實(shí)驗(yàn)步驟如下。(1) 實(shí)驗(yàn)接線圖如圖6-5所示,按圖接線。(2) 運(yùn)行Tdpit集
34、成操作軟件,編寫(xiě)程序,編譯、鏈接。(3) 運(yùn)行程序,按動(dòng)KK1+、KK2+按鍵,觀察中斷響應(yīng)是否正常。2點(diǎn)陣漢字滾動(dòng)顯示實(shí)驗(yàn)利用實(shí)驗(yàn)單元中的8259控制器,可以對(duì)總線上的INTR進(jìn)行中斷源的擴(kuò)充。將8259的INT連接到INTR,8259的8路中斷請(qǐng)求線IR0IR7就成了單一INTR中斷請(qǐng)求線的擴(kuò)充。這8路中斷源共用INTR的中斷矢量,共用INTR的中斷服務(wù)程序。在INTR的中斷服務(wù)程序中通過(guò)對(duì)8259 OCW3的查詢,以確定是IR0IR7中哪個(gè)產(chǎn)生中斷,然后轉(zhuǎn)到相應(yīng)的服務(wù)線程進(jìn)行處理。本實(shí)驗(yàn)要求實(shí)現(xiàn)8259控制器IR0、IR1兩路中斷都可以通過(guò)INTR向PC發(fā)起中斷請(qǐng)求,實(shí)現(xiàn)點(diǎn)陣漢字(學(xué)生姓
35、名)的滾動(dòng)顯示。用KK1+和KK2+模擬兩個(gè)中斷源,在IR0對(duì)應(yīng)的服務(wù)程序中實(shí)現(xiàn)點(diǎn)陣的左右滾動(dòng)顯示和停止,在IR1對(duì)應(yīng)的服務(wù)程序中實(shí)現(xiàn)點(diǎn)陣漢字的上下滾動(dòng)顯示和停止。實(shí)驗(yàn)步驟如下。(1) 實(shí)驗(yàn)接線圖如圖5-9和圖6-6所示,按圖接線,其中點(diǎn)陣LED單元使用IOY0作為片選信號(hào)CS的輸入,8259單元使用IOY1作為片選信號(hào)CS的輸入,具體地址可以通過(guò)Tdpit集成操作軟件中下拉菜單【查看】>【端口資源】獲得。(2) 運(yùn)行Tdpit集成操作軟件,編寫(xiě)程序,編譯、鏈接。(3) 運(yùn)行程序,按動(dòng)KK1+、KK2+按鍵,觀察點(diǎn)陣LED顯示是否正常。圖6-6 8259中斷實(shí)現(xiàn)點(diǎn)陣滾動(dòng)顯示實(shí)驗(yàn)參考接線圖
36、實(shí)驗(yàn)七 8254定時(shí)/計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?. 掌握8254的工作方式及應(yīng)用編程。2. 掌握8254典型應(yīng)用電路的接法。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套,示波器一臺(tái)。3、實(shí)驗(yàn)內(nèi)容1. 計(jì)數(shù)應(yīng)用實(shí)驗(yàn)。編寫(xiě)程序,應(yīng)用8254的計(jì)數(shù)功能,使用單次脈沖模擬計(jì)數(shù),使每當(dāng)按動(dòng)KK15次后,產(chǎn)生一次計(jì)數(shù)中斷,并在屏幕上顯示一個(gè)字符5。2. 定時(shí)應(yīng)用實(shí)驗(yàn)。編寫(xiě)程序,應(yīng)用8254的定時(shí)功能,產(chǎn)生一個(gè)類似于SOS(三短音-三長(zhǎng)音-三短音)的信號(hào),通過(guò)電子發(fā)聲單元實(shí)現(xiàn)。4、實(shí)驗(yàn)原理8254是Intel公司生產(chǎn)的可編程間隔定時(shí)器。是8253的改進(jìn)型,比8253具有更優(yōu)良的性能。8254具有以
37、下基本功能:(1)有3個(gè)獨(dú)立的16位計(jì)數(shù)器。(2)每個(gè)計(jì)數(shù)器可按二進(jìn)制或十進(jìn)制(BCD)計(jì)數(shù)。(3)每個(gè)計(jì)數(shù)器可編程工作于6種不同工作方式。(4)8254每個(gè)計(jì)數(shù)器允許的最高計(jì)數(shù)頻率為10MHz(8253為2MHz)。(5)8254有讀回命令(8253沒(méi)有),除了可以讀出當(dāng)前計(jì)數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。(6)計(jì)數(shù)脈沖可以是有規(guī)律的時(shí)鐘信號(hào),也可以是隨機(jī)信號(hào)。計(jì)數(shù)初值公式為:n=fCLKi÷fOUTi其中fCLKi是輸入時(shí)鐘脈沖的頻率,fOUTi是輸出波形的頻率。圖7-1是8254的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU的接口、內(nèi)部控制電路和三個(gè)計(jì)數(shù)器組成。圖7-1 8
38、254的內(nèi)部接口和引腳8254的工作方式如下述:(1)方式0:計(jì)數(shù)到0結(jié)束輸出正躍變信號(hào)方式。(2)方式1:硬件可重觸發(fā)單穩(wěn)方式。(3)方式2:頻率發(fā)生器方式。(4)方式3:方波發(fā)生器。(5)方式4:軟件觸發(fā)選通方式。(6)方式5:硬件觸發(fā)選通方式。8254的控制字有兩個(gè):一個(gè)用來(lái)設(shè)置計(jì)數(shù)器的工作方式,稱為方式控制字;另一個(gè)用來(lái)設(shè)置讀回命令,稱為讀回控制字。這兩個(gè)控制字共用一個(gè)地址,由標(biāo)識(shí)位來(lái)區(qū)分??刂谱指袷饺绫?-17-3所示。表7-1 8254的方式控制字格式表7-2 8254讀出控制字格式表7-3 8254狀態(tài)字格式8254實(shí)驗(yàn)單元電路圖如下圖所示:圖7-2 8254實(shí)驗(yàn)電路原理圖5、實(shí)
39、驗(yàn)步驟1. 計(jì)數(shù)應(yīng)用實(shí)驗(yàn)編寫(xiě)程序,將8254的計(jì)數(shù)器0設(shè)置為方式3,計(jì)數(shù)值為十進(jìn)制數(shù)4,用單次脈沖KK1作為CLK0時(shí)鐘,OUT0連接INTR,每當(dāng)KK1按動(dòng)5次后產(chǎn)生中斷請(qǐng)求,在屏幕上顯示字符“5”。實(shí)驗(yàn)步驟如下:(1)實(shí)驗(yàn)接線如圖7-3所示。(2)運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,按動(dòng)KK1產(chǎn)生單次脈沖,觀察實(shí)驗(yàn)現(xiàn)象。(4)改變計(jì)數(shù)值,驗(yàn)證8254的計(jì)數(shù)功能。圖7-3 8254計(jì)數(shù)應(yīng)用實(shí)驗(yàn)接線圖2. 定時(shí)應(yīng)用實(shí)驗(yàn)編寫(xiě)程序,將8254的計(jì)數(shù)器設(shè)置為方式3,用信號(hào)源1.8432MHz作為CLK2時(shí)鐘,將相應(yīng)一種頻率的計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器,就可產(chǎn)生
40、對(duì)應(yīng)頻率的方波,計(jì)數(shù)初值的計(jì)算公式如前所述。長(zhǎng)短音的控制可以通過(guò)軟件延時(shí)來(lái)實(shí)現(xiàn)。電子發(fā)聲電路如圖7-4所示。實(shí)驗(yàn)步驟如下:圖7-4 電子發(fā)聲單元電路圖(1) 實(shí)驗(yàn)接線圖如圖7-5所示,按圖接線。(2) 運(yùn)行Tdpit集成操作軟件,根據(jù)實(shí)驗(yàn)要求編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3) 運(yùn)行程序,聽(tīng)揚(yáng)聲器發(fā)出的聲音是否正確。圖7-5 8254定時(shí)應(yīng)用實(shí)驗(yàn)接線圖實(shí)驗(yàn)八 16550串行控制器應(yīng)用實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?)掌握16550的工作方式及應(yīng)用。2)了解有關(guān)串口通訊的知識(shí)。3)掌握使用16550實(shí)現(xiàn)雙機(jī)通訊的軟件編程和電路連接。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容與PC串口通訊應(yīng)
41、用實(shí)驗(yàn)。編寫(xiě)程序完成PC機(jī)串口與實(shí)驗(yàn)裝置串口的通訊,由PC機(jī)串口1發(fā)數(shù),實(shí)驗(yàn)裝置串口接收,當(dāng)接收完畢后,再由實(shí)驗(yàn)裝置將接收的結(jié)果通過(guò)串口發(fā)送給PC機(jī),以此來(lái)驗(yàn)證通訊是否正常。4、實(shí)驗(yàn)原理圖8-1 16550引腳圖16550是一種連接任何類型虛擬串行接口的可編程通信接口,與Intel微處理器完全兼容的使用非常廣泛的異步接收器/發(fā)送器(UART)。它內(nèi)置了16字節(jié)的FIFO緩沖,最大通訊速率可達(dá)115Kb/s,是現(xiàn)代基于微處理器設(shè)備包括PC機(jī)和許多調(diào)制解調(diào)器的最普遍的通信接口。16550的引腳如圖8-1所示,其內(nèi)部結(jié)構(gòu)如圖8-2所示。1端口地址的使用16550內(nèi)部有11個(gè)寄存器,在芯片選擇有效的前
42、提下,由芯片的寄存器選擇輸入線A2,A1和A0來(lái)確定訪問(wèn)的寄存器,芯片中采用兩條措施來(lái)解決端口地址少的問(wèn)題(只有8個(gè)地址)。圖8-2 16550的內(nèi)部結(jié)構(gòu)圖(1) 保持寄存器和接收數(shù)據(jù)寄存器共用一個(gè)地址,以“寫(xiě)入”訪問(wèn)前者、“讀出”訪問(wèn)后者加以區(qū)分。(2) 除數(shù)寄存器的高字節(jié)與中斷允許寄存器使用相同地址,高字節(jié)和接收數(shù)據(jù)寄存器、發(fā)送保持寄存器使用相同的地址,為了區(qū)分,借用線路控制寄存器的最高位DLAB位來(lái)區(qū)分。訪問(wèn)除數(shù)寄存器時(shí),令DLAB位為“1”;訪問(wèn)接收數(shù)據(jù)寄存器、發(fā)送保持寄存器和中斷允許寄存器時(shí),則將DLAB位置“0”。具體說(shuō)明如表8-1所示。表8-1 16550內(nèi)部寄存器地址及其選擇方
43、法2寄存器控制字說(shuō)明(1) 線路控制寄存器(LCR),主要用于指定異步串行通信的數(shù)據(jù)格式。見(jiàn)表8-2。表8-2 LCR格式(2) 線路狀態(tài)寄存器(LSR),主要是向處理器提供有關(guān)數(shù)據(jù)傳輸?shù)臓顟B(tài)。見(jiàn)表8-3。表8-3 LSR格式(3) 波特率除數(shù)寄存器,用該寄存器設(shè)置串行數(shù)據(jù)的傳送波特率。除數(shù)寄存器值基準(zhǔn)時(shí)鐘頻率÷(16×波特率)16550芯片輸入的基準(zhǔn)時(shí)鐘頻率為1.8432MHz,若波特率為9600b/s,則除數(shù)寄存器值為000CH,DLH中應(yīng)填00H,DLL中應(yīng)填0CH。16550常用波特率參數(shù)見(jiàn)表8-4。表8-4 常用的波特率參數(shù)表速率(b/s) 波特率高八位波特率低八
44、位50 09H 00H 300 01H 80H 600 00H C0H 2400 00H 30H 4800 00H 18H 9600 00H 0CH 19200 00H 06H 38400 00H 03H 57600 00H 02H 115200 00H 01H (4) 中斷允許寄存器(IER),16550共有4級(jí)中斷,按優(yōu)先級(jí)從高到低依次為:接收出錯(cuò)中斷、接收緩沖器滿中斷、發(fā)送保持寄存器空中斷和MODEM輸入狀態(tài)改變中斷。這些中斷的允許或屏蔽由IER來(lái)控制。見(jiàn)表8-5。表8-5 IER格式(5) 中斷標(biāo)識(shí)寄存器(IIR),當(dāng)16550處于中斷處理方式,IIR指出有無(wú)待處理的中斷發(fā)生及其類型,
45、并且封鎖比此類優(yōu)先級(jí)低的所有類型中斷。見(jiàn)表8-6。表8-6 IIR格式(6) MODEM控制寄存器(MCR),MCR控制芯片的4個(gè)引腳的輸出和芯片的環(huán)路檢測(cè)。見(jiàn)表8-7。表8-7 MCR格式(7) MODEM狀態(tài)寄存器(MSR),MSR反映UART與通信設(shè)備(如MODEM)之間聯(lián)絡(luò)信號(hào)的當(dāng)前狀態(tài)以及這些信號(hào)的變化情況。見(jiàn)表8-8。表8-8 MSR格式D7 D6 D5 D4 D3 D2 D1 D0 RLSD RI DSR CTS RLSDTERI DSR CTS 收到“接收線載波檢測(cè)” 收到“振鈴指示”收到“數(shù)傳機(jī)就緒” 收到“清除發(fā)送”RLSD位發(fā)生改變收到“振鈴指示后沿”DSR位發(fā)生變化CT
46、S位發(fā)生變化說(shuō)明:D71表示輸入引腳RLSD0,MODEM收到來(lái)自電話線的載波信號(hào)。D61表示輸入引腳RI0,MODEM收到振鈴信號(hào)。D51表示輸入引腳DSR0,MODEM做好了發(fā)送準(zhǔn)備,請(qǐng)16550準(zhǔn)備接收。D41表示輸入引腳CTS0,MODEM做好了接收準(zhǔn)備,16550可以發(fā)送數(shù)據(jù)。D3,D1,D0位為“1”是說(shuō)明在上次讀取MSR之后,MSR的D7,D5,D4中相應(yīng)位發(fā)生了變化。D2位為“1”是說(shuō)明輸入到芯片的RI已由邏輯“1”狀態(tài)變成邏輯“0”狀態(tài)。(8) FIFO控制寄存器(FCR),16550增加了一個(gè)FIFO緩沖器,用于緩沖正在發(fā)出或接收的數(shù)據(jù),這是早期的UART器件所沒(méi)有的。FC
47、R各位意義見(jiàn)表8-9。表8-9 FCR格式位意義位意義0 允許FIFO緩沖器工作4保留1 清除接收FIFO緩沖器5不用2 清除發(fā)送FIFO緩沖器6接收端中斷觸發(fā)器水平(LSB)3 DMA方式7接收端中斷觸發(fā)器水平(MSB)5、實(shí)驗(yàn)步驟用串行通訊電纜將PC機(jī)COM1與實(shí)驗(yàn)系統(tǒng)串口連接起來(lái),分別對(duì)兩個(gè)串口進(jìn)行設(shè)置,實(shí)現(xiàn)數(shù)據(jù)通訊。PC中集成的串口控制器完全與16550兼容,其寄存器設(shè)置方式與前面所述完全一致。PC機(jī)COM1的端口地址如表8-10所示。表8-10 PC機(jī)COM1端口地址分配表端口地址DLAB相應(yīng)寄存器03F8 0 接收數(shù)據(jù)寄存器(讀),發(fā)送數(shù)據(jù)寄存器(寫(xiě))03F9 0 中斷允許寄存器0
48、3F8 1 波特率除數(shù)寄存器(低字節(jié))03F9 1 波特率除數(shù)寄存器(高字節(jié))03FA X 中斷標(biāo)識(shí)寄存器03FB X 線路控制寄存器(位7即為DLAB)03FC X MODEM控制寄存器03FD X 線路狀態(tài)寄存器03FE X MODEM狀態(tài)寄存器實(shí)驗(yàn)步驟如下。(1)實(shí)驗(yàn)接線圖如圖8-4所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行Tdpit集成操作軟件,參考圖8-3所示流程圖,編寫(xiě)實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,觀察屏幕數(shù)據(jù)顯示,看接收是否正確。(a) 主程序(b) 中斷處理程序圖8-3與PC串行通訊應(yīng)用實(shí)驗(yàn)程序流程圖圖8-4與PC串行通訊應(yīng)用實(shí)驗(yàn)接線圖實(shí)驗(yàn)九 8237 DMA控制器應(yīng)用實(shí)驗(yàn)1
49、、實(shí)驗(yàn)?zāi)康?. 掌握8237DMA控制器的工作原理。2. 了解DMA特性及8237的幾種數(shù)據(jù)傳輸方式。3. 掌握8237的應(yīng)用編程。2、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)內(nèi)容編寫(xiě)實(shí)驗(yàn)程序,將PC機(jī)內(nèi)存中的一段數(shù)據(jù)傳送至擴(kuò)展的存儲(chǔ)器中,然后通過(guò)Tdpit軟件中的“擴(kuò)展存儲(chǔ)區(qū)數(shù)據(jù)顯示窗口”查看該存儲(chǔ)空間,檢測(cè)寫(xiě)入數(shù)據(jù)是否正確。4、實(shí)驗(yàn)原理直接存儲(chǔ)器訪問(wèn)(Direct Memory Access,簡(jiǎn)稱DMA),是指外部設(shè)備不經(jīng)過(guò)CPU的干涉,直接實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪問(wèn)。DMA傳送方式可用來(lái)實(shí)現(xiàn)存儲(chǔ)器到存儲(chǔ)器、存儲(chǔ)器到I/O接口、I/O接口到存儲(chǔ)器之間的高速數(shù)據(jù)傳送。1SRAM 6
50、2256介紹存儲(chǔ)器是用來(lái)存儲(chǔ)信息的部件,是計(jì)算機(jī)的重要組成部分,靜態(tài)RAM是由MOS管組成的觸發(fā)器電路,每個(gè)觸發(fā)器可以存放1位信息。只要不掉電,所儲(chǔ)存的信息就不會(huì)丟失。因此,靜態(tài)RAM工作穩(wěn)定,不要外加刷新電路,使用方便。但一般SRAM 的每一個(gè)觸發(fā)器是由6個(gè)晶體管組成,SRAM芯片的集成度不會(huì)太高,目前較常用的有6116(2K×8bits),6264(8K×8 bits)和62256(32K×8 bits)。62256 SRAM有32768個(gè)存儲(chǔ)單元,每個(gè)單元為8位字長(zhǎng)。62256的引腳如圖9-1所示。圖9-1 62256引腳圖232位總線的存儲(chǔ)器接口32位系統(tǒng)
51、總線提供XA2XA31、BE0BE3、MY0信號(hào)為存儲(chǔ)器提供物理地址。MY0是系統(tǒng)為存儲(chǔ)器擴(kuò)展提供的片選信號(hào),其地址空間為D8000HDFFFH(詳見(jiàn)附錄B的編程信息),XA2XA31用來(lái)確定一個(gè)4字節(jié)的存儲(chǔ)單元,BE0BE3用來(lái)確定當(dāng)前操作中所涉及到4字節(jié)存儲(chǔ)單元中的那個(gè)字節(jié)。BE0對(duì)應(yīng)D7:0,BE1對(duì)應(yīng)D15:8,BE2對(duì)應(yīng)D23:16,BE3對(duì)應(yīng)D31:24。其對(duì)應(yīng)關(guān)系如表9-1所示。表9-1 BE3:0指示和數(shù)據(jù)總線有效對(duì)照表BE3BE2BE1 BE0 D31:24D23:16D15:8D7:0 1 1 1 0 ×××D7:0 1 1 0 1 ×
52、;×D15:8×1 0 1 1 ×D23:16××0 1 1 1 D31:24×××1 1 0 0 ××D15:8D7:0 0 0 1 1 D31:24D23:16××0 0 0 0 D31:24D23:16D15:8D7:0 在SRAM實(shí)驗(yàn)單元中,使用了4片62256 SRAM構(gòu)成4×8bits的32位存儲(chǔ)器,存儲(chǔ)體分為0體、1體、2體和3體,分別為字節(jié)使能線BE0、BE1、BE2和BE3選通。其電路結(jié)構(gòu)如圖9-2所示。圖9-2 32位存儲(chǔ)器單元電路結(jié)構(gòu)圖332位
53、存儲(chǔ)器操作(1) 規(guī)則雙字操作在存儲(chǔ)器中,從4的整數(shù)倍地址開(kāi)始存放的雙字稱為規(guī)則雙字。CPU訪問(wèn)規(guī)則雙字只需要一個(gè)總線周期,BE0、BE1、BE2和BE3同時(shí)有效,從而同時(shí)選通0、1、2和3四個(gè)存儲(chǔ)體。兩次規(guī)則雙字操作對(duì)應(yīng)的時(shí)序如圖9-3所示。MOV 0000,EAX ;將EAX數(shù)據(jù)寫(xiě)入地址0000H中MOV 0004,EAX ;將EAX數(shù)據(jù)寫(xiě)入地址0004H中圖9-3 32位存儲(chǔ)器規(guī)則雙字操作時(shí)序圖(2) 非規(guī)則雙字操作在存儲(chǔ)器中,從4的非整數(shù)倍地址開(kāi)始存放的雙字稱為非規(guī)則雙字。CPU訪問(wèn)非規(guī)則雙字需要兩個(gè)總線周期。通過(guò)BE0、BE1、BE2和BE3在兩個(gè)周期中選通不同的字節(jié)。例如從4的整數(shù)倍地址加1的單元開(kāi)始訪問(wèn),第一個(gè)總線周期BE1、BE2和BE3有效,訪問(wèn)3個(gè)字節(jié);第二個(gè)總線周期地址遞增,BE0有效,訪問(wèn)剩余的一個(gè)字節(jié)。然后自動(dòng)將4個(gè)字節(jié)組合為一個(gè)雙字。兩次非規(guī)則雙字操作對(duì)應(yīng)的時(shí)序如圖9-4所示。MOV 0001,EAX ;將EAX數(shù)據(jù)寫(xiě)入地址0001H中MOV 0005,EAX ;將EAX數(shù)據(jù)寫(xiě)入地址0005H中圖9-4 32位存儲(chǔ)器非規(guī)則雙
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息技術(shù)必修一《數(shù)據(jù)與計(jì)算》第二章第二節(jié)《程序設(shè)計(jì)語(yǔ)言基本知識(shí)》教學(xué)設(shè)計(jì)
- 定西師范高等專科學(xué)?!渡茖W(xué)基礎(chǔ)二:細(xì)胞生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)職業(yè)技術(shù)學(xué)院《中醫(yī)藥文化與養(yǎng)生》2023-2024學(xué)年第二學(xué)期期末試卷
- 駐馬店職業(yè)技術(shù)學(xué)院《寫(xiě)意畫(huà)》2023-2024學(xué)年第二學(xué)期期末試卷
- 阜陽(yáng)幼兒師范高等??茖W(xué)?!峨娮泳€路CAD技術(shù)B》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 3 Amazing animals PartA (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 鹽城師范學(xué)院《現(xiàn)代材料分析技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東云浮中醫(yī)藥職業(yè)學(xué)院《民俗學(xué)與民間文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鋼軌購(gòu)銷(xiāo)合同范本
- 山西大同大學(xué)《三維機(jī)械CAD實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 社會(huì)學(xué)(高校社會(huì)學(xué)入門(mén)課程)全套教學(xué)課件
- 心血管介入護(hù)士進(jìn)修匯報(bào)
- 施工組織設(shè)計(jì)內(nèi)部審批表
- 《企業(yè)的可持續(xù)發(fā)展》課件
- 零至三歲兒童及老年人中醫(yī)保健指導(dǎo)專業(yè)知識(shí)講座培訓(xùn)課件
- DB12-T 1305-2024 公路瀝青路面泡沫瀝青冷再生技術(shù)規(guī)范
- 范文語(yǔ)文評(píng)課稿15篇
- 2024年山東省春季高考技能考試汽車(chē)專業(yè)試題庫(kù)-中(多選題匯總)
- 2016-2023年德州科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 《人文科學(xué)概論》課件
- 光伏機(jī)器人行業(yè)報(bào)告
評(píng)論
0/150
提交評(píng)論