版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目目 錄錄第一部分第一部分 I386EX 系統(tǒng)板介紹系統(tǒng)板介紹.1第一章 I386EX 系統(tǒng)板概述.1第二章 I386EX 系統(tǒng)板的硬件操作環(huán)境.2第三章 聯(lián)機軟件說明.3第四章 I386EX 系統(tǒng)板的資源分配.12第二部分第二部分 實驗教程實驗教程.14實驗一 系統(tǒng)認識及程序調(diào)試練習.14實驗二 D/A 轉(zhuǎn)換實驗 .18實驗三 A/D 轉(zhuǎn)換實驗 .21實驗四 最小拍控制系統(tǒng).26實驗五 積分分離 PID 控制.29實驗六 大林算法控制.331第一部分第一部分 i386EX 系統(tǒng)板介紹系統(tǒng)板介紹第一章第一章 i386EX 系統(tǒng)板概述系統(tǒng)板概述1.1 系統(tǒng)簡介“TD-ACC+”教學實驗系統(tǒng),其基
2、本配置就含有一個開放式的模擬實驗平臺和一組先進的虛擬儀器,可以高水平地支持自動控制原理的實驗教學,若再選配“i386EX 系統(tǒng)板”,就還可以開展“80X86 的計算機控制技術(shù)”的實驗教學。i386EX 系統(tǒng)板是一種基于intel386EX嵌入式微處理器的控制機,它以嵌入式應(yīng)用為中心,可以滿足大多數(shù)技術(shù)領(lǐng)域的需要,是當今微機應(yīng)用及嵌入式技術(shù)發(fā)展的主流。配置了“i386EX 系統(tǒng)板”的“TD-ACC+自動控制原理/計算機控制技術(shù)”教學實驗系統(tǒng)其構(gòu)成主要包括:i386EX 系統(tǒng)、開放式的模擬實驗平臺、一組先進的虛擬儀器以及新編的自動控制原理實驗教程和80X86 計算機控制技術(shù)實驗教程。整個實驗系統(tǒng)的
3、結(jié)構(gòu)框圖如下頁所示。21.2 i386EX 系統(tǒng)板的特點系統(tǒng)板的特點1. 采用先進的嵌入式微處理器采用INTEL公司新推出的32位嵌入式處理器i386EX,使該嵌入式控制計算機功能達到了最優(yōu)化。它功耗小,將許多經(jīng)常使用的外圍接口如8259、8254、8250和8237等集成到芯片內(nèi)部,內(nèi)部為32位總線,外部為16位數(shù)據(jù)總線,保持與標準的32位80386CPU相同的指令系統(tǒng),具有64MB的尋址能力。2. 總線標準和工業(yè)PC104-ISA標準兼容該控制計算機具有24MHz的工作頻率,128KB的程序存儲器和128KB的數(shù)據(jù)存儲器,滿足復(fù)雜計算機控制和嵌入式應(yīng)用的要求。采用控制計算機加模擬實驗平臺的
4、結(jié)構(gòu)設(shè)計,將i386EX的總線和接口資源以PC104-ISA的總線標準引出。3. 功能強大的源碼級調(diào)試環(huán)境控制計算機通過串口與PC微機相連,并配備了C語言及匯編語言的源碼級調(diào)試開發(fā)環(huán)境,功能強大。具有單步、跳過、斷點、連續(xù)、變量跟蹤等調(diào)試功能,可多方位、動態(tài)地調(diào)試實驗程序。第二章第二章 i386EX 系統(tǒng)板的硬件操作環(huán)境系統(tǒng)板的硬件操作環(huán)境系統(tǒng)的部分總線以排針的形式引出,與實驗單元相連可完成相應(yīng)的實驗。系統(tǒng)引出信號線說明及相關(guān)的端口地址見表2.1-1。表表2.1-1 控制計算機系統(tǒng)信號線說明控制計算機系統(tǒng)信號線說明信號線說 明相關(guān)的端口地址D0D7系統(tǒng)的低八位數(shù)據(jù)線A0A3系統(tǒng)地址線低四位(輸
5、出)/IOR、 /IOW I/O讀、寫信號(輸出)IRQ5、IRQ6、IRQ7內(nèi)部主片8259 中斷請求信號(輸入)P3CFG 擴展I/O 地址為:F824HINTCFG 擴展I/O 地址為:F832HICW1、IRR、ISR、OCW2 和OCW3 地址為:20HICW2、ICW3、ICW4、OCW1 和POLL 地址均為:21HOUT1內(nèi)部1定時器輸出信號(輸出)TMRCFG 擴展I/O 地址為:F834HTMR1 擴展I/O 地址為:F041HTMRCON 擴展I/O 地址為:F043H/IOY00600H063FH/IOY1 0640H067FH/IOY2 I/O 接口待擴展信號(輸出)
6、0680H06BFHDIN0DIN34 位數(shù)字量輸入信號(輸入)P1 口的低四位對應(yīng)P1.0 P1.3P1CFG 擴展I/O 地址為:F820HP1DIR 擴展I/O 地址為:F864HP1PIN 擴展I/O 地址為:F860HDOUT0 DOUT34 位數(shù)字量輸出信號(輸出)P2 口的低四位對應(yīng)P2.0 P2.3P2CFG 擴展I/O 地址為:F822H3P2DIR 擴展I/O 地址為:F86CHP2LTC 擴展I/O 地址為:F86AH注:1.“/”號表示該信號低電平有效2. 擴展I/O 地址使能操作:_asm MOV AX,8000HOUT 23H,ALXCHG AL,AHOUT 22H
7、,ALOUT 22H,AX 擴展I/O 地址無效操作:_asm MOV AL,00HOUT 23H,AL第三章第三章 聯(lián)機軟件說明聯(lián)機軟件說明3.1 聯(lián)機軟件系統(tǒng)概述聯(lián)機軟件系統(tǒng)概述該聯(lián)機軟件集成了源碼級調(diào)試軟件和虛擬儀器軟件。該軟件具有匯編語言和C 語言源語言級調(diào)試跟蹤界面,有別于傳統(tǒng)的DEBUG 調(diào)試,操作更簡單,視覺效果更直接。如果用戶習慣于DEBUG 調(diào)試,點擊輸出區(qū)的調(diào)試標簽亦可對源程序進行DEBUG 調(diào)試。用戶可以選擇是否監(jiān)控堆棧,也可以通過“變量監(jiān)控”對話框選擇監(jiān)控哪些全局變量;寄存器/變量/堆棧區(qū)能夠?qū)ο挛粰C的寄存器、變量和堆棧實現(xiàn)實時監(jiān)視,使寄存器/變量/堆棧區(qū)的數(shù)據(jù)永遠是下
8、位機中數(shù)據(jù)的真實反映;在寄存器/變量/堆棧區(qū)改寫寄存器和變量的值,即可改變下位機中寄存器和變量的值。軟件集成了一組功能強大的數(shù)字化虛擬儀器界面,用于時域曲線的實時測量和分析、頻率特性分析、X_Y 測量、阻容/電壓值測量等。聯(lián)機軟件具有特點如下:(1) 支持匯編語言和C 語言兩種編譯環(huán)境(2) 高度可視化的源語言級調(diào)試跟蹤界面(3) 實時監(jiān)視寄存器,能夠即時對寄存器中的值進行修改(4) 可以選擇要監(jiān)視的全局變量,進行實時監(jiān)視和即時修改(5) 可以選擇是否要實時監(jiān)視堆棧寄存器(6) 集成虛擬儀器:具有雙蹤超低頻數(shù)字存貯示波器、頻率特性分析儀、X_Y 測量和數(shù)字萬用表。3.2 軟件使用說明軟件使用說
9、明3.2.1 主界面窗口4主要分為三部分:程序編輯區(qū)、變量區(qū)和輸出區(qū)。1程序編輯區(qū)位于界面右上部,用戶可在程序編輯區(qū)用“新建”命令打開一個新文檔或用“打開”命令打開一個已存在的文檔,在文檔中用戶可編輯程序。用戶可在程序編輯區(qū)打開多個文檔,點擊文檔標簽可激活任一文檔。編譯、鏈接、加載以及調(diào)試命令只針對當前活動文檔。用戶調(diào)試程序時,程序運行的軌跡亦在當前活動文檔中指示。2變量區(qū)位于界面左上部,包括三個部分:寄存器區(qū)、變量區(qū)和堆棧區(qū)。寄存器區(qū)和變量區(qū)用于實時監(jiān)視、修改寄存器和變量的值,堆棧區(qū)主要用于實時監(jiān)視用戶堆棧區(qū)。點擊寄存器區(qū)標簽可觀察和修改寄存器,點擊變量區(qū)標簽可觀察和修改變量,點擊堆棧區(qū)標簽
10、可觀察用戶堆棧區(qū)。執(zhí)行各種調(diào)試操作后,寄存器、變量和堆棧區(qū)的值會自動刷新,如果寄存器區(qū)刷新后的值和刷新前的值相同,則顯示為藍色,如果不同,則顯示為紅色。變量區(qū)和堆棧區(qū)刷新前和刷新后都為藍色。想修改寄存器或變量,用鼠標左鍵單擊某寄存器或變量,當寄存器或變量值的區(qū)域變?yōu)樗{色后輸入修改后的值,然后回車。如果修改的是寄存器,輸入值的長度應(yīng)與寄存器的長度相同,回車后修改正確,如果輸入值的長度和寄存器的長度不相同,寄存器的值不會被修改,保持原來的值且可以繼續(xù)修改該寄存器的值。如果修改的是變量,輸入值的長度與變量的長度相同,回車后修改正確,如果輸入值的長度小于變量的長度,回車后輸入值的前面自動添零,如果輸入
11、值的長度大于變量的長度,回車后輸入值的后面的多余部分自動刪除。堆棧區(qū)只用于監(jiān)視,不能夠被修改。3輸出區(qū)位于界面下部,輸出區(qū)包含三個部分:編譯區(qū)、調(diào)試區(qū)和結(jié)果區(qū)。編譯區(qū)顯示編譯和鏈接的結(jié)果,如果編譯時有錯誤或警告,雙擊錯誤或警告信息,錯誤標識符會指示到相應(yīng)的有錯誤或警告的行。調(diào)試區(qū)主要用于DEBUG 調(diào)試。結(jié)果區(qū)主要用于顯示程序加載結(jié)果、程序運行輸出結(jié)果和復(fù)位結(jié)果。結(jié)果區(qū)中有“加載中,請稍候.”的字樣表示聯(lián)機軟件正在把可執(zhí)行文件加載到下位機中,用戶此時應(yīng)等待直到加載完成,“加載成功”表示加載完成且成功,“加載失敗”表示加載完成且失敗,此時應(yīng)重新加載。程序中用“INT 10H”輸出的結(jié)果亦顯示在此
12、區(qū)。軟復(fù)位或硬件復(fù)位成功后,結(jié)果區(qū)顯示“復(fù)位成功!”。如果復(fù)位不成功則不顯示此句。3.2.2 菜單功能菜單功能1文件菜單項(略)2編輯菜單項(略)53查看菜單項(略)4端口菜單項(略)5編譯菜單項該項提供了以下命令:(1) 編譯 (C):編譯當前活動文檔中的源程序,在源文件目錄下生成目標文件。如果有錯誤或警告生成,則在輸出區(qū)顯示錯誤或警告信息,雙擊錯誤或警告信息,可定位到有錯誤或警告的行,修改有錯誤或警告的行后應(yīng)重新“編譯”。如果編譯沒有錯誤生成 (即使有警告生成) 使能“鏈接”菜單項和工具欄中的“鏈接”按鈕,以便進行鏈接。編譯時自動保存源文件中所做的修改。(2) 鏈接 (L):鏈接編譯生成的
13、目標文件,在源文件目錄下生成可執(zhí)行文件。如果有錯誤或警告生成,則在輸出區(qū)顯示錯誤或警告信息,查看錯誤或警告信息修改源程序,修改后應(yīng)重新“編譯”和“鏈接”。如果鏈接沒有錯誤生成 (即使有警告生成),使能“加載”菜單項和工具欄中的“加載”按鈕,以便進行加載。(3) 加載 (D):把鏈接生成的可執(zhí)行文件加載到下位機。在加載過程中輸出區(qū)有“加載中,請稍候.”的字樣,用戶此時應(yīng)該等待直到加載完成。加載完成后,如果加載成功,輸出區(qū)顯示“加載成功!”,使能“調(diào)試”菜單中的菜單項和調(diào)試工具欄中的按鈕,此時CS 和IP 指向程序的開始執(zhí)行行并在此行設(shè)置執(zhí)行標記。如果加載失敗,輸出區(qū)顯示“加載失??!”,不使能“調(diào)
14、試”菜單中的菜單項和調(diào)試工具欄中的按鈕,此時應(yīng)重新進行“加載”。(4) 編譯鏈接并加載 (T):依次執(zhí)行編譯、鏈接和加載。中間各環(huán)節(jié)“成功”或“失敗”提示的信息及操作同上。6設(shè)置菜單項 (1) 語言:設(shè)置語言環(huán)境匯編語言:設(shè)置編譯環(huán)境為匯編語言環(huán)境。此時可編輯、編譯和鏈接IBM-PC 匯編語言源程序。C 語言:設(shè)置編譯環(huán)境為C 語言環(huán)境。此時可編輯、編譯和鏈接TURBO C 語言源程序。(2) 變量監(jiān)控:加載成功后才可用此按鈕。點擊此按鈕,出現(xiàn)如下對話框:選擇要監(jiān)視的全局變量,左邊的列表框為程序中的全局變量,系統(tǒng)只能監(jiān)視全局變量,右邊的列表框為系統(tǒng)正在監(jiān)視的全局變量。如果想監(jiān)視左邊列表框的某一
15、變量A,用鼠標左鍵單擊變量A,使之成為選擇項,如上圖所示,此時點擊“加入監(jiān)視”按鈕,右邊的列表框6出現(xiàn)變量A,點擊“結(jié)束”按鈕后變量A 會出現(xiàn)在變量區(qū)。如果想從變量區(qū)去掉某一正在監(jiān)視的變量B,點擊“變量監(jiān)控”按鈕,出現(xiàn)如上圖所示對話框,在右邊的列表框中用鼠標左鍵單擊變量B,使之成為選擇項,如上圖所示,此時點擊“停止監(jiān)視”按鈕,此變量從右邊的列表框消失,點擊“結(jié)束”按鈕后,變量B 從變量區(qū)消失。在匯編語言源文件中,數(shù)據(jù)段定義的變量并不是全局變量,因此數(shù)據(jù)段定義的變量并不出現(xiàn)在上圖所示的對話框的左邊列表,要想監(jiān)視這些變量,必須使它們成為全局變量,使一個變量成為全局變量的方法是用關(guān)鍵字PUBLIC
16、在源程序的最前面聲明之,格式是:PUBLIC symbol,.,范例如下:數(shù)據(jù)段DATA1 中的數(shù)據(jù) mus_time,mus_freq 經(jīng)過PUBLIC 聲明后成為全局變量,編譯、鏈接、加載完成后,點擊“變量監(jiān)控”按鈕,此時對話框左邊的列表框出現(xiàn) mus_time 和mus_freq變量,可對這兩個變量進行監(jiān)控。在C 語言源文件的調(diào)試中,系統(tǒng)也只能監(jiān)視全局變量。要想監(jiān)視某一變量,應(yīng)該把他定義為全局變量。(3) 堆棧監(jiān)控:選擇是否要監(jiān)視用戶堆棧區(qū),點擊此按鈕出現(xiàn)如下對話框:選擇“不監(jiān)控堆?!眴芜x按鈕,確定后不監(jiān)視堆棧區(qū),選擇“監(jiān)控堆?!眴芜x按鈕,確定后監(jiān)視堆棧區(qū)。默認選項為“不監(jiān)控堆?!薄?調(diào)
17、試菜單項(1) 設(shè)置斷點/刪除斷點 (B)設(shè)置或刪除一個斷點,當前光標所在的行為當前行,用鼠標左鍵單擊程序可任意改變當前行。如果當前行無斷點則在當前行設(shè)置斷點,如果當前行有斷點則刪除當前行的斷點。設(shè)置斷點的行如上圖所示。并不是源程序的所有行都可以設(shè)置斷點,如偽操作行和空行不能設(shè)置斷點。源程序設(shè)置的斷點數(shù)不能超過8 個。(2) 清除所有斷點 (D):清除所有設(shè)置的斷點,清除源程序中設(shè)置的所有斷點,只有當設(shè)置的斷點數(shù)大于零時,該菜單才使能。(3) 設(shè)置起點 (T)7設(shè)置程序開始運行的起點,當前光標所在的行為當前行,用鼠標左鍵單擊程序可任意改變當前行。此命令把當前行設(shè)置為程序的起點,即程序從此行開始
18、運行,寄存器區(qū)的CS 和IP 的值刷新后指向此行,設(shè)置程序起點的行如上圖所示。并不是源程序的所有行都可以設(shè)置起點,如偽操作行和空行不能設(shè)置起點。(4) 單步 (T):執(zhí)行一條語句,點擊此命令使程序執(zhí)行一條語句,如果是函數(shù)則進入函數(shù)內(nèi)部,執(zhí)行后刷新所有的變量和寄存器的值。如下圖,“ADD WANG1,01H”為當前執(zhí)行行。點擊“單步”指令后,執(zhí)行界面如下圖,此時“ADD WANG2,01H”變成當前執(zhí)行行。如果當前執(zhí)行行的下一行有斷點,如下圖所示。那么,單步后的當前執(zhí)行行有斷點,執(zhí)行界面就如下圖所示。如果當前執(zhí)行行為函數(shù)調(diào)用,如下圖所示,點擊“單步”指令后,當前執(zhí)行行進入函數(shù)內(nèi)部,執(zhí)行界面如下圖
19、所示,并不是所有行的語句都適用單步,對于那些試圖改變控制計算機和PC 微機通訊電路設(shè)置的語句,使用單步命令會導(dǎo)致下位機死機,從而不響應(yīng)上位機的命令。出現(xiàn)單步死機情況后應(yīng)先軟件復(fù)位,如果軟件復(fù)位成功,則不需要硬件復(fù)位,如果軟件復(fù)位不成功,系統(tǒng)會提示您硬件復(fù)位,硬件復(fù)位成功后會使能調(diào)試工具欄的按鈕。(5) 跳過 (O):跳過一個函數(shù)。點擊此命令使程序執(zhí)行一個函數(shù),執(zhí)行后刷新所有變量8和寄存器的值。只有當當前執(zhí)行行為函數(shù)調(diào)用,如下圖所示,才用此命令,此時當前執(zhí)行行為“call WW31”,點擊“跳過”指令后,執(zhí)行界面如下圖所示,此時當前執(zhí)行行為“mov al,05h”。如果當前執(zhí)行行為函數(shù)調(diào)用且下一
20、行有斷點,如下圖所示,點擊“跳過”指令后的當前執(zhí)行行有斷點,執(zhí)行界面就如下圖所示。如果函數(shù)內(nèi)部有斷點,點擊“跳過”指令后,程序會停在函數(shù)內(nèi)部有斷點的行,如下圖所示。(6) 運行/運行到斷點:從當前執(zhí)行行開始向后運行,如果沒有斷點,則運行直到程序結(jié)束。如果有斷點,則運行到斷點后停止。(7) 停止:停止運行,發(fā)送此命令使程序停止運行,程序停止后刷新所有寄存器和變量的值。8虛擬儀器菜單項(略)具體各項說明詳見“虛擬儀器”部分。9窗口菜單項窗口菜單提供了以下命令,這些命令使您能在應(yīng)用程序窗口中安排多個文檔的多個視圖:(1) 新建窗口 (N):建立一個查看同樣文檔的新窗口,用此命令來打開一個具有與活動的
21、窗口相同內(nèi)容的新窗口。您可同時打開數(shù)個文檔窗口以顯示文檔的不同部分或視圖。如果您對一個窗口的內(nèi)容做了改動,所有其它包含同一文檔的窗口也會反映出這些改動。當您打開一個新的窗口,這個新窗口就成了活動的窗口并顯示于所有其它打開窗口之上。(2) 層疊 (C):按重疊方式安排窗口,用此命令按相互重疊形式來安排多個打開的窗口。(3) 平鋪 (T):按互不重疊平鋪方式安排窗口,用此命令按互不重疊形式來安排多個打開的窗口。(4) 排列圖標 (A):安排已最小化窗口的圖標,用此命令在主窗口的底部安排被最小化的窗口的圖標。如果在主窗口的底部有一個打開的窗口,則有可能會看不見某些或全部圖標,因為它們在這個文檔窗口的
22、下面。(5) 窗口1,2,. 轉(zhuǎn)到指定的窗口,TD-ACC 在窗口菜單的底部顯示出當前打開的文檔窗口的清單。有一個打勾記號出現(xiàn)在活動的窗口的文檔名前。從該清單中挑選一個文檔9可使其窗口成為活動窗口。10幫助菜單項(略)3.2.3 工具欄功能工具欄功能是前述菜單功能的快捷圖形方式,功能不再贅述。1標準工具欄標準工具欄共有十二個按鈕,其圖如下:2編譯工具欄編譯工具欄共有五個按鈕,其圖如下:3調(diào)試工具欄:調(diào)試工具欄共有八個按鈕,其圖如下:3.2.4 虛擬儀器界面虛擬儀器界面1時域測量(1) 圖形及參數(shù)顯示說明圖形顯示可同時顯示兩路波形或只顯示一路波形,用鼠標拖動或鍵盤方向鍵移動游標可測量出對應(yīng)的時間
23、間隔、頻率及各自的幅值,且各自幅值的參數(shù)與對應(yīng)波形的顏色一致。(2) 工具欄功能介紹:啟動時域波形數(shù)據(jù)采集并顯示波形。:停止時域波形數(shù)據(jù)采集,此時所顯示的波形對應(yīng)最后采集到的數(shù)據(jù)。:將當前顯示的波形保存為位圖文件。(3) 按鈕功能介紹a) 時間檔位選擇框10用來改變時間軸的范圍,顯示數(shù)據(jù)為當前時間軸每格表示的時間值。點擊按鈕可彈出4ms、8 ms、20 ms、40 ms、100 ms、200 ms、500 ms、1s、2 s、20 s、50 s共11個時間擋,供用戶選擇。按鈕用來選擇當前顯示時間檔的后一個檔 (如1ms), 按鈕用來選擇當前顯示時間檔的前一個檔 (如200ms)。b) 電壓選擇
24、框點擊該組控件中CH1、CH2 旁邊的選擇框,打?qū)幢硎驹撀凡ㄐ物@示,否則不顯示。點擊對應(yīng)的顏色框,可彈出顏色選擇對話框,供用戶選擇該路波形的顯示顏色。顯示框顯示的數(shù)據(jù)為該路波形當前的電壓檔,即縱向每格代表的電壓值。點擊按鈕,數(shù)據(jù)顯示框可彈出100mv、200mv、500mv、1v、2 v、5 v、10 v共7個電壓擋,供用戶選擇。數(shù)據(jù)顯示框右邊的 按鈕用來選擇當前顯示電壓檔的后一個檔 (如2v), 按鈕用來選擇當前顯示電壓檔的前一個檔 (如500mv)。c) :選中該選擇框表示顯示游標及對應(yīng)的測量值,否則只顯示波形。d) :啟動時域波形數(shù)據(jù)采集并顯示波形。e) :停止時域波形數(shù)據(jù)采集,此時顯
25、示的波形對應(yīng)最后采集到的數(shù)據(jù)。f) :將當前顯示的波形保存為位圖文件。2X_Y 測量(略)3頻率特性測量(略)3.2.5 Debug 調(diào)試命令調(diào)試命令該軟件輸出區(qū)集成有Debug 調(diào)試,點擊調(diào)試標簽,進入Debug 狀態(tài),會出現(xiàn)命令提示符“”,主要命令敘述如下:A 進入小匯編格式:A段址:偏移量A 段址:偏移量從段址:偏移量構(gòu)成的實際地址單元起填充匯編程序的目標代碼;A 偏移量從默認的段址與給定的偏移量構(gòu)成的實際地址單元起填充匯編程序目標代碼;11A 從默認段址:默認偏移量構(gòu)成的實際地址單元起填充匯編程序的目標代碼;輸入上述命令后,屏幕顯示地址信息,即可輸入源程序。若直接回車,則退出命令。匯編
26、程序輸入時,數(shù)據(jù)一律為十六進制數(shù),且省略H 后綴。m類操作一定要在 之前標注W(字)或B(字節(jié))。如:MOV B2010, AX,MOV W2010, AX。例:在“”提示符下鍵入A2000 ,此時默認的段址CS 為0000,規(guī)定偏移量IP 為2000,屏幕顯示與操作為:表表3-2-1 小匯編操作示例小匯編操作示例顯示內(nèi)容鍵入內(nèi)容0000:2000MOV AX, 12340000:2003INC AX0000:2004DEC AX0000:2005JMP 20000000:2007B 斷點設(shè)置在系統(tǒng)提示符下,鍵入B ,系統(tǒng)提示i:,等待輸入斷點地址。輸入斷點地址后回車,系統(tǒng)繼續(xù)提示i1:。若直
27、接鍵入回車,則結(jié)束該命令。系統(tǒng)允許設(shè)置最多10 個斷點,斷點的清除只能是通過系統(tǒng)復(fù)位或重新上電來實現(xiàn)。例:表表3-2-2 B命令示例命令示例顯示內(nèi)容鍵入內(nèi)容 B0:20091:D 顯示一段地址單元中的數(shù)據(jù)格式:D段址:起始地址,尾地址D 命令執(zhí)行后屏幕上顯示一段地址單元中的數(shù)據(jù),在顯示過程中,可用CtrlS 來暫停顯示,用任意鍵繼續(xù);也可用CtrlC 終止數(shù)據(jù)顯示,返回監(jiān)控狀態(tài)。E 編輯指定地址單元中的數(shù)據(jù)格式:E段址:偏移量該命令執(zhí)行后,則按字節(jié)顯示或修改數(shù)據(jù),可通過“空格”鍵進入下一高地址單元數(shù)據(jù)的修改,使用“”鍵則進入下一低地址單元進行數(shù)據(jù)的修改,并可填入新的數(shù)據(jù)來修改地址單元的內(nèi)容。若
28、輸入回車,則結(jié)束E 命令。例:表表3-2-3 E命令示例命令示例顯示內(nèi)容 鍵入內(nèi)容 E35000000:3500 00_ 05 空格0000:3501 01_0000:3502 02_120000:3501 01_G 運行程序格式:G段址:偏移量G段址:偏移量其中G 格式表示無斷點連續(xù)運行程序,GB 格式表示帶斷點連續(xù)運行程序,連續(xù)運行過程中,當遇到斷點或按下CtrlC 鍵時,終止程序運行。M 數(shù)據(jù)塊搬移格式:M 源地址,尾地址 目標地址R 寄存器或片內(nèi)RAM 區(qū)顯示與修改格式:R 或R 寄存器名R 操作后,屏幕顯示:CSXXXX DSXXXX IPXXXX AXXXXX FXXXX若需要顯示
29、并修改特定寄存器內(nèi)容,則選擇R 寄存器名操作。如RAX ,則顯示:AXXXXX,鍵入回車鍵,結(jié)束該命令。若輸入四位十六進制數(shù)并回車,則將該數(shù)填入寄存器AX中,并結(jié)束該命令。T 單步運行指定的程序格式:T=段址:偏移量每次按照指定的地址或IP/PC 指示的地址,單步執(zhí)行一條指令后則顯示運行后的寄存器情況。U 反匯編格式:U段址:起始地址,尾地址第四章第四章 I386EX 系統(tǒng)板的資源分配系統(tǒng)板的資源分配4.1 系統(tǒng)內(nèi)存分配系統(tǒng)內(nèi)存分配系統(tǒng)內(nèi)存分配情況如圖5.1-1 所示。系統(tǒng)內(nèi)存分為程序存儲器和數(shù)據(jù)存儲器,程序存儲器為一片128KB 的FLASH ROM,數(shù)據(jù)存儲器為一片128KB 的SRAM。
30、圖圖4.1-1 系統(tǒng)內(nèi)存分配系統(tǒng)內(nèi)存分配134.2 系統(tǒng)編碼系統(tǒng)編碼采用內(nèi)存與IO 獨立編址形式,內(nèi)存地址空間和外設(shè)地址空間是相對獨立的。內(nèi)存地址是連續(xù)的1M 字節(jié),從00000HFFFFFH。外設(shè)的地址范圍從0000HFFFFH,總共64K 字節(jié)。存儲器編址見表4.1-1表表4.1-1 存儲器編址存儲器編址信號線 編址空間系統(tǒng)程序存儲器 E0000HFFFFFH系統(tǒng)數(shù)據(jù)存儲器00000H1FFFFH4.3 BIOS 說明說明表表4.1-2 BIOS 說明說明中斷號絕對地址中斷內(nèi)容備注00 00H除數(shù)為0,溢出01 04H單步(Trap)02 08HNMI03 0CH程序斷點04 10H算術(shù)溢
31、出系統(tǒng)發(fā)出中斷請求0507 181FH保留用于系統(tǒng)擴展0820H8259 實時鐘中斷09、0A、0B24H、28H、2CH用戶自定義0C 30H串行口中斷8259硬中斷矢量區(qū)0D、0E、0F 34H、38H、3CH用戶自定義10 40H顯示器I/O1113 444FH保留14 50H查詢方式串行通訊151A 54H6BH保留1B 6CHCtrl+C終止程序運行1C1F 707FH保留20 80H程序終止142127849FH保留28 A0HCtrl+S處理暫停運行29 A4HCtrl+P 處理連接打印機2A-36 A8DBH用戶擴展敏感特殊鍵處理37FF DC3FFH觸發(fā)鍵處理4.4 INT
32、10 功能說明功能說明INT 10 功能使用說明如表4.1-3 所示。表表4.1-3 INT 10 功能使用說明功能使用說明入口:AH00H,AL01H功能:清屏入口:AH01H,AL數(shù)據(jù)功能:寫AL 中的數(shù)據(jù)到顯示屏上入口:AH06H,DS:BX字串首地址,且字串尾用00H 填充功能:顯示一字串,直到遇到00H 為止第二部分第二部分 實驗教程實驗教程實驗一實驗一 系統(tǒng)認識及程序調(diào)試練習系統(tǒng)認識及程序調(diào)試練習實驗?zāi)康膶嶒災(zāi)康?掌握 TD-ACC+實驗教學系統(tǒng)聯(lián)機軟件中的各菜單功能,熟練掌握其中的程序編輯、編譯、鏈接、加載及調(diào)試方法。2了解 TD-ACC+實驗教學系統(tǒng)的系統(tǒng)資源及硬件操作環(huán)境。實
33、驗設(shè)備實驗設(shè)備PC 機一臺,TD-ACC+實驗系統(tǒng)一套實驗內(nèi)容實驗內(nèi)容1閱讀“第一部分 i386EX 系統(tǒng)板介紹”,了解TD-ACC+實驗教學系統(tǒng)的構(gòu)成;2讀懂實驗程序,對實驗程序進行編輯、編譯、鏈接、加載及調(diào)試練習。實驗原理實驗原理調(diào)試下列程序:在顯示器上顯示一行 26 個英文字母,換行后重復(fù)進行。第一種實現(xiàn)方法:顯示兩行字母之間的延時時間采用軟件延時方式。實驗程序1(采用軟件延時方式)CODE SEGMENT ASSUME CS:CODESTART: MOV CX,001AH ;顯示字符個數(shù)(26)CX MOV AH, 01 MOV AL, 13 15 INT 10H ;顯示換行 CALL
34、 DELAY ;調(diào)用延時子程序 MOV AL,41H ;送字符A的ASC碼AGAIN: MOV AH,01 ;顯示一個字符 INT 10H INC AL ;下一顯示字符的ASC碼 LOOP AGAIN ;連續(xù)顯示26個字母 JMP START ;重復(fù)進行DELAY: PUSH CX ;延時子程序 MOV CX,0FFFFH DEL1: PUSH AX POP AX LOOP DEL1 POP CX RET CODE ENDS END START 第二種實現(xiàn)方法:顯示兩行字母之間的間隔時間用內(nèi)部定時器8254進行控制,時間到由定時器的OUT端發(fā)出脈沖信號到中斷控制器8259的中斷信號輸入端,向C
35、PU請求中斷,在中斷程序中完成顯示一行字母的功能。硬件接線如圖1-1,用排線將i386內(nèi)部1#定時器輸出OUT1連接到8259的一個中斷請求端IRQ7。8254 與 8253 類似,它們的編程方式是兼容的,其控制字格式如下: D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0所選計數(shù)器 0 0 計數(shù)器 0 0 1 計數(shù)器 1 1 0 計數(shù)器 2 1 1 無意義 RW1 RW0讀/寫格式 0 0 鎖定當前計數(shù)值(供 CPU 讀取)0 1 只讀/寫低 8 位 1 0 只讀/寫高 8 位 1 1 先讀/寫低 8 位,后讀/寫高 8位 M2 M1M0工作方式選擇0 0 0 方式 00 0
36、1 方式 1X 1 0 方式 2X 1 1 方式 31 0 0 方式 4 1 0 1 方式 5 BCD計數(shù)格式0 計數(shù)器按二進制格式計數(shù)1 計數(shù)器按 BCD 碼格式計數(shù)實驗程序2(采用定時中斷方式)CODE SEGMENT ASSUME CS:CODESTART: MOV AX,OFFSET IRQ7;填寫8259的7號中斷矢量入口地址的偏移量SC1SC0RW1RW0M2M1M0BCD24MHzTMROUT1INT3TMRCLK1CLK2i386EX CPU分頻OUT1IRQ71M圖圖1-116 MOV SI,003CH ;填寫8259中斷7的中段矢量 MOV SI,AX ;填偏移量矢量 MO
37、V AX,CS ;填寫8259中斷矢量入口地址的段地址 MOV SI,003EH ;填寫7號中斷段地址矢量 MOV SI,AX CLI ;關(guān)系統(tǒng)總中斷 CALL SYSINTI;調(diào)用系統(tǒng)初始化子程序 MOV DX,0F043H MOV AL,076H ;初始化1定時器 OUT DX,AL MOV DX,0F041H MOV AL,10H ;定時10ms時間常數(shù)低8位 OUT DX,AL ;寫1#定時器定時常數(shù)的低字節(jié) MOV X,0F041H MOV AL,27H ;定時10ms時間常數(shù)高8位 OUT DX,AL ;寫1#定時器定時常數(shù)的高字節(jié) MOV BX,64H MOV AH, 01 MO
38、V AL, 13 INT 10H ;顯示換行AGAIN: STI ;打開系統(tǒng)總中斷 HLT;停機等待直到有中斷產(chǎn)生 JMP AGAIN ;繼續(xù)IRQ7: DEC BX JNZ FINISH MOV BX,64H MOV CX,001AH MOV AL,41HAGAIN1: MOV AH,01 INT 10H INC AL LOOP AGAIN1 MOV AH, 01 MOV AL, 13 INT 10H FINISH: MOV AL,20H ;中斷結(jié)束 OUT 20H,AL IRET ;中斷返回 SYSINTI: MOV AX,8000H ;系統(tǒng)初始化子程序(已保存在機器中) OUT 23H,
39、AL ;擴展IO使能 XCHG AL,AH OUT 22H,AL OUT 22H,AX MOV DX,0F822H ;初始化管腳配置P2CFG,配置CS0#17 MOV AL,70H OUT DX,AL MOV DX,0F824H ;初始化管腳配置P3CFG,配置主片IRQ7 MOV AL,0B2H OUT DX,AL MOV DX,0F832H ;初始化管腳配置INTCFG MOV AL,0AH OUT DX,AL MOV DX,0F834H ;初始化管腳配置TMRCFG MOV AL,15H ;將GATE1接VCC OUT DX,AL MOV AL,11H ;初始化主片8259 OUT 2
40、0H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,ALMOV AL,6FH ;寫主片8259的中斷屏蔽字,允許主片的IRQ7(用OUT 21H,AL 戶程序使用)和IRQ4(系統(tǒng)通訊用) MOV AL,11H ;初始化從片8259 OUT 0A0H,AL MOV AL,30H OUT 0A1H,AL MOV AL,02H OUT 0A1H,AL MOV AL,01H OUT 0A1H,AL MOV AL,0FFH OUT 0A1H,AL RET CODE ENDS END START 實驗步驟實驗步驟1打開
41、微機及實驗系統(tǒng)電源。2如提示聯(lián)機有問題,檢查 USB 及串口通訊線是否正常連接,并按復(fù)位按鈕(置于實驗面板上的 i386EX 系統(tǒng)小板上) 。3編輯程序 1。然后編譯鏈接并加載,如中間出現(xiàn)錯誤,則按提示進行修改,直至加載成功。4按工具欄上的“RUN”按鈕執(zhí)行程序。5觀察輸出窗口的顯示內(nèi)容并記錄。如結(jié)果不正確,使用單步、跳過、斷點方式運行調(diào)試程序。6試用單步、跳過、斷點方式運行調(diào)試程序,記錄運行中間寄存器變化及顯示結(jié)果。7編輯程序 2。其中系統(tǒng)初始化子程序已保存在機器上,文件名:18c:shiyancsh.asm。打開該文件,將該文件復(fù)制粘貼到編輯程序 2 中。8用排線連接控制計算機上的 IRQ
42、7 與 OUT1 信號。9同步驟 5。10改變編輯程序 2 中軟件計數(shù)器 BX 的值,調(diào)整兩行字母之間的顯示時間間隔,重復(fù)以上步驟。預(yù)習報告要求預(yù)習報告要求1寫明實驗?zāi)康?、?nèi)容、步驟等。2根據(jù)實驗程序畫出程序框圖。3回答思考問題。 思考題思考題1集成到 i386EX 芯片內(nèi)部的主要外圍接口電路有哪些?2擴展I/O 接口地址信號/IOY0、/IOY1,以及內(nèi)部1定時器控制寄存器TMRCON、數(shù)據(jù)寄存器TMR1的地址分別為多少? 3程序中用“INT 10H”輸出的結(jié)果顯示在主界面窗口的哪個區(qū)?4生成可執(zhí)行文件需要經(jīng)過哪些步驟?要使可執(zhí)行文件能夠運行還需要經(jīng)過哪個步驟?5閱讀程序 2,寫出計數(shù)器時間
43、常數(shù)的計算過程。按照該程序顯示兩行字母之間的時間間隔是多少?6如何判斷程序的段地址,從而得到程序加載的物理地址?是否可由 Debug 顯示程序的機器碼?寫出操作步驟。實驗報告要求實驗報告要求1整理實驗結(jié)果,包括使用單步、跳過、斷點方式運行調(diào)試程序時,記錄的中間寄存器變化及運行結(jié)果。2對實驗中使用的命令進行小結(jié)。3實驗過程中遇到的問題進行分析、總結(jié)。實驗二實驗二 D/A 轉(zhuǎn)換實驗轉(zhuǎn)換實驗實驗?zāi)康膶嶒災(zāi)康?學習掌握 D/A 轉(zhuǎn)換的基本原理及 TLC7528 芯片的性能。2學習利用 DAC 產(chǎn)生連續(xù)波形的編程方法。實驗設(shè)備實驗設(shè)備PC 機一臺,TD-ACC+實驗系統(tǒng)一套實驗內(nèi)容實驗內(nèi)容編寫實驗程序,
44、實現(xiàn)D/A轉(zhuǎn)換產(chǎn)生周期性同步的鋸齒波和方波(如圖2-1) ,并用虛擬示波器觀察波形。圖圖2-1實驗原理實驗原理19本實驗采用TLC7528 芯片,它是8 位、并行、兩路、電壓型輸出數(shù)模轉(zhuǎn)換器。其主要參數(shù)如下:轉(zhuǎn)換時間100ns,滿量程誤差1/2 LSB,參考電壓10V +10V,供電電壓+5V+15V,輸入邏輯電平與TTL 兼容。方法一:軟件延時控制計算機按一定規(guī)律連續(xù)輸出數(shù)據(jù)到DAC轉(zhuǎn)換器,轉(zhuǎn)換后產(chǎn)生相應(yīng)的連續(xù)波形。實驗中的鋸齒波由數(shù)據(jù)00HFFH連續(xù)循環(huán)輸出產(chǎn)生,上升幅度為01個數(shù)據(jù)量,即每輸出一次后數(shù)據(jù)加一,數(shù)據(jù)輸出的時間間隔由軟件延時控制;方波由兩個數(shù)據(jù)00H和FFH交替輸出產(chǎn)生,每當
45、鋸齒波數(shù)據(jù)由FFH變到00H(用加一指令即可)時方波變換為另一個數(shù)據(jù)(00H變?yōu)镕FH或FFH變?yōu)?0H) ,從而實現(xiàn)兩波形的同步效果。實驗平臺中的TLC7528 的八位數(shù)據(jù)線、寫信號線和通道選擇控制線已接至控制計算機的總線上。片選線預(yù)留出待實驗中連接到相應(yīng)的I/O 片選上,具體如圖2-2。圖圖2-2以上電路是TLC7528 雙極性輸出電路,輸出范圍5V +5V?!癢101”和“W102”分別為A路和B路的調(diào)零電位器,實驗前先調(diào)零,用DEBUG命令直接往TLC7528 的A口和B口中送入數(shù)字量80H,分別調(diào)節(jié)“W101”和“W102”電位器,用萬用表分別測“OUT1”和“OUT2”的輸出電壓,
46、應(yīng)在0mV 左右??刂朴嬎銠C-IOW 數(shù)模轉(zhuǎn)換器-WR: IOW 為 D/A 的寫信號;控制計算機-IOY1數(shù)模轉(zhuǎn)換器-CS: IOY1 為 D/A 轉(zhuǎn)換器片選信號,其地址可選為0640H0641H; 控制計算機-XD0XD7數(shù)模轉(zhuǎn)換器- D0D7:控制計算機的八位數(shù)據(jù)線接至 D/A 轉(zhuǎn)換器的八位數(shù)據(jù)輸入端;控制計算機-A0數(shù)模轉(zhuǎn)換器- A0:A0 為 0 選中通道 A,為 1 選中通道 B。參考流程:開始變量 2 取反變量 1 是否為0?變量 1 送 D/A 通道 A變量 1、2=0變量 2 送 D/A 通道 B調(diào)用延時子程序變量 1 加一YN20圖圖2-3方法二:利用定時器控制輸出間隔時間
47、。同實驗一,對控制計算機內(nèi)的1#計數(shù)器編程,定時時間1ms,時間到由定時器OUT1產(chǎn)生的信號接到控制計算機的中斷請求IRQ7申請中斷,在中斷程序中進行D/A數(shù)據(jù)輸出。自行設(shè)計接線圖及程序流程圖。實驗步驟實驗步驟1按圖接線,畫“”的線需自行連接,不帶“”的線電路板上已連好無須連接。連接好后,請仔細檢查,無誤后方可接通電源。2D/A 轉(zhuǎn)換器調(diào)零。在輸出窗口區(qū)/調(diào)試窗口下的“”提示符后鍵入 O 0640 80,用虛擬萬用表測量數(shù)模轉(zhuǎn)換單元 OUT1 端,調(diào)電位 W101 使該端輸出電壓為 0.00V,同樣鍵入 O 0641 80,用虛擬萬用表測量數(shù)模轉(zhuǎn)換單元 OUT2 端,調(diào)電位 W102 使該端輸
48、出電壓為 0.00V。3編輯程序 1,延時子程序文件名:c:shiyanyanshi.asm 可以打開并粘貼到程序中。然后編譯鏈接并加載,如中間出現(xiàn)錯誤,則按提示進行修改,直至加載成功。4按工具欄上的“RUN”按鈕執(zhí)行程序。5點擊虛擬示波器菜單,進入虛擬示波器界面,按“運行”按鈕觀察并記錄OUT1、OUT2 輸出波形。6如示波器顯示不正確,運用調(diào)試命令調(diào)試程序,找出程序中的問題,使之實現(xiàn)預(yù)期的結(jié)果。7完成方法二的接線,編輯程序 2,重復(fù)步驟 36。8改變計數(shù)器的定時時間,以改變鋸齒波的周期,重復(fù)以上步驟,用示波器觀察輸出波形并記錄。預(yù)習報告要求預(yù)習報告要求1寫出實驗?zāi)康摹?nèi)容、原理、步驟等,畫
49、出實驗電路圖。2完成方法二的電路原理圖,畫出程序流程。3根據(jù)流程圖編寫實驗程序,正確選取 8254、8259 的控制字和工作方式,計算8254 計數(shù)初值,確定中斷向量。4回答思考問題。 思考題思考題如實驗中的 8253 計數(shù)器定時時間為 1ms,則鋸齒波的周期為多少?實驗報告要求實驗報告要求1整理實驗數(shù)據(jù),畫出實驗結(jié)果波形。2附上調(diào)試通過的程序清單。213實驗過程中遇到的問題進行分析、總結(jié)。實驗三實驗三 A/D 轉(zhuǎn)換實驗轉(zhuǎn)換實驗實驗?zāi)康膶嶒災(zāi)康?學習掌握 A/D 轉(zhuǎn)換的基本原理及 ADC0809 器件的性能。2掌握實驗教學系統(tǒng)中 A/D 轉(zhuǎn)換單元的電路原理。3了解模數(shù)轉(zhuǎn)換器的采樣作用及學習選擇
50、采樣周期。實驗設(shè)備實驗設(shè)備PC 機一臺,TD-ACC+實驗系統(tǒng)一套實驗內(nèi)容實驗內(nèi)容1當輸入電壓為5.00V到+5.00V之間變化時,由顯示器上讀取A/D轉(zhuǎn)換數(shù)值。2當A/D輸入為連續(xù)信號時,由A/D輸入并由D/A直接輸出,用示波器觀察D/A端輸出的相應(yīng)信號。改變采樣周期觀察波形何時失真,觀察D/A器件的零階保持器的作用。實驗原理實驗原理1ADC0809 芯片主要包括多路模擬開關(guān)和A/D轉(zhuǎn)換器兩部分,其主要特點為:單電源供電、工作時鐘CLOCK 最高可達到1200KHz、8 位分辨率,8個單端模擬輸入端,TTL 電平兼容等,可以很方便地和微處理器接口。TD-ACC+教學系統(tǒng)中的ADC0809 芯
51、片,其輸出八位數(shù)據(jù)線以及CLOCK 線已連到控制計算機的數(shù)據(jù)線及系統(tǒng)應(yīng)用時鐘1MCLK(1MHz)上。其它控制線根據(jù)實驗要求可另外連接 22(A、B、C、STR、/OE、EOC、IN0IN7)。其中IN0IN5的模擬量輸入允許范圍:0V4.98V,對應(yīng)數(shù)字量00HFFH,2.5V對應(yīng)80H。IN6和IN7兩路由于接了上拉電阻,所以模擬量輸入允許范圍:-5V+4.96V,對應(yīng)數(shù)字量00HFFH。0V對應(yīng)80H。模數(shù)轉(zhuǎn)換單元原理圖如圖3-2。根據(jù)實驗內(nèi)容一,可以設(shè)計出如圖3-1所示的實驗線路圖。5.00V到+5.00V的輸入電壓由單次階躍單元電路的電位器進行調(diào)節(jié)獲得,考慮模擬量輸入允許范圍(-5V
52、+4.96V)選取IN7為模擬量輸入端,因而地址線A、B、C應(yīng)接高電平(+5),ADC0809轉(zhuǎn)換器的啟動信號START(STR)由內(nèi)部1#定時器輸出信號OUT1控制,轉(zhuǎn)換結(jié)束后數(shù)據(jù)鎖存在三態(tài)輸出鎖存器中,當計算機讀取數(shù)據(jù)時,IN語句中的地址信號IOY0有效,使得ADC0809輸出允許信號OE有效,轉(zhuǎn)換好的數(shù)據(jù)出現(xiàn)在ADC0809數(shù)據(jù)端口上供計算機讀取。圖圖3-1模數(shù)轉(zhuǎn)換單元-A,B,C+5V:選擇 A/D 輸入通道為 INT7,地址碼為“111” ;單次階躍單元-X+5V,U14-Z-5V:使 U14 單元的 Y 端輸出 5 V +5V 連續(xù)可調(diào)電壓;控制計算機-分頻器模數(shù)轉(zhuǎn)換單元-CLOC
53、K:提供給 A/D 器件的時鐘信號,頻率為1MHz;同時該信號提供給內(nèi)部計數(shù)器作時鐘??刂朴嬎銠C-OUT1模數(shù)轉(zhuǎn)換單元-STR:控制計算機的 1#計數(shù)器輸出定時信號,啟動 A/D 轉(zhuǎn)換器??刂朴嬎銠C-/IOY0模數(shù)轉(zhuǎn)換單元-/OE:控制計算機的端口有效地址/IOY0 使模數(shù)轉(zhuǎn)換 ADC0809 的輸出允許控制 OE 有效,ADC0809 三態(tài)輸出鎖存緩沖器中的數(shù)據(jù)可供計算機讀取??刂朴嬎銠C- XD0XD7模數(shù)轉(zhuǎn)換單元- D0D7:控制計算機的數(shù)據(jù)線接 A/D 轉(zhuǎn)換器的八位數(shù)據(jù)線。23圖圖3-2參考流程:圖圖3-3控制計算機內(nèi)部定時器定時1ms,每1ms在OUT1端產(chǎn)生一個負脈沖,經(jīng)反相后變?yōu)檎?/p>
54、脈沖(如圖32)啟動A/D轉(zhuǎn)換器,定時器的工作方式選擇方式4(軟件觸發(fā)的選通信號發(fā)生器),時間到產(chǎn)生一個負脈沖后便一直維持高電平,除非寫入新的計數(shù)初值。經(jīng)過軟件短延時(等待A/D轉(zhuǎn)換結(jié)束)后,將A/D 轉(zhuǎn)換完后的數(shù)據(jù)量讀入到控制計算機中,程序中通過調(diào)用內(nèi)部中斷INT 10H,將數(shù)據(jù)最后顯示在輸出區(qū)窗口。程序中使用的延時及顯示子程序已保存在機器中。顯示子程序:DISPLAY: PUSH AXMOV AX,0001XD0-XD7開始寫 1#定時時間常數(shù)(1ms)調(diào)用短延時子程序1(1ms)讀 A/D 采樣值寫 1#定時器控制字(方式4)調(diào)用顯示子程序調(diào)用長延時子程序2(500mst1.5s)調(diào)用初
55、始化子程序24INT 10POP AXMOV CL,04MOV DL,ALSHR AL,CLCMP AL,09JNA DLAY1ADD AL,07NOPDLAY1: ADD AL,30MOV AH,01INT 10AND DL,0FCMP DL,09JNA DLAY2ADD DL,07DLAY2: ADD DL,30MOV AL,DLMOV AH,01INT 10RET 延時子程序: DELAY: PUSH CX MOV CX,1000HDEL: PUSH AXPOP AXLOOP DELPOP CXRET2對連續(xù)信號進行采樣,然后再還原輸出為模擬信號。由正弦波單元的“OUT”端輸出周期性的正
56、弦波信號,通過模數(shù)轉(zhuǎn)換單元的“IN7”端輸入, 系統(tǒng)用定時器作為基準時鐘(初始化為10ms) ,定時采集“IN7”端的信號,A/D轉(zhuǎn)換結(jié)束信號EOC接中斷控制器8259的IRQ7請求中斷,響應(yīng)中斷后,在中斷服務(wù)程序中讀入轉(zhuǎn)換好的數(shù)字量,再輸出給數(shù)模轉(zhuǎn)換單元,在數(shù)模轉(zhuǎn)換單元的“OUT1”端輸出相應(yīng)的模擬信號。實驗線路圖如圖3-4 所示。圖圖3-4采樣周期T= TK10ms,TK 的范圍為01 FFH,程序中將其定義在某個數(shù)據(jù)單元(如2600H) ,相當于軟件計數(shù)器,通過修改TK 就可以靈活地改變采樣周期。 定時器的工作方式可選擇方式2分頻器或方式3方波發(fā)生器(參考實驗一程序),計數(shù)初值為10ms
57、。參考流程:開始關(guān)中斷調(diào)用系統(tǒng)初始化子程序初始化 8254初始化 8259賦采樣周期變量初值 TK開中斷等待中斷中斷開始采樣周期到否?(TK=0?)送 D/A 輸出還原采樣周期變量初值讀取采樣值寫中斷結(jié)束字中斷返回采樣周期變量 TK-1YN25圖圖3-5實驗步驟實驗步驟內(nèi)容一內(nèi)容一:1按圖 3-1 接線。用“短路塊”分別將信號源單元中的 ST 插針與+5V 插針短接;單次階躍單元中的 X 與+5V,Z 與5V 用短路塊短接。其他畫“”的線需自行連接。連接好后,請仔細檢查,無誤后方可接通電源。2編輯程序 1,可以打開顯示子程序(文件名:c:shiyanxianshi.asm)和延時子程序(文件名
58、:c:shiyanyanshi.asm)并粘貼到實驗程序中。然后編譯鏈接并加載,如中間出現(xiàn)錯誤,則按提示進行修改,直至加載成功。3運行程序。觀察顯示器輸出區(qū)結(jié)果窗口中有無數(shù)據(jù)顯示,如沒有數(shù)據(jù)或顯示不正確,則檢查接線和程序,并使用調(diào)試命令調(diào)試程序,直至得到正確結(jié)果。4調(diào)節(jié)單次階躍單元的電位器,使 Y 端電壓由5.00V 到+5.00V 變化,用虛擬儀器中的萬用表測量 A/D 的輸入電壓,記下結(jié)果窗口中顯示的數(shù)值,填入如下形式的表格。表格中的模擬輸入電壓應(yīng)填寫實測值,并讀出萬用表中顯示的小數(shù)。表表 3-1模擬輸入電壓(V)顯示器數(shù)碼(H)內(nèi)容二內(nèi)容二:1調(diào)節(jié)正弦波單元輸出波形,用虛擬示波器觀察,使
59、得正弦波信號幅值不超出5V,信號周期約為 4s。2按圖 3-4 接線,只連接線上帶“”的線。3編輯程序 2,可以打開初始化子程序(文件名:c:shiyanchushihua.asm)并粘貼到實驗程序中。然后編譯鏈接并加載,如中間出現(xiàn)錯誤,則按提示進行修改,直至加載成功。264選擇 Tk=04H,運行程序,用虛擬示波器同時觀察正弦波單元輸出端(即 A/D 輸入端 INT7)和 D/A 輸出端 OUT1 波形并記錄。5選擇若干 Tk值,重復(fù) 3,觀察不同采樣周期 T 時的輸出波形并記錄。預(yù)習報告要求預(yù)習報告要求1寫明實驗?zāi)康?、?nèi)容、步驟等。2畫出內(nèi)容 1 參考子程序流程圖,寫出該子程序的入口條件。
60、3根據(jù)實驗內(nèi)容編寫實驗程序,正確選取 8254、8259 的工作方式和控制字,計算8254 計數(shù)初值。4畫出填寫實驗數(shù)據(jù)的表格。5回答思考問題。 思考題思考題1程序流程中第一個短延時子程序與第二個長延時子程序的作用分別是什么?2ADC0809 芯片的 OE 是什么信號?程序中的什么語句使其有效?3ADC0809 轉(zhuǎn)換結(jié)束信號是什么?畫出它與啟動信號 START 對應(yīng)的時序波形。4采樣周期 T 取得越小是否對信號恢復(fù)越有利? 5數(shù)模轉(zhuǎn)換器為什么具有零階保持器的作用?實驗報告要求實驗報告要求1整理實驗數(shù)據(jù),畫出 A/D 轉(zhuǎn)換特性圖(橫坐標為模入電壓 V(mv) 、縱坐標為對應(yīng)的數(shù)字量 D(H) )
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高空作業(yè)安全責任書及保險合同3篇
- 2025年度臨聘教師勞務(wù)派遣工作合同范本2篇
- 二零二五年度體育場館物業(yè)承包及賽事運營合同3篇
- 二零二五年度展覽館租賃合同標準版3篇
- 2025年汽車配件在線教育課程開發(fā)與授權(quán)合同4篇
- 二零二四年房屋租賃合同with租金調(diào)整及維修條款
- 二零二四年度智能家居設(shè)備銷售合同3篇
- 二零二五年度日用品鋪貨批發(fā)合同范本4篇
- 二零二五年度牛奶品牌形象設(shè)計合同
- 二零二五年玻璃馬賽克產(chǎn)品售后維修與技術(shù)支持合同3篇
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團支部工作計劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學期二模英語試題(原卷版)
- 學生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 高三日語一輪復(fù)習助詞「で」的用法課件
評論
0/150
提交評論