《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)教程_第1頁
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)教程_第2頁
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)教程_第3頁
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)教程_第4頁
《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)教程_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、微機(jī)原理與接口技術(shù)實(shí)驗(yàn)教程微機(jī)原理與接口技術(shù)實(shí)驗(yàn)教程吳 滌浙江工商大學(xué)信電學(xué)院目錄第一章 TD-PIT+實(shí)驗(yàn)系統(tǒng)構(gòu)成及特點(diǎn) 3第二章 TD-PIT+教學(xué)實(shí)驗(yàn)環(huán)境 5第三章 匯編程序的基本結(jié)構(gòu) 17 第四章 數(shù)據(jù)顯示程序?qū)嶒?yàn)(實(shí)驗(yàn)一) 19第五章 數(shù)據(jù)傳送實(shí)驗(yàn)(實(shí)驗(yàn)二) 22第六章 分支程序設(shè)計(jì)實(shí)驗(yàn)(實(shí)驗(yàn)三) 23 第七章 基本I/O接口電路設(shè)計(jì)(實(shí)驗(yàn)四) 25第八章 電子發(fā)聲系統(tǒng)設(shè)計(jì)(實(shí)驗(yàn)五) 27附 錄 實(shí)驗(yàn)報(bào)告參考格式 29參考文獻(xiàn) 29第一章 TD-PIT+實(shí)驗(yàn)系統(tǒng)構(gòu)成及特點(diǎn)80系列CPU已從8086的16位機(jī)發(fā)展到現(xiàn)在80586的32/64位機(jī),各大專院校對80系列微機(jī)原理與接口技術(shù)實(shí)

2、驗(yàn)設(shè)備性能的要求也在不斷提高。為適應(yīng)教學(xué)實(shí)驗(yàn)的發(fā)展需要,本書選用了由西安唐都科教儀器公司開發(fā)的32位微機(jī)原理與接口技術(shù)教學(xué)實(shí)驗(yàn)系統(tǒng),該系統(tǒng)功能強(qiáng)大,為教學(xué)實(shí)驗(yàn)提供了完善的微機(jī)原理的軟件實(shí)驗(yàn)調(diào)試平臺和微機(jī)接口技術(shù)的硬件實(shí)驗(yàn)開發(fā)平臺。本章將就該實(shí)驗(yàn)系統(tǒng)的構(gòu)成、特點(diǎn)與使用進(jìn)行介紹。1.1 系統(tǒng)構(gòu)成 TDPIT+實(shí)驗(yàn)系統(tǒng)由PC主機(jī)、實(shí)驗(yàn)箱及實(shí)驗(yàn)環(huán)境工具軟件構(gòu)成,如圖1-1所示。其中,PC主機(jī)箱中安裝了一塊PCI實(shí)驗(yàn)擴(kuò)展卡,用于連接微機(jī)原理與接口技術(shù)實(shí)驗(yàn)箱,并為實(shí)驗(yàn)用戶提供一個(gè)仿真ISA總線接口;微機(jī)原理與接口技術(shù)實(shí)驗(yàn)箱中備放了許多單元電路,這些單元電路用于接口技術(shù)的各種實(shí)驗(yàn),單元電路的構(gòu)成和

3、工作原理將在第二章中詳細(xì)介紹;TD-PIT+實(shí)驗(yàn)環(huán)境工具軟件為用戶提供了實(shí)驗(yàn)的軟件操作平臺,通過該平臺,用戶可以進(jìn)行實(shí)模式和保護(hù)模式下的實(shí)驗(yàn)程序的編制、運(yùn)行及調(diào)試。圖1-1 TDPIT+實(shí)驗(yàn)系統(tǒng)構(gòu)成圖TD-PIT+實(shí)驗(yàn)環(huán)境工具軟件包括TD-PIT應(yīng)用平臺、TDDEBUG調(diào)試平臺和Windows的WDM開發(fā)平臺。其中TD-PIT應(yīng)用平臺可支持基本接口實(shí)驗(yàn)和高級接口實(shí)驗(yàn)。通常,基本接口是用實(shí)驗(yàn)箱中的仿真ISA總線與實(shí)驗(yàn)箱中的常用芯片組成的接口電路,在TD-PIT應(yīng)用平臺上用戶可學(xué)習(xí)編程控制這個(gè)基本接口;高級接口則是用實(shí)驗(yàn)箱中開放的用戶總線接口ADD-ON及CPLD實(shí)驗(yàn)單元設(shè)計(jì)接口電路和時(shí)序邏輯,通

4、過TD-PIT應(yīng)用平臺的高級應(yīng)用來實(shí)現(xiàn)對接口的控制。對于微機(jī)原理方面的實(shí)驗(yàn),不用使用實(shí)驗(yàn)箱,直接使用TD-PIT應(yīng)用平臺編程就能進(jìn)行。TDDEBUG調(diào)試平臺提供了另一種對實(shí)驗(yàn)程序的編制、運(yùn)行及調(diào)試的環(huán)境,在該環(huán)境下可讓用戶觀察和探測到CPU內(nèi)的各種資源數(shù)據(jù),有利于對用戶程序的深入調(diào)試。而Windows的WDM開發(fā)平臺則給用戶提供了基于保護(hù)模式下的接口電路的驅(qū)動(dòng)程序及應(yīng)用程序的開發(fā)環(huán)境。1.2 系統(tǒng)功能及特點(diǎn)1. 先進(jìn)的32位微機(jī)原理實(shí)驗(yàn)教學(xué)平臺系統(tǒng)提供了80x86系列微機(jī)的集成操作軟件,該操作軟件支持對32位微機(jī)指令的處理??稍趯?shí)模式和保護(hù)模式下調(diào)試、運(yùn)行實(shí)驗(yàn)程序,通過實(shí)驗(yàn)系統(tǒng)的使用,用戶可以

5、迅速了解PC機(jī)的工作原理和工作過程,迅速掌握基于PC機(jī)的編程方法,為微機(jī)接口控制程序和Windows應(yīng)用程序的開發(fā)打下基礎(chǔ)。2. 完善的微機(jī)接口技術(shù)實(shí)驗(yàn)教學(xué)平臺系統(tǒng)利用PC機(jī)上配備的PCI總線控制卡,將總線信號經(jīng)邏輯轉(zhuǎn)換后生成仿真ISA總線信號,供基本接口實(shí)驗(yàn)使用。微機(jī)原理與接口技術(shù)實(shí)驗(yàn)箱提供了諸如8259中斷控制器、8237DMA控制器、8237定時(shí)/計(jì)數(shù)器等程控器件,還提供了如74LS374、74LS138、LED數(shù)碼顯示器、直流電機(jī)等常用數(shù)字邏輯器件和外圍器件,從而全面支持“微機(jī)接口技術(shù)”和“微機(jī)控制技術(shù)”的各類實(shí)驗(yàn)。3. 提供支持微機(jī)高級接口技術(shù)實(shí)驗(yàn)教學(xué)平臺系統(tǒng)選配了PCI總線應(yīng)用開發(fā)

6、平臺及CPLD應(yīng)用開發(fā)單元,使用戶可以進(jìn)行各種硬件接口邏輯的設(shè)計(jì),從而進(jìn)行PCI總線擴(kuò)展和應(yīng)用開發(fā)。系統(tǒng)選配了USB總線應(yīng)用開發(fā)平臺,使用戶能迅速掌握USB接口設(shè)備的的應(yīng)用開發(fā)。系統(tǒng)還提供了Windows VxD和Windows的WDM軟件開發(fā)平臺及開發(fā)示例,使用戶能迅速掌握Windows的設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)。4. 對實(shí)驗(yàn)設(shè)計(jì)具有良好的開放性,增強(qiáng)學(xué)生綜合設(shè)計(jì)能力實(shí)驗(yàn)系統(tǒng)所具有的軟件和硬件結(jié)構(gòu)對用戶的實(shí)驗(yàn)設(shè)計(jì)具有良好的開放性,大部分實(shí)驗(yàn)的軟件設(shè)計(jì)都可在Windows風(fēng)格界面下進(jìn)行,系統(tǒng)總線及各種外圍電子器件都能由用戶來直接連接操作,從而極大地提高了學(xué)生的實(shí)際操作能力,避免了單純驗(yàn)證式實(shí)驗(yàn)的弊端

7、。5. 采用排線連接方式,提高了實(shí)驗(yàn)效率在硬件實(shí)驗(yàn)中,所有器件的電源均已加載,用戶不必考慮器件電源的連接而采用排線連接方式,連接有關(guān)信號線,極大地提高了實(shí)驗(yàn)效率和成功率,可把學(xué)生的注意力集中到硬軟件設(shè)計(jì)和調(diào)試過程中。6. 高性能穩(wěn)壓開關(guān)電源系統(tǒng)采用了具有抗短路、抗過流的高性能穩(wěn)壓開關(guān)電源,使得實(shí)驗(yàn)平臺和PC機(jī)電源隔離,從而可以避免學(xué)生在實(shí)驗(yàn)過程中因連線失誤而導(dǎo)致的芯片或整機(jī)設(shè)備的損壞。第二章 TD-PIT+教學(xué)實(shí)驗(yàn)環(huán)境在現(xiàn)代PC機(jī)系統(tǒng)教學(xué)中,多數(shù)實(shí)驗(yàn)軟件教學(xué)平臺只能支持實(shí)模式下的程序設(shè)計(jì)和程序調(diào)試,而不能支持32位微機(jī)在保護(hù)模式下的程序調(diào)試。TD-PIT+系統(tǒng)提供了保護(hù)模式下的Windows風(fēng)

8、格的微機(jī)原理與接口技術(shù)工具軟件TD-PIT及在保護(hù)模式下支持實(shí)模式實(shí)驗(yàn)程序調(diào)試與運(yùn)行的工具軟件Tddebug。這使得用戶在實(shí)驗(yàn)時(shí)的效率大為提高,也給用戶帶來了方便。本章將就TD-PIT+實(shí)驗(yàn)系統(tǒng)的軟件環(huán)境及硬件資源的使用作深入介紹。2.1 TD-PIT+的軟件環(huán)境及使用 TD-PIT+系統(tǒng)的工具軟件主要包括微機(jī)原理與接口技術(shù)實(shí)驗(yàn)工具軟件TD-PIT和調(diào)試工具軟件Tddebug。其中,工具軟件TD-PIT支持實(shí)模式及保護(hù)模式下的微機(jī)原理實(shí)驗(yàn),也支持基本I/O接口技術(shù)和高級I/O接口技術(shù)實(shí)驗(yàn);調(diào)試工具軟件Tddebug支持實(shí)模式實(shí)驗(yàn)程序的編輯、編譯、連接及調(diào)試功能,通過它用戶可全面窺探80x86微

9、處理器的運(yùn)行機(jī)制。2.1.1 TD-PIT工具軟件的使用1. 啟動(dòng)TD-PIT工具軟件在PC主機(jī)的桌面上有個(gè)TD-PIT的圖標(biāo),點(diǎn)擊該圖標(biāo)就可啟動(dòng)這個(gè)工具軟件, 圖2-1 PIT啟動(dòng)窗口圖工具軟件啟動(dòng)后的窗口如圖2-1所示。TD-PIT工具軟件提供了“文件”、“查看”、“語言選擇”、“WINDOWS應(yīng)用實(shí)驗(yàn)”、和“幫助”菜單。TD-PIT工具軟件支持C語言和匯編語言兩種語言來編程。用戶在編程前需通過“語言選擇”菜單里的選項(xiàng)事先確定所用語言,如圖2-2所示。編程語言被確定后系統(tǒng)會顯示出如圖2-3所示編程操作窗口。程序設(shè)計(jì)可在該窗口下進(jìn)行。圖2-2 語言選擇菜單圖圖2-3 編程操作窗口圖2. 編程

10、的基本操作編程操作窗口包含兩個(gè)工作區(qū),即位于窗口上半部分的編輯區(qū)和位于窗口底部的調(diào)試信息欄區(qū)。在編輯區(qū)中用戶可以對程序進(jìn)行編輯和修改。相關(guān)的操作與WORD軟件的編輯操作方法相同。對于初次創(chuàng)建程序的用戶需使用“文件”菜單中的“新建”項(xiàng),將新建程序文件創(chuàng)建在TD-PIT系統(tǒng)默認(rèn)的當(dāng)前文件夾中,如C:TangDuPitPC 。當(dāng)用戶處于編輯程序操作時(shí)軟件窗口上會自動(dòng)添加一個(gè)“編譯”菜單(見圖2-3)。在完成對程序的編輯處理后,還要對程序進(jìn)行“編譯”,“鏈接”的操作。如果源程序中有錯(cuò)誤,在編譯程序時(shí)系統(tǒng)會在調(diào)試區(qū)中提示錯(cuò)誤,必須將所有錯(cuò)誤更正完畢才能進(jìn)行“鏈接”的操作。當(dāng)用戶完成了程序的編輯、編譯、鏈

11、接操作后,再點(diǎn)擊“編譯”菜單的“運(yùn)行”項(xiàng),即可觀察當(dāng)前程序執(zhí)行后的效果。如果此時(shí)系統(tǒng)出現(xiàn)短暫黑屏現(xiàn)象,屬正常情況。因?yàn)椋琓D-PIT系統(tǒng)工具軟件是在保護(hù)模式下運(yùn)行的,當(dāng)用戶運(yùn)行的是實(shí)模式程序時(shí),系統(tǒng)會將PC機(jī)從保護(hù)模式狀態(tài)轉(zhuǎn)換到實(shí)模式狀態(tài),才會出現(xiàn)短暫的黑屏。3. TD-PIT其它功能介紹一 Windows應(yīng)用實(shí)驗(yàn)菜單項(xiàng)圖2-4 Windows應(yīng)用實(shí)驗(yàn)菜單項(xiàng)圖圖2-4給出了Windows應(yīng)用實(shí)驗(yàn)菜單項(xiàng)的基本功能,菜單提供了運(yùn)行Windows應(yīng)用實(shí)驗(yàn)例程的快捷方式,其中:    8255輸入輸出      

12、 I/O操作設(shè)計(jì)實(shí)驗(yàn)(1) 8255基本輸入輸出    鍵盤掃描及顯示     I/O操作設(shè)計(jì)實(shí)驗(yàn)(2) 鍵盤掃描及顯示    32位存儲器讀寫     存儲器操作設(shè)計(jì)實(shí)驗(yàn)(1) 32位存儲器讀寫    FLASH存儲器讀寫   存儲器操作設(shè)計(jì)實(shí)驗(yàn)(2) FLASH存儲器讀寫    8259中斷應(yīng)用    &

13、#160; 中斷處理設(shè)計(jì)實(shí)驗(yàn)(1) 8259中斷應(yīng)用    16550串口通訊      中斷處理設(shè)計(jì)實(shí)驗(yàn)(2) 16550串口通訊    信號發(fā)生器設(shè)計(jì)     綜合應(yīng)用設(shè)計(jì)實(shí)驗(yàn)(1) 信號發(fā)生器設(shè)計(jì)    溫度閉環(huán)控制       綜合應(yīng)用設(shè)計(jì)實(shí)驗(yàn)(2) 溫度閉環(huán)控制   這些實(shí)驗(yàn)均為硬件實(shí)驗(yàn),運(yùn)行每個(gè)實(shí)驗(yàn)之前確認(rèn)

14、實(shí)驗(yàn)系統(tǒng)是否已經(jīng)連接正常,相應(yīng)實(shí)驗(yàn)的實(shí)驗(yàn)線路是否已經(jīng)連接完畢,并將實(shí)驗(yàn)平臺電源打開。這些硬件實(shí)驗(yàn)的設(shè)備驅(qū)動(dòng)程序系統(tǒng)已提供。二編譯工具欄圖2-5 編譯工具欄圖圖2-5給出了快捷編譯工具欄的六個(gè)命令鈕的圖標(biāo),自左而右它們分別是“編譯”鈕、“連接”鈕、“運(yùn)行”鈕、“調(diào)試”鈕、“查看端口資源”鈕和“進(jìn)入DOS環(huán)境”鈕,這些按鈕的功能分別是:.編譯編譯當(dāng)前活動(dòng)文檔中的源程序,在源文件目錄下生成目標(biāo)文件。如果有錯(cuò)誤或警告生成,則在輸出區(qū)顯示錯(cuò)誤或警告信息,雙擊錯(cuò)誤或警告信息,可定位到有錯(cuò)誤或警告的行,修改有錯(cuò)誤或警告的行后應(yīng)重新“編譯”。如果編譯沒有錯(cuò)誤生成(即使有警告生成)使能“鏈接”菜單項(xiàng)和工具欄中的

15、“鏈接”按鈕,以便進(jìn)行鏈接。編譯時(shí)自動(dòng)保存源文件中所做的修改。.鏈接鏈接編譯生成的目標(biāo)文件,在源文件目錄下生成可執(zhí)行文件。如果有錯(cuò)誤或警告生成,則在輸出區(qū)顯示錯(cuò)誤或警告信息,查看錯(cuò)誤或警告信息修改源程序,修改后應(yīng)重新“編譯”和“鏈接”。如果鏈接沒有錯(cuò)誤生成(即使有警告生成),使能“加載”菜單項(xiàng)和工具欄中的“加載”按鈕,以便進(jìn)行加載。.運(yùn)行 執(zhí)行當(dāng)前連接成功的可執(zhí)行程序。當(dāng)前激活的程序編譯連接成功或者該程序已經(jīng)編譯過,可執(zhí)行程序已經(jīng)存在,這時(shí)就可運(yùn)行該程序。如果該程序沒有連接成功,或者沒有被連接過,可執(zhí)行程序不存在,則不可以執(zhí)行“運(yùn)行”。所有實(shí)驗(yàn)例程均設(shè)計(jì)為按任意鍵退出運(yùn)行狀態(tài)。.調(diào)試打開調(diào)試環(huán)

16、境進(jìn)行當(dāng)前程序的調(diào)試。每次打開或者新建一個(gè)新的程序,都必須先進(jìn)行編譯連接,然后才可以執(zhí)行改操作,進(jìn)入調(diào)試環(huán)境。調(diào)試完畢后按“Alt + X”鍵退出調(diào)試環(huán)境。.查看端口資源此按鈕功能可用來查看實(shí)驗(yàn)系統(tǒng)被分配的端口資源,在系統(tǒng)總線上共有4個(gè)I/O片選IOY0IOY3,每個(gè)I/O空間所對應(yīng)的地址范圍在彈出的窗口中給出。如圖2-6所示。圖2-6 查看端口資源對話框圖.進(jìn)入DOS環(huán)境此按鈕提供一個(gè)進(jìn)入DOS環(huán)境的快捷工具,若想進(jìn)入DOS環(huán)境進(jìn)行命令操作,可以按此按鈕。2.1.2 Tddebug工具軟件的使用1. 主菜單說明Tddebug啟動(dòng)后的界面見圖2-7所示。Tddebug工具軟件具有編輯、編譯、連

17、接、調(diào)試等功能。它為用戶提供了一個(gè)學(xué)習(xí)32位微機(jī)原理與接口技術(shù)軟件設(shè)計(jì)的實(shí)驗(yàn)平臺。軟件主界面包含了6個(gè)菜單,分別是:Edit,Compile,Pmrun,Rmrun,Help和Quit。它們的功能是:Edit - 編輯源文件Compile-Compile 編譯源文件 -Link 連接目標(biāo)文件 -Build All 編譯及連接Pmrun - 進(jìn)入保護(hù)模式調(diào)式狀態(tài)Rmrun-Run 運(yùn)行實(shí)模式程序 -Debug 進(jìn)入實(shí)模式調(diào)式狀態(tài)Help - 版本信息Quit - 退出Tddebug圖2-7 Tddebug主界面以上功能可以通過熱鍵來選擇ALT+E 選擇Edit菜單ALT+C 選擇Compile菜

18、單ALT+P 選擇Pmrun菜單ALT+R 選擇Rmrun菜單ALT+H 選擇Help菜單ALT+Q 選擇Quit菜單ESC 取消操作2保護(hù)模式調(diào)試窗口說明在Tddebug主菜單中選擇Pmrun,就進(jìn)入了保護(hù)模式調(diào)試窗口。保護(hù)模式下的實(shí)驗(yàn)均可在這個(gè)環(huán)境下完成。保護(hù)模式調(diào)試窗口共分為4個(gè)區(qū)域,它們是數(shù)據(jù)區(qū)、代碼區(qū)、命令區(qū)和寄存器顯示區(qū),如圖2-8所示。在默認(rèn)狀態(tài)下,光標(biāo)停留圖2-8 保護(hù)模式調(diào)試窗口劃分圖在命令顯示區(qū),用戶可以在此鍵入操作命令。通過使用TAB鍵可以在4個(gè)區(qū)域間進(jìn)行切換。.快捷鍵的作用F1-彈出幫助對話框。F7-單步執(zhí)行程序。F8-單句執(zhí)行程序。F9-運(yùn)行程序。.命令說明Tddeb

19、ug調(diào)試環(huán)境除支持保護(hù)模式下匯編語言程序的調(diào)試外,還支持32位寄存器數(shù)據(jù)顯示等。下面對每條命令給出相應(yīng)的命令格式及功能說明,見表2-1所示。表2-1 Tddebug調(diào)試命令表命令名稱格式命令說明LoadI filename裝載可執(zhí)行程序ReloadReload重裝當(dāng)前調(diào)試程序Tracet seg:offset單步執(zhí)行一條指令Stepp =seg:offset單句執(zhí)行一條指令Gog =seg:offset執(zhí)行程序Go breakgb=seg:offset斷點(diǎn)執(zhí)行程序Set breakpointsB設(shè)置斷點(diǎn)List breakpointsBl列斷點(diǎn)表Clear breakpoints bc num

20、ber(0,1,2,3)清除斷點(diǎn)UnassembleUseg:offset反匯編DumpDseg:offset顯示存儲器單元內(nèi)容Entereseg:offset修改存儲單元Registerrregname顯示/修改寄存器內(nèi)容Peekpeek type(b,w,d)phys_add從物理地址取數(shù)據(jù)Pokepoketype(b,w,d)phys_add value向物理地址寫數(shù)據(jù)CpuCpu顯示系統(tǒng)寄存器GdtGdt顯示全局描述表IdtIdt顯示中斷描述表LdtLdt顯示局部描述表TssTss顯示任務(wù)狀態(tài)段QuitQ退出調(diào)試狀態(tài)3實(shí)模式調(diào)試窗口說明在Tddebug主菜單中選擇Rmrun菜單中的De

21、bug,就進(jìn)入了實(shí)模式調(diào)試窗口。實(shí)模式下的實(shí)驗(yàn)均可在這個(gè)環(huán)境下完成。實(shí)模式調(diào)試窗口共分為6個(gè)區(qū)域,它們是代碼區(qū)、數(shù)據(jù)區(qū)、寄存器顯示區(qū)、標(biāo)志寄存器顯示區(qū)、堆棧顯示區(qū)和提示區(qū),如圖2-9所示。圖2-9 實(shí)模式調(diào)試窗口劃分圖.主界面快捷鍵的作用F1-顯示幫助窗口F2-設(shè)置/清除斷點(diǎn)F3-查看源代碼模式F4-執(zhí)行到光標(biāo)處F5-放大/縮小窗口F6-窗口切換F7-單步執(zhí)行F8-單句執(zhí)行F9-運(yùn)行程序F10-Menu激活主菜單Ctrl+Break-終止程序執(zhí)行Alt+X-退出系統(tǒng)TAB-切換焦點(diǎn)區(qū)域.當(dāng)焦點(diǎn)區(qū)域在寄存器顯示區(qū)時(shí)熱鍵的作用Ctrl+R-切換16位/32位通用寄存器顯示Ctrl+I-使光條指示寄

22、存器的內(nèi)容+1Ctrl+D-使光條指示寄存器的內(nèi)容-1Ctrl+Z-使光條指示寄存器的內(nèi)容清零Ctrl+C-手動(dòng)修改光條指示寄存器的內(nèi)容.當(dāng)焦點(diǎn)區(qū)域在標(biāo)志寄存器顯示區(qū)時(shí)熱鍵的作用Ctrl+T-翻轉(zhuǎn)光條指示標(biāo)志的狀態(tài).當(dāng)焦點(diǎn)區(qū)域在數(shù)據(jù)顯示區(qū)時(shí)熱鍵的作用Ctrl+D-修改數(shù)據(jù)顯示格式Ctrl+G-指定需要顯示的內(nèi)存區(qū)域首地址Ctrl+C-修改光標(biāo)當(dāng)前指示存儲單元的內(nèi)容Ctrl+S-查找指定的字節(jié)值表.當(dāng)焦點(diǎn)區(qū)域在代碼顯示區(qū)時(shí)熱鍵的作用Ctrl+G-指定需要顯示的代碼區(qū)域首地址Ctrl+S-查找當(dāng)前指定指令2.2 TD-PIT+的硬件環(huán)境及使用TD-PIT+實(shí)驗(yàn)箱提供了主要硬件實(shí)驗(yàn)平臺,它包括兩大電

23、路部分:系統(tǒng)總線單元電路和實(shí)驗(yàn)單元電路,其分布結(jié)構(gòu)如圖2-10所示。圖2-10 TD-PIT+實(shí)驗(yàn)平臺結(jié)構(gòu)圖2.2.1 系統(tǒng)總線單元電路系統(tǒng)通過PC主機(jī)中的PCI總線擴(kuò)展卡及對應(yīng)邏輯電路,將系統(tǒng)總線信號轉(zhuǎn)換成仿真ISA總線信號,為用戶提供實(shí)驗(yàn)所需的系統(tǒng)總線信號。該系統(tǒng)總線信號說明如表2-2所示。表2-2 系統(tǒng)總線信號說明信號名稱信號含義XD0XD3132位數(shù)據(jù)總線信號XA2-XA2322位地址總線信號XMER、XMEW、XIOR、XIOW存儲器讀寫信號、I/O讀寫信號IOY0、IOY1、IOY2、IOY3I/O空間段片選信號MY0、MY1、MY2、MY3存儲器空間段片選信號BE0、BE1、BE

24、2、BE332位數(shù)據(jù)字節(jié)使能信號HOLD、HLDA總線請求與總線應(yīng)答信號M/IO存儲器/輸入輸出總線周期指示信號,IO周期時(shí)信號為低電平INTR中斷請求信號(上升沿有效)CLK系統(tǒng)時(shí)鐘信號=1.041667MHzPCLK擴(kuò)展時(shí)鐘信號=1.8432MHzRST、RST#系統(tǒng)復(fù)位信號實(shí)驗(yàn)系統(tǒng)向PC機(jī)申請了接口實(shí)驗(yàn)所需的配置資源。其中包括16MB的存儲地址空間、256字節(jié)的I/O地址空間和一個(gè)中斷請求信號線。該中斷請求信號將映射到PC機(jī)內(nèi)15個(gè)中斷請求信號線中的某一個(gè)。需要指出的是PC機(jī)分配給用戶的I/O口的實(shí)際地址值應(yīng)該是I/O片選空間段IOY0IOY3的起始地址值與譯碼單元偏移量地址值之和。其中

25、,IOY0IOY3的起始地址值由TD-PIT工具軟件的查看端口資源快捷工具獲得,如圖2-6所示。2.2.2 實(shí)驗(yàn)單元電路 TD-PIT+實(shí)驗(yàn)平臺配備了許多實(shí)驗(yàn)電路單元。這些電路單元為用戶做微機(jī)接口實(shí)驗(yàn)提供了所需的基本電子器件。用戶可根據(jù)實(shí)驗(yàn)需要使用其中一個(gè)或幾個(gè)電路單元中的器件連接成實(shí)驗(yàn)所需的實(shí)驗(yàn)電路。下面給出了實(shí)驗(yàn)平臺上的常用電路單元的電路原理圖和元件引腳圖。圖2-11 基本輸入輸出單元(A組)電路原理圖圖2-12 地址譯碼單元電路原理圖 圖2-13 電子發(fā)聲單元電路原理圖圖2-14 鍵盤及數(shù)碼顯示單元電路原理圖圖2-15 8255元件引腳圖 圖2-16 8254元件引腳圖圖2-17 165

26、50單元電路原理圖第三章 匯編程序的基本結(jié)構(gòu) 盡管匯編程序是由低級語言編寫而成,但程序語句同樣需要經(jīng)過語言工具軟件的支持,才能把這些語句轉(zhuǎn)換成機(jī)器指令。為了能有效的組織好這些語句程序,通常都會對編寫程序的組織結(jié)構(gòu)有特殊約定,這些約定就定義了程序的基本結(jié)構(gòu)。匯編程序通常用偽指令來說明其程序的基本結(jié)構(gòu)。偽指令只由系統(tǒng)編譯軟件負(fù)責(zé)解釋與執(zhí)行,它并不生成程序的機(jī)器碼??梢岳斫鉃閭沃噶钍菍χ噶畹墓芾砗脱a(bǔ)充。一偽指令1指令集選擇偽指令 說明指令的CUP類型,通常放在程序的最前面。 如:.8086 ;選擇8086指令集編程。.486P ;選擇80486及特權(quán)指令集編程。2段定義偽指令 說明段類別及空間分配辦

27、法。 段名 SEGMENT 組合類型 類別 屬性 ;段內(nèi)容 段名 ENDS 其中類別用于表示段的分類,如DATA,CODE,STACK,匯編系統(tǒng)軟件會把具有相同性質(zhì)的段相鄰排放。 屬性規(guī)定為16位的段或32位的段。如USER16表示16位段。 組合類型規(guī)定本段與其他段的關(guān)系,如STACK,COMMAND等。3. 段說明偽指令說明段名的段空間和指定的段寄存器對應(yīng)。ASSUME 段寄存器1:段名1,段寄存器n:段名n1 過程定義偽指令定義某程序塊為程序過程。過程名 PROC 屬性 ;程序內(nèi)容 RET過程名 ENDP二 . 有完整匯編程序結(jié)構(gòu)的程序 Stack1 SEGMENT STACK stac

28、k ; 定義堆棧段 stspace DW 100H DUP(?)Stack1 ENDSdata1 SEGMENT data ; 定義數(shù)據(jù)段 z DB ?x DB 10data1 ENDScode1 SEGMENT code ; 定義程序段 ASSUME CS:code1,DS:data1,SS:Stack1start: MOV AX,data1 MOV DS,AXSUB AL,x+1ADD AL,3INT 21Hcode1 ENDSEND start第四章 數(shù)據(jù)顯示程序?qū)嶒?yàn)(設(shè)計(jì)性實(shí)驗(yàn))實(shí)驗(yàn)一 數(shù)據(jù)顯示程序?qū)嶒?yàn)1 實(shí)驗(yàn)?zāi)康?(1) 掌握在PC機(jī)上以十六進(jìn)制形式顯示數(shù)據(jù)的方法。 (2) 掌握部分

29、DOS功能調(diào)用使用方法。 (3) 熟悉TD-PIT集成環(huán)境和調(diào)試器的使用。   2 實(shí)驗(yàn)內(nèi)容及說明     一般來說,有很多程序需要顯示輸出提示運(yùn)行的狀況和結(jié)果,有的還需要將數(shù)據(jù)區(qū)中的內(nèi)容顯示在屏幕上。本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上,并通過DOS功能調(diào)用完成一些提示信息的顯示。實(shí)驗(yàn)中可使用DOS功能調(diào)用(INT 21H)。 (1) 顯示單個(gè)字符輸出 入口:AH=02H 調(diào)用參數(shù):DL=輸出字符 (2) 顯示字符串 入口:AH=09H 調(diào)用參數(shù):DS:DX=串地址,$為結(jié)束字符 (3) 鍵盤輸入并回顯 入口:AH=01H 返回參數(shù)

30、:AL=輸出字符 (4) 返回DOS系統(tǒng) 入口:AH=4CH 調(diào)用參數(shù):AL=返回碼 3 實(shí)驗(yàn)要點(diǎn) (1) 可在程序執(zhí)行時(shí),先在屏幕上顯示提示信息,以確認(rèn)程序運(yùn)行正常。(2) 若將屏幕上提示信息換行,可通過顯示換行符及回車符0AH0DH來現(xiàn)實(shí)。(3) 程序結(jié)束時(shí)應(yīng)返回DOS。相關(guān)參考程序如下:DATASEGMENT MESDB'Show a as hex:',0AH,0DH,'$' SDDB'a' DATAENDS   CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOV AX,DATA MOVDS,A

31、X MOVDX,OFFSET MES;顯示提示信息 MOVAH,09H INT 21H  ;顯示數(shù)據(jù)程序段 MOVAX,4C00H ;返回DOS INT21H CODEENDS ENDSTART (4) 對于9與A在ASCII表(見附錄2)中的值相差7,是顯示程序中加7H調(diào)整的原因。4 實(shí)驗(yàn)步驟 (1) 運(yùn)行TD-PIT軟件,選擇文件菜單,點(diǎn)擊新建,進(jìn)入一個(gè)源文件編輯界面。根據(jù)實(shí)驗(yàn)內(nèi)容的描述編寫實(shí)驗(yàn)程序,本實(shí)驗(yàn)顯示部分參考實(shí)驗(yàn)流程如圖4-1-1所示。 (2) 使用編譯菜單中的編譯和鏈接對實(shí)驗(yàn)程序進(jìn)行匯編、連接。 (3) 使用編譯菜單中的運(yùn)行,運(yùn)行程序,觀察運(yùn)行結(jié)果。 (4) 使用編譯

32、菜單中的調(diào)試,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。 (5) 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),檢查程序的正確性。 圖4-1-1 顯示程序?qū)嶒?yàn)流程圖5 實(shí)驗(yàn)報(bào)告中回答下列問題1數(shù)據(jù)區(qū)中 0AH,0DH 的組合作用是什么?2程序中指令 ADD AL, 07H 的作用是什么?參考程序DATASEGMENTUSE16MES1 DB 'Show a as hex:',0AH,0DH,'$'SD DB 'a'DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATA START: MOV AX, DATAM

33、OV DS, AX MOV DX, OFFSET MES1 ;show messageMOV AH, 09HINT 21HMOV SI, OFFSET SD MOV AL, DS:SIAND AL,0F0H ;取高4位SHR AL, 4 CMP AL, 0AH ;是否是A以上的數(shù)JB C2ADD AL, 07HC2: ADD AL, 30H MOV DL, AL ;show character MOV AH,O2H INT 21H MOV AL, DS:SIAND AL, 0FH ;取低4位CMP AL, 0AHJB C3ADD AL, 07HC3: ADD AL, 30H MOV DL, A

34、L;show character MOV AH,O2H INT 21H MOV AX,4C00H ;go back to dosINT 21HCODE ENDSENDSTART 第五章 數(shù)據(jù)傳送實(shí)驗(yàn)(設(shè)計(jì)性實(shí)驗(yàn))實(shí)驗(yàn)二 數(shù)據(jù)傳送實(shí)驗(yàn)1 實(shí)驗(yàn)?zāi)康?(1) 熟悉TD-PIT集成環(huán)境和調(diào)試器的使用。 (2) 掌握與數(shù)據(jù)有關(guān)的不同尋址方式。   2 實(shí)驗(yàn)內(nèi)容 本實(shí)驗(yàn)要求將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏幕上。參考實(shí)驗(yàn)程序如下: 3 實(shí)驗(yàn)要點(diǎn) (1) 實(shí)驗(yàn)中,字符串的長度是不確定的,可根據(jù)下列語句來測試其長度:DDATASEGMENT;定義源數(shù)據(jù)段 MSRDB

35、 "HELLO,WORLD!$" LENEQU $- MSR ;長度值保存在LEN中DDATAENDS (2) 附加段的定義類似數(shù)據(jù)段的定義,但在段分配時(shí)應(yīng)在帶碼段中說明,如下所示:EXDASEGMENT;定義附加數(shù)據(jù)段 MSDDB LEN DUP(?) EXDAENDS   CODESEGMENT;定義代碼段 ASSUME CS:CODE,DS:DDATA,ES:EXDA CODEENDS END START (3) 程序主體部分可用寄存器間接尋址方式,也可用相對尋址方式,相對尋址方式的方法如下所示: MOV BX,0 MOV CX,LEN NEXT:MOV A

36、L,MSRBX MOV ES:MSDBX,AL INC BX LOOP NEXT 4 實(shí)驗(yàn)步驟 (1) 運(yùn)行TD-PIT軟件,選擇文件菜單,點(diǎn)擊新建進(jìn)行實(shí)驗(yàn)程序的編寫。 (2) 使用編譯菜單中的編譯和連接對實(shí)驗(yàn)程序進(jìn)行匯編、連接。 (3) 使用編譯菜單中的運(yùn)行,運(yùn)行程序,觀察運(yùn)行結(jié)果。 (4) 使用編譯菜單中的調(diào)試,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。 (5) 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。DDATASEGMENTMSR DB 'HELLO,WORLD!$'LEN EQU $- MSRDDATAENDSEXDASEGMENTMSD DB

37、 LEN DUP(?)EXDAENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA MOV DS,AX MOV AX,EXDA MOV ES,AX MOV SI,OFFSET MSR MOV DI,OFFSET MSD MOV CX,LEN MOV BX,0NEXT: MOV AL,MSRBX MOV ES:MSDBX,AL INC BX LOOP NEXT PUSH ES POP DS MOV DX,OFFSET MSD MOV AH,9 INT 21H MOV AX,4C00H INT 21HCODE EN

38、DSEND START第六章 分支程序設(shè)計(jì)實(shí)驗(yàn)(設(shè)計(jì)性實(shí)驗(yàn))實(shí)驗(yàn)三 分支程序設(shè)計(jì)實(shí)驗(yàn)1 實(shí)驗(yàn)?zāi)康?掌握分支程序的設(shè)計(jì)方法。   2 實(shí)驗(yàn)內(nèi)容及說明 程序有順序、循環(huán)、分支和子程序四種結(jié)構(gòu)形式,分支結(jié)構(gòu)的示意圖如圖4-5-1所示。本實(shí)驗(yàn)要求通過求無符號字節(jié)序列中的最大值和最小值來反映分支程序的結(jié)構(gòu)形式。 圖4-5-1分支結(jié)構(gòu)示意圖    實(shí)驗(yàn)可以使用BH,BL作為暫存現(xiàn)行的最大值和最小值,且在程序的初始,將BH和BL初始化為首字節(jié)的內(nèi)容,然后進(jìn)入循環(huán)操作。在循環(huán)操作中,依次從字節(jié)序列中逐個(gè)取出一個(gè)字節(jié)的內(nèi)容與BH,BL進(jìn)行比較,若取出的字節(jié)內(nèi)容比BH的內(nèi)容

39、大或比BL中的內(nèi)容小,則修改之。當(dāng)循環(huán)結(jié)束操作時(shí),將BH,BL分別送屏幕顯示。參考實(shí)驗(yàn)流程如圖4-5-2所示。 3 實(shí)驗(yàn)步驟 (1) 運(yùn)行TD-PIT軟件,選擇文件菜單編寫實(shí)驗(yàn)程序;提供8字節(jié)的數(shù)據(jù):0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。 (2) 使用編譯菜單中的編譯和連接對實(shí)驗(yàn)程序進(jìn)行匯編、連接。 (3) 使用編譯菜單中的運(yùn)行,運(yùn)行程序,觀察運(yùn)行結(jié)果。 (4) 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。圖4-5-2分支程序?qū)嶒?yàn)流程圖DDATA SEGMENTMES1DB 'The least number is:$'MES2 DB 0AH,0DH

40、,'The largest number is:$'NUMBDB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOVAX,DDATA MOVDS,AX MOV SI,OFFSET NUMB MOV CX,0008H JCXZ A4 MOV BH,SI MOV BL,BHA1: LODSB;AL=DS:SI,SI=SI+1 CMP AL,BH JBE A2 MOV BH,AL JMP A3A2: CMP AL,BL JAE A3 MOV BL,ALA3

41、: LOOP A1A4: MOVDX,OFFSET MES1;show mes1 MOVAH,09H INT 21H MOVAL,BL;show the least number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BL ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;

42、show character MOVAH,02H INT21H MOVDX,OFFSET MES2;show mes2 MOVAH,09H INT 21H MOVAL,BH;show the largest number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC22 ADDAL,07HC22: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BH ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC33 ADD AL,07

43、HC33: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAX,4C00H;go back to dos INT21HCODE ENDSEND START第七章 基本I/O接口電路設(shè)計(jì)實(shí)驗(yàn)四 基本I/O接口電路設(shè)計(jì)1 實(shí)驗(yàn)?zāi)康?1).掌握基本I/O接口電路的設(shè)計(jì)方法,學(xué)習(xí)譯碼電路的設(shè)計(jì)及顯示驅(qū)動(dòng)電路的設(shè)計(jì)應(yīng)用。 (2).掌握應(yīng)用匯編語言進(jìn)行I/O操作的程序設(shè)計(jì)的方法步驟。2. 實(shí)驗(yàn)設(shè)備PC微機(jī)一臺、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。3. 實(shí)驗(yàn)內(nèi)容用譯碼器設(shè)計(jì)譯碼電路,使I/O口偏移地址為04H。利用鎖存器連接系統(tǒng)總線,擴(kuò)接LED數(shù)碼顯示電

44、路。編程在顯示器上顯示數(shù)字(0-9),且每個(gè)數(shù)字顯示1秒左右。驗(yàn)證控制程序的控制結(jié)果。4. 實(shí)驗(yàn)原理 圖5.1是顯示數(shù)字的實(shí)驗(yàn)電路參考圖。圖中使用74LS138譯碼器進(jìn)行口地址譯碼,當(dāng)G2A=0,G2B=0,G1=1時(shí)譯碼器被選通,其中IO/M在PC機(jī)I/O讀寫周期時(shí)為低電平;且在C,B,A為0,0,1時(shí)Y1被選中,其中(XA4,XA3,XA2)與C,B,A相接,即當(dāng)PC機(jī)向端口(IOY0+04H)輸出數(shù)據(jù)時(shí)Y1有效且XIOW也有效,使鎖存器74LS374從系統(tǒng)總線的數(shù)據(jù)線(XD0-XD7)上鎖存PC機(jī)送來的數(shù)據(jù)并輸出至數(shù)碼顯示器。圖5.1 基本I/O接口電路實(shí)驗(yàn)參考圖顯示1數(shù)字并保持1秒的參

45、考程序如下:C語言源程序#include<conio.h> /包含outp()函數(shù)定義的頭文件void delay(int time);#define IOY0 0xc800 /通過PIT的端口資源工具查得的片選起始地址值#define port IOY0+0x04void main() int i; outp(port,0x06); /顯示1的輸出數(shù)據(jù) delay(100);outp(port,0x00); /清除顯示void delay(int time) int i; long j; for(i=0;i<=time;+i) for(j=0;j<=0x400000;

46、j+) return;匯編源程序;*根據(jù)CHECK配置信息修改下列符號值*IOY0 EQU 9C00H ;片選IOY0對應(yīng)的端口始地址;*MYIO EQU IOY0+00H*4 ;基本輸入輸出單元74LS374端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MYIO MOV AL,06H OUT DX,AL ; 輸出顯示1的數(shù)據(jù) CALL DALIY QUIT: MOV AX,4C00H ;返回到DOS INT 21HDALLY PROC ;延時(shí)子程序D0: MO

47、V CX,200HD1: MOV AX,0FFFFHD2: DEC AX JNZ D2 LOOP D1 DEC DL JNZ D0 RETCODE ENDS END START;Led.asm;LED顯示實(shí)驗(yàn);*根據(jù)CHECK配置信息修改下列符號值*IOY0 EQU 9C00H ;片選IOY0對應(yīng)的端口始地址IOY1 EQU 9C40H ;片選IOY1對應(yīng)的端口始地址;*MYIO_A EQU IOY0+00H*4 ;基本輸入輸出單元A組端口地址MYIO_B EQU IOY1+00H*4 ;基本輸入輸出單元B組端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MYIO_B MOV AL,00H OUT DX,AL MOV DX,MYIO_A ;操作LED行顯示 MOV BL,01H MOV CX,8LOOP1: MOV AL,BL OUT DX,AL ROL BL,1 CALL DALLY LOOP LOOP1 MOV DX,MYIO_A

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論