TPC-USB教師實驗指導(dǎo)書.doc_第1頁
TPC-USB教師實驗指導(dǎo)書.doc_第2頁
TPC-USB教師實驗指導(dǎo)書.doc_第3頁
TPC-USB教師實驗指導(dǎo)書.doc_第4頁
TPC-USB教師實驗指導(dǎo)書.doc_第5頁
已閱讀5頁,還剩218頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

TPC USBTPC USB 通通 用用 微微 機機 接接 口口 實實 驗驗 系系 統(tǒng)統(tǒng) 教師用實驗指導(dǎo)書 匯匯 編編 V V C C 清清 華華 大大 學(xué)學(xué) 科科 教教 儀儀 器器 廠廠 2 2 0 0 0 0 5 5 年年 1 1 0 0 月月 1 目 錄 第一章 TPC USB實驗系統(tǒng)介紹 4 1 1概述 4 1 2 TPC USB實驗系統(tǒng)構(gòu)成及特點 4 第二章 TPC USB實驗系統(tǒng)硬件環(huán)境 5 2 1 USB模塊介紹 5 2 1 1 USB模塊結(jié)構(gòu) 5 2 1 2 USB模塊功能 5 2 1 3 USB模塊的對外接口 5 2 1 4 USB模塊跳線說明 6 2 1 5 USB模塊的安裝 7 2 1 6 USB模塊連接測試 11 2 2 擴展實驗臺結(jié)構(gòu)及主要電路 12 2 2 1 擴展實驗臺結(jié)構(gòu)圖 12 2 2 2 實驗臺上包括的主要電路 12 2 2 3 用戶擴展實驗區(qū) 16 2 2 4 實驗臺跳線開關(guān) 16 2 2 5 20芯雙排插座 17 2 2 5 直流穩(wěn)壓電源 17 第三章 TPC USB集成軟件開發(fā)環(huán)境 18 3 1 TPC USB集成開發(fā)環(huán)境軟件包 18 3 2 集成開發(fā)環(huán)境軟件的安裝 18 3 2 1 用戶程序的編輯和編譯 20 3 2 2 編譯源程序 22 3 2 3 用戶程序的調(diào)試和運行 22 3 2 4 常用調(diào)試命令 25 3 2 5 實驗項目的查看和演示 27 3 2 5 實驗項目的添加和刪除 28 2 3 2 6 集成開發(fā)環(huán)境幫助菜單 29 第四章 匯編實驗部分 32 實驗一 I O地址譯碼 32 實驗二 簡單并行接口 34 實驗三 可編程定時器 計數(shù)器 8253 36 實驗四 可編程并行接口 一 8255方式0 44 實驗五 七段數(shù)碼管 52 實驗六 繼電器控制 57 實驗七 競賽搶答器 60 實驗八 交通燈控制實驗 63 實驗九 中斷 65 實驗十 可編程并行接口 二 8255方式 68 實驗十一 數(shù) 模轉(zhuǎn)換器 72 實驗十二 模 數(shù)轉(zhuǎn)換器 75 實驗十三 串行通訊 79 實驗十四 DMA傳送 82 實驗十五 集成電路測試 89 實驗十六 電子琴 92 實驗十七 8250串行通訊實驗 95 實驗十八 步進電機控制實驗 99 實驗十九 小直流電機轉(zhuǎn)速控制實驗 103 實驗二十 鍵盤顯示控制器實驗 107 實驗二十一 存儲器讀寫實驗 123 實驗二十二 雙色點陣發(fā)光二極管顯示實驗 125 第五章 VC 實驗部分 135 1 基本輸入輸出 基本輸入輸出函數(shù)簡介 135 實驗一 I O地址譯碼 136 實驗二 簡單并行接口 138 3 實驗三 可編程定時器 計數(shù)器 8253 140 實驗四 可編程并行接口 一 8255方式0 143 實驗五 七段數(shù)碼管 144 實驗六 繼電器控制 148 實驗七 競賽搶答器 151 實驗八 交通燈控制實驗 153 2 中斷 中斷函數(shù)簡介 155 實驗九 中斷 156 實驗十 可編程并行接口 二 8255方式 160 實驗十一 數(shù) 模轉(zhuǎn)換器 163 實驗十二 模 數(shù)轉(zhuǎn)換器 166 實驗十三 串行通訊 170 3 DMA及RAM操作函數(shù)簡介 173 實驗十四 DMA傳送 174 實驗十五 集成電路測試 181 實驗十六 電子琴 183 實驗十七 8250串行通訊實驗 186 實驗十八 步進電機控制實驗 189 實驗十九 小直流電機轉(zhuǎn)速控制實驗 192 實驗二十 鍵盤顯示控制器實驗 194 實驗二十一 存儲器讀寫實驗 208 實驗二十二 雙色點陣發(fā)光二極管顯示實驗 210 附錄一 隨機光盤實驗程序名稱表 218 附錄二 TPC USB通用微機接口實驗系統(tǒng)硬件實驗指導(dǎo) 匯編程序 219 附錄三 TPC USB通用微機接口實驗系統(tǒng)硬件實驗指導(dǎo) C語言程序 224 4 第一章第一章 TPC USBTPC USB實驗系統(tǒng)介紹實驗系統(tǒng)介紹 1 11 1 概述概述 在各種計算機外圍接口不斷推陳出新的今天 USB接口已經(jīng)成為個人計算機最重要的接 口方式之一 USB接口設(shè)備的應(yīng)用也以驚人的速度發(fā)展 幾乎新型的PC都100 支持USB技術(shù) 了解和掌握USB的應(yīng)用及開發(fā)是計算機類 電子類 物理類本科生 大專生的新課題 TPC USB微機接口實驗系統(tǒng)正是在這種背景下推出的 該設(shè)備在原TPC 2003A微機接口實 驗系統(tǒng)上配置了USB接口模塊 直接與主機 PC 的USB接口連接 形成了一套完整的USB接口 的微機接口實驗系統(tǒng) 該系統(tǒng)適應(yīng)當前高等院校所開設(shè)的 微機原理及其應(yīng)用 和 微機接 口技術(shù) 這兩門課的實驗 同時也提供了最新接口USB的實驗 使學(xué)生在校學(xué)習(xí)期間不僅有 機會接觸常規(guī)接口 同時有機會接觸新型的接口 為學(xué)生們今后從事微機開發(fā)應(yīng)用打下基礎(chǔ) 1 21 2 TPC USBTPC USB實驗系統(tǒng)構(gòu)成及特點實驗系統(tǒng)構(gòu)成及特點 該系統(tǒng)由一塊USB總線接口模塊 一個擴展實驗臺及軟件集成實驗環(huán)境組成 USB總線接 口模塊通過USB總線電纜與PC機相連 模塊與實驗臺之間由一條50芯扁平電纜連接 其主要 特點如下 1 USB總線接口使用ISP1581 USB2 0高速接口芯片 完全符合USB2 0規(guī)范 提供了高速 USB下的通信能力 即插即用 2 滿足 微機原理與接口技術(shù) 課程教學(xué)實驗要求 實驗臺接口集成電路包括 可編程 定時器 計數(shù)器 8253 可編程并行接口 8255 數(shù) 模轉(zhuǎn)換器 DAC0832 模 數(shù)轉(zhuǎn)換器 ADC0809 等 外圍電路包括 邏輯電平開關(guān) LED顯示 七段數(shù)碼管顯示 8X8雙色發(fā)光二 極管點陣及驅(qū)動電路 直流電機步進電機及驅(qū)動電路 繼電器及驅(qū)動電路 喇叭及驅(qū)動電路 8279鍵盤顯示控制電路 3 在USB接口模塊上擴展有DMA控制器8237及存儲器 可以完成微機DMA傳送以及USB的 DMA傳送等實驗 4 開放式結(jié)構(gòu) 模塊化設(shè)計支持開放實驗 實驗臺上除固定電路外還設(shè)有用戶擴展實驗 區(qū) 有五個通用集成電路插座 每個插座引腳都有對應(yīng)的 自鎖緊 插孔 利用這些插孔可 以搭試更多的自己設(shè)計的實驗 方便的進行課程設(shè)計 5 功能強大的軟件集成開發(fā)環(huán)境 支持Win98 Win2000 WinXP 等操作系統(tǒng) 可以方便 的對程序進行編輯 編譯 鏈接和調(diào)試 可以查看實驗原理圖 實驗接線 實驗程序并進行 實驗演示 可以增加和刪除實驗項目 6 實驗程序可以使8086匯編和C語言編程實驗 可以對匯編程序和C語言程序進行調(diào)試 7 系統(tǒng)還提供 字符 圖形液晶顯示實驗?zāi)K 紅外收發(fā)實驗?zāi)K 無線通信實驗?zāi)K 鍵盤顯示實驗?zāi)K等多種擴展實驗?zāi)K 自選 8 實驗臺自備電源 具有電源短路保護確保系統(tǒng)安全 9 使用USB接口與PC機相連 省卻了打開主機箱安裝接口卡的麻煩 5 第二章第二章 TPC USBTPC USB實驗系統(tǒng)硬件環(huán)境實驗系統(tǒng)硬件環(huán)境 2 12 1 USBUSB模塊介紹模塊介紹 2 1 12 1 1 USBUSB模塊結(jié)構(gòu)模塊結(jié)構(gòu) 圖2 1 USB模塊結(jié)構(gòu)圖 2 1 22 1 2 USBUSB模塊功能模塊功能 1 實驗系統(tǒng)中的USB模塊使用PHILIHPS的ISP1581 USB2 0高速接口芯片 符合USB2 0接 口規(guī)范 提供了高速USB下的通信能力 2 支持ISP下載 通過模塊上的RS 232接口 可以對模塊內(nèi)部的MCU進行在線編程 對軟 件進行修改或在線升級 也可以通過RS 232接口下載實驗程序到USB模塊 進行實驗 3 模塊內(nèi)擴展有DMA控制器8237及存儲器 可以完成微機DMA傳送和USB的DMA傳送實驗 4 該模塊提供一個50線扁平電纜 通過該電纜將模塊產(chǎn)生的仿ISA總線信號連到實驗臺 上 2 1 32 1 3 USBUSB模塊的對外接口模塊的對外接口 1 在該模塊的右側(cè)提供四個對外接口 9芯通用RS 232接口 需要時可連到主機的COM1或COM2 對內(nèi)部的MCU在線編程 對軟 件升級或修改 USB接口 連接到主機 實驗時用于信息和數(shù)據(jù)的通信 清零按鈕 RESET 用于對模塊內(nèi)部電路的初始化 6 實驗方式轉(zhuǎn)換按鈕 SW 有些實驗需要將實驗程序下載到USB模塊運行 需要時按 一下該按鈕以轉(zhuǎn)換實驗方式 一般情況下 用戶不要按此按鈕 如果需要 在實驗說明中 會指出 2 在模塊的左側(cè)提供二個對外接口 50線扁平電纜接口 為實驗臺提供仿ISA總線信號 信號安排與實驗臺上50芯信號插 座信號一一對應(yīng) 見表十四 50芯總線插座信號 外接電源插孔 外接7 9V直流電源 平時USB模塊與實驗臺相連時 使用實驗臺提供 的電源 當USB模塊單獨使用或調(diào)試時 使用外接電源 2 1 42 1 4 USBUSB模塊跳線說明模塊跳線說明 在USB模塊內(nèi) 用一部分跳線選擇ISP1581和其它芯片的工作模式 跳線的連接說明如下 JP1 MODE1 ISP1581 ALE A0 功能選擇 2 3短接 低電平 選擇ALE功能 地址鎖存使能 1 2短接 高電平 選擇A0功能 地址數(shù)據(jù)指示 USB模塊出廠時選擇2 3短接 JP2 M0 DA1 選擇ISP1581在通用處理器模式下的讀寫功能 2 3短接 低電平 選擇Motorola 類型的微處理器 1 2短接 高電平 選擇8051 類型的微處理器 USB模塊出廠時選擇1 2短接 JP3 BUS DA0 選擇ISP1581 總線模式 2 3短接 低電平 選擇斷開總線模式 AD 7 0 多路復(fù)用 1 2短接 高電平 選擇通用處理器模式 AD 7 0 8位地址線 USB模塊出廠時選擇2 3短接 JP4 ISP1581 片選信號選擇 2 3短接 ISP1581 片選信號由MCU 產(chǎn)生 1 2短接 ISP1581 片選信號由地址譯碼產(chǎn)生 USB模塊出廠時選擇1 2短接 JP5 無須用戶設(shè)置 JP6 USB模塊電源選擇 2 3短接 選擇外接電源 1 2短接 使用實驗臺電源 USB模塊出廠時選擇1 2短接 JP7 DMA控制器時鐘選擇 2 3短接 選擇振蕩器產(chǎn)生時鐘 1 2短接 選擇由MCU 產(chǎn)生時鐘 USB模塊出廠時選擇2 3短接 JP8 MCU 編程方式選擇 2 3短接 MCU 處于編程方式 1 2短接 MCU 處于正常工作方式 7 USB模塊出廠時選擇1 2短接 2 1 52 1 5 USBUSB模塊的安裝模塊的安裝 安裝步驟如下 1 關(guān)上實驗臺電源 2 50線扁平電纜一端接USB模塊的50芯插座 另一端接實驗臺50線插座 3 USB電纜的一端接模塊的USB口 另一端接主機USB口 4 打開實驗臺電源 5 系統(tǒng)將自行檢測到模塊的接入 選擇用戶光盤上的USB驅(qū)動程序完成驅(qū)動的安裝 安裝驅(qū)動過程如下 USB電纜接入主機 連接USB模塊并加載電源后 系統(tǒng)將自行檢測到模塊的接入 提 示用戶發(fā)現(xiàn)新硬件并要求安裝設(shè)備驅(qū)動 圖2 2 系統(tǒng)發(fā)現(xiàn)新硬件 圖2 3 提示找到新硬件 找到新硬件 需為此硬件指定設(shè)備驅(qū)動程序 找到新硬件 需為此硬件指定設(shè)備驅(qū)動程序 8 圖2 4 提示按裝驅(qū)動 選擇驅(qū)動所在位置 選擇驅(qū)動所在位置 CD ROM CD ROM中中driverdriver目錄下或指定驅(qū)動所在位置目錄下或指定驅(qū)動所在位置 圖2 5 指定驅(qū)動所在位置 9 瀏覽驅(qū)動所在位置并選定驅(qū)動安裝信息文件瀏覽驅(qū)動所在位置并選定驅(qū)動安裝信息文件TPCA inf TPCA inf 圖2 6 瀏覽并找到驅(qū)動 選定選定TPCA infTPCA inf安裝信息文件 并打開安裝信息文件 并打開 圖2 7 找到驅(qū)動并選定 點擊下一步 系統(tǒng)將自動為點擊下一步 系統(tǒng)將自動為TPCTPC設(shè)備安裝其驅(qū)動 設(shè)備安裝其驅(qū)動 10 圖2 8 安裝驅(qū)動 驅(qū)動安裝完畢 驅(qū)動安裝完畢 圖2 9 完成安裝 11 設(shè)備安裝檢測 設(shè)備安裝檢測 右鍵單鍵 我的電腦 選擇 屬性 選擇硬件選項中的 設(shè)備管理器 即可在通用串 行總線控制器中找到已安裝的TPC Adapter設(shè)備 至此安裝完畢 至此安裝完畢 圖2 10 查看安裝 2 1 62 1 6 USBUSB模塊連接測試模塊連接測試 驅(qū)動安裝完成后 打開TPC USB集成開發(fā)環(huán)境 集成開發(fā)環(huán)境的安裝請參看3 2節(jié) 集成 開發(fā)環(huán)境的安裝 選定主菜單 選項 中的 硬件檢測 集成開發(fā)環(huán)境會檢測到設(shè)備 已連接 如果連接不正確 將會有錯誤提示 圖2 11 硬件檢測菜單 12 圖2 12 正確連接提示 圖2 13 硬件未連接 2 22 2 擴展實驗臺結(jié)構(gòu)及主要電路擴展實驗臺結(jié)構(gòu)及主要電路 2 2 12 2 1 擴展實驗臺結(jié)構(gòu)圖擴展實驗臺結(jié)構(gòu)圖 如圖 圖2 14 擴展實驗臺結(jié)構(gòu) 2 2 22 2 2 實驗臺上包括的主要電路 實驗臺上包括的主要電路 1 1 5050芯總線信號插座及總線信號插孔芯總線信號插座及總線信號插孔 1 5V11 E24521 A731 A141 ALE 2 D712 IOR22 A632 GND42 T C 3 D613 IOW23 A533 A043 A16 4 D514 AEN24 12V34 GND44 A17 5 D415 DACK25 A435 MEMW45 A15 6 D316 DRQ126 GND36 MEMR46 A14 7 D217 IRQ27 A337 CLK47 A13 8 D118 5V28 12V38 RST48 A12 9 D0 19 A929 A239 A1949 A10 10 5V20 A830 GND40 A1850 A11 50芯總線信號插座在實驗臺左上方 總線插座信號安排如上表 各總線信號采用 自鎖 緊 插孔在標有 總線 的區(qū)域引出 有數(shù)據(jù)線D0 D7 地址線A19 A0 I O讀寫信號IOR IOW 存儲器讀寫信號 MEMR MEMW 中斷請求 IRQ DMA申請DRQ DMA回答DACK AEN 等 2 2 微機接口 微機接口I OI O地址譯碼電路地址譯碼電路 實驗臺上I O地址選用280H 2BFH 64個 分8組輸出 Y0 Y7 其地址分別為 280H 287H 288H 28FH 290H 297H 298H 29FH 2A0H 2A7H 2A8H 2AFH 2B0H 2B7H 2B8H 2BFH 8根輸出線在實驗臺 I O地址 處分別由自鎖緊插孔引出 見圖2 15 圖2 15 I O地址譯碼電路 13 圖2 14 擴展實驗臺結(jié)構(gòu) 14 3 3 時鐘電路 時鐘電路 如圖2 16所示 輸出1MHZ 2MHZ兩種信號 供定時器 計數(shù)器 A D轉(zhuǎn)換器 串行接口實 驗使用 圖2 16 時鐘電路 4 4 邏輯電平開關(guān)電路 邏輯電平開關(guān)電路 如圖2 17所示 實驗臺右方有8個開關(guān)K0 K7 開關(guān)撥到 1 位置時開關(guān)斷開 輸出高電 平 撥到 0 位置時開關(guān)接通輸出低電平 電路中串接了保護電阻 接口電路不直接同 5V GND相連 有效的防止因誤操作損壞集成電路現(xiàn)象 圖2 17 邏輯電平開關(guān)電路 圖2 18 發(fā)光二極管及驅(qū)動電路 5 5 LEDLED顯示電路顯示電路 如圖2 18所示 實驗臺上設(shè)有8個發(fā)光二極管及相關(guān)驅(qū)動電路 輸入端L7 L0 當輸入 信號為 1 時發(fā)光 為 0 時滅 6 6 七段數(shù)碼管顯示電路 七段數(shù)碼管顯示電路 實驗臺設(shè)有兩個共陰極數(shù)碼管及驅(qū)動電路 電路圖如圖2 19 段碼輸入端 a b c d e f g dp 位碼輸入端 S0 S1 15 圖2 19 數(shù)碼管顯示電路 7 7 單脈沖電路 單脈沖電路 如圖2 20所示 采用RS觸發(fā)器產(chǎn)生 實驗者每按一次開關(guān)即可以從兩個插座上分別輸出 一個正脈沖及負脈沖 供 中斷 DMA 定時器 計數(shù)器 等實驗使用 圖2 20 單脈沖電路圖 圖2 21 邏輯筆電路 8 8 邏輯筆 邏輯筆 如圖2 21所示 當輸入端Ui接高電平時紅燈 H 亮 接低電平時綠燈 L 亮 9 9 繼電器及驅(qū)動電路 繼電器及驅(qū)動電路 圖2 22為直流繼電器及相應(yīng)驅(qū)動電路 當其開關(guān)量輸入端 Ik 輸入數(shù)字量 1 時 繼電器動作 常開觸點閉合紅色發(fā)光二極管點亮 輸入 0 時繼電器常開觸點斷開發(fā)光二 極滅 圖2 22 繼電器及驅(qū)動電路圖 圖2 23 復(fù)位電路 1010 復(fù)位電路 復(fù)位電路 圖2 23為復(fù)位電路 實驗臺上有一復(fù)位電路 能在上電時 或按下復(fù)位開關(guān)RESET后 產(chǎn) 生一個高電平的復(fù)位信號 1111 步進電機驅(qū)動電路步進電機驅(qū)動電路 圖2 24為步進電機的驅(qū)動電路 實驗臺上使用的步進電機驅(qū)動方式為二相勵磁方式 BA BB BC BD分別為四個線圈的驅(qū)動輸入端 輸入高電平時 相應(yīng)線圈通電 DJ端為直流 電機控制輸入端 圖2 24 步進電機驅(qū)動電路 16 1212 接口集成電路 接口集成電路 實驗臺上有微機原理及接口實驗最常用接口電路芯片 包括 可編程定時器 計數(shù)器 8253 可編程并行接口 8255 數(shù) 模轉(zhuǎn)換器 DAC0832 模 數(shù)轉(zhuǎn)換器 ADC0809 這里芯片與CPU相連的引線除去片選 CS 信號外都已連好 與外界連接的關(guān)鍵引腳在芯片 周圍用 自鎖緊 插座引出 供實驗使用 1313 邏輯門電路 邏輯門電路 實驗臺上設(shè)有幾個邏輯門電路 包括 與門 或門 非門 觸發(fā)器 供實 驗時選擇使用 2 2 32 2 3 用戶擴展實驗區(qū)用戶擴展實驗區(qū) 實驗臺上設(shè)有5個通用數(shù)字集成電路插座 其中 通用插座A 通用插座B 為20芯 通用插座D 為40芯活動插座以方便插拔器件 其余為14芯 插座的每個引腳都用自鎖緊 插孔引出 實驗指導(dǎo)書中所列出的部分實驗 簡單并行接口 串行通信 集成電路測試等 電路就是利用這些插座搭試的 利用這些插座可以進行數(shù)字電路實驗 也可以設(shè)計開發(fā)新的 接口實驗或讓學(xué)生做課程設(shè)計 畢業(yè)設(shè)計等項目 2 2 42 2 4 實驗臺跳線開關(guān)實驗臺跳線開關(guān) 為了方便實驗 實驗臺上設(shè)有跳線開關(guān) 分以下幾種 1 實驗類型選擇開關(guān)JB JC 這兩個跳線開關(guān)在在實驗臺的左上角 50線總線插座的左 下方 在TPC USB實驗系統(tǒng)中不起作用 用戶無須設(shè)置 2 模擬量輸入選擇開關(guān)JP2 JP3 在實驗臺ADC0809的左上角 分別用于模 數(shù)轉(zhuǎn)換模擬 量的輸入極性選擇 JP2的1 2兩點短路時ADC0809的IN2可輸入雙極性電壓 5V 5V 2 3兩點短路時輸入單極性電壓 0 5V JP3用于選擇IN1的輸入極性 選擇方法與JP2 相同 3 5V電源插針 為減輕 5 V電源負載和各主要芯片的安全 在各主要實驗電路附近 都有相應(yīng)的電源連接插針 標記為 5V 當實驗需要該部分電路時 用短路子短接插針即 可接通 5V電源 對用不到的電路可將短路片拔掉確保芯片安全 2 2 52 2 5 2020芯雙排插座芯雙排插座 實驗臺上有一個20芯雙排插座J7 用于外接附加的鍵盤顯示實驗板和其它用戶開發(fā)的實 驗板 J7各引腳信號安排如下 19 17 15 13 11 9 7 5 3 1 D0D1D2D3D4D5D6D7IRQCS RES 5V 5VIORIOWA0A1CLKGNDGND 20 18 16 14 12 10 8 6 4 2 在J7的附近有兩個短路插針標有 CS 和 IRQ 當 CS 的兩點短接后 譯碼器的 280H 287H連接到J7的CS端 當你擴展板上的實驗需要中斷信號時將 IRQ 的兩端短接 不需要時應(yīng)將其斷開 2 2 62 2 6 直流穩(wěn)壓電源直流穩(wěn)壓電源 實驗箱自備電源 安裝在實驗大板的下面 交流電源插座固定在實驗箱的后測板上 交 流電源開關(guān)在實驗箱的右側(cè) 交流電源開關(guān)自帶指示燈 當開關(guān)打開時指示燈亮 在實驗板 右上角有一個直流電源開關(guān) 交流電源打開后再把直流開關(guān)撥到 ON 的位置 直流 5V 17 12V 12V就加到實驗電路上 主要技術(shù)指標 輸入電壓 AC 175 265V 輸出電壓 電流 5V 2 5A 12V 0 5A 12V 0 5A 輸出功率 25W 18 第三章第三章 TPC USBTPC USB集成軟件開發(fā)環(huán)境集成軟件開發(fā)環(huán)境 3 13 1 TPC USBTPC USB集成開發(fā)環(huán)境軟件包集成開發(fā)環(huán)境軟件包 TPC USB集成開發(fā)環(huán)境是TPC USB實驗系統(tǒng)所配套的軟件 它提供了用戶程序的編輯和編 譯 調(diào)試和運行 實驗項目的查看和演示 實驗項目的添加等功能 方便了學(xué)生和老師實驗 程序的編制和調(diào)試 本軟件基于windows2000 XP 2003環(huán)境 界面簡潔美觀 功能齊全 集 成開發(fā)環(huán)境主界面如圖3 1 圖3 1 軟件主界面 3 23 2 集成開發(fā)環(huán)境軟件的安裝集成開發(fā)環(huán)境軟件的安裝 TPC USB集成開發(fā)環(huán)境集編輯 編譯 調(diào)試 實驗演示等 功能齊全 使用簡便 方便 教師查看實驗原理圖及程序 利于教學(xué) 安裝步驟如下 1 從隨機所帶光盤目錄中找到SETUP EXE文件 鼠標雙擊該文件會出現(xiàn)以下界面 圖 3 2 為確保安全 建議先將光盤文件拷貝到硬盤某文件夾中 在硬盤上運行SETUP EXE文 件 19 圖3 2 2 輸入用戶名 公司名和序列號后 點擊 下一步 會出現(xiàn)圖3 3安裝選擇畫面 圖3 3 安裝選擇 其中 典型 安裝是指安裝主程序 實驗演示程序和幫助文件 壓縮 是指只安裝 主程序和幫助文件 不安裝實驗演示程序 制定 是在 主程序 實驗演示 幫 助文件 三個文件中選擇你需要的安裝 建議在教師實驗機中選 典型 安裝 在學(xué)生實驗 機中選 壓縮 安裝 20 選擇好以后 點擊 下一步 程序?qū)⒆詣訉④浖惭b到你的機器上 3 2 13 2 1 用戶程序的編輯和編譯用戶程序的編輯和編譯 TPC USB集成開發(fā)環(huán)境軟件支持匯編程序 asm文件 類型的程序開發(fā) 除了一般的編輯 功能外 本軟件還支持語法高亮顯示 語法錯誤提示等功能 大大提高了程序的可讀性 用 戶編輯好程序并保存后 即可方便地進行編譯 1 新建一個源程序 在當前運行環(huán)境下 選擇菜單欄中的 文件 菜單 菜單下拉后選擇 新建 或是在 工具欄中單擊 新建 快捷按鈕 會出現(xiàn)源程序編輯窗口 建議用 另存為 為文件取名保 存后 就新建一個 asm 文件 2 打開一個源程序 當前運行環(huán)境下 選擇菜單欄中的 文件 菜單 菜單下拉后選擇 打開 或是在工 具欄中單擊 打開 會彈出 打開 文件選擇窗口 打開 窗口如圖3 4所示 圖3 4 打開一個源程序 在窗口中 文件類型 下拉菜單中選擇 ASM文檔 asm 一項 程序即顯示當前目錄 下所有的asm文檔 單擊要選擇的文件 選中的文件名會顯示在 文件名 中 單擊 打開 則打開當前選中的文檔顯示在文檔顯示區(qū)域 點擊 取消 則取消新建源文件操作 3 編輯源程序 本軟件提供了基本的編輯功能 并實現(xiàn)了實時的語法高亮 各項操作說明如下 撤消撤消 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 撤消 或是在工 具欄中單擊 撤消 即可撤消上一步剪切或粘貼操作 剪切剪切 21 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 剪切 或是在工 具欄中單擊 剪切 即可將文檔顯示區(qū)域中選中的內(nèi)容剪切到剪貼板 復(fù)制復(fù)制 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 復(fù)制 或是在工 具欄中單擊 復(fù)制 即可將文檔顯示區(qū)域中選中的內(nèi)容復(fù)制到剪貼板 粘貼粘貼 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 粘貼 或是在工 具欄中單擊 粘貼 即可將剪貼板中當前內(nèi)容粘貼到文檔顯示區(qū)域光標所在處 全選全選 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 全選 即可將文 檔區(qū)域中所有內(nèi)容選中 查找查找 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 查找 彈出查找 對話框如圖3 5所示 圖3 5 查找 在查找內(nèi)容一欄中輸入需要查找的內(nèi)容 可選擇 區(qū)分大小寫 的查找方式 單擊 查 找下一個 程序則在文檔顯示區(qū)域中搜索與查找內(nèi)容匹配的字符串 找到第一個后則高亮顯 示 用戶點擊查找下一個則繼續(xù)搜索下一個匹配字符串 點擊 取消 退出查找操作 替換替換 當前運行環(huán)境下 選擇菜單欄中的 編輯 菜單 菜單下拉后選擇 替換 彈出替換 對話框如圖3 6所示 圖3 6 查找下一個 在查找內(nèi)容一欄中輸入需要查找的內(nèi)容 可選擇 全字匹配 與 區(qū)分大小寫 的查找 方式 在替換為一欄中輸入需要替換的內(nèi)容 單擊 查找下一個 程序則在文檔顯示區(qū)域中 搜索與查找內(nèi)容匹配的字符串 找到第一個后則高亮顯示 用戶可單擊 替換 將匹配的字 符串替換 也可單擊 全部替換 將當前文檔顯示區(qū)域中所有與查找內(nèi)容匹配的字符串全部 22 替換 單擊 查找下一個 則繼續(xù)搜索下一個匹配字符串 也可單擊 取消 退出查找操作 4 保存源程序 當前運行環(huán)境下 選擇菜單欄中的 文件 菜單 菜單下拉后選擇 保存 如果是無 標題文檔 用戶需在提示下輸入文檔的名稱及選擇保存的路徑 單擊確定后保存 否則程序 自動保存當前文檔顯示區(qū)域中顯示的文檔 或者選擇菜單欄中的 文件 菜單 菜單下拉后 選擇 另存為 并在提示下輸入文檔的名稱及選擇保存的路徑 單擊確定后保存 3 2 23 2 2 編譯源程序編譯源程序 1 編譯調(diào)試窗口 在當前運行環(huán)境下 選擇菜單欄中的 查看 菜單 單擊編譯調(diào)試窗口選項或是單擊工 具欄中 輸出窗口 按鈕則可對輸出欄的進行顯示 若當前環(huán)境顯示編譯調(diào)試窗口 則單擊 查看輸出窗口選項即可隱藏該窗口 編譯調(diào)試輸出窗口選項即消失 若當前隱藏編譯調(diào)試窗 口 則單擊輸出窗口選項即可顯示該窗口 編譯調(diào)試窗口將顯示 2 ASM編譯 匯編匯編 鏈接鏈接 在當前運行環(huán)境下 選擇菜單欄中的 項目 菜單 選擇匯編 鏈接選項則程序?qū)Ξ斍?ASM源文件進行匯編與鏈接 編譯調(diào)試窗口中輸出匯編與鏈接的結(jié)果 若程序匯編或鏈接有 錯 則詳細報告錯誤信息 雙擊輸出錯誤 集成開發(fā)環(huán)境會自動將錯誤所在行代碼高亮顯示 開始開始 執(zhí)行執(zhí)行 在當前運行環(huán)境下 選擇菜單欄中的 項目 菜單 選擇開始 執(zhí)行選項則程序?qū)Ξ斍?ASM源文件執(zhí)行 程序自動運行 3 2 33 2 3 用戶程序的調(diào)試和運行用戶程序的調(diào)試和運行 1 ASM程序的調(diào)試 寄存器窗口寄存器窗口 在當前運行環(huán)境下 選擇工作區(qū)的 寄存器 菜單 寄存器窗口即可顯示 寄存器窗口 中顯示主要的寄存器名稱及其在當前程序中的對應(yīng)值 若值為紅色 即表示當前寄存器的值 調(diào)試時 單步執(zhí)行 寄存器會隨每次單步運行改變其輸出值 同樣以紅色顯示 開始調(diào)試開始調(diào)試 在 選項 菜單中 編譯選項 選擇 調(diào)試 然后進行進行程序的編譯和鏈接 編 譯和鏈接成功之后 調(diào)試工具將會顯示 也可以在 項目 中選擇 開始 結(jié)束調(diào)試 即 可開始進行程序的調(diào)試 編譯選項選擇如圖3 7 在ASM程序正常鏈接之后 選擇菜單欄中的 開始 結(jié)束調(diào)試 菜單 選擇開始調(diào)試選項 則對源程序進行反匯編 進入ASM的調(diào)試狀態(tài) 并在寄存器窗口中顯示主要的寄存器的當前 值 設(shè)置設(shè)置 清除斷點清除斷點 在ASM的調(diào)試狀態(tài)下 對程序代碼所在某一行前的灰色列條單擊鼠標 即對此行前設(shè)置 了斷點 如果清除斷點 只需再在此行前的灰色列條上的斷點單擊鼠標 此斷點標記將被清 除 23 黃色箭頭所指的行為當前單步執(zhí)行到的所在行 設(shè)置 清除斷點如圖3 8所示 圖3 7 編譯選項的選擇 24 圖3 8 設(shè)置 清除斷點 連續(xù)運行連續(xù)運行 在ASM的調(diào)試狀態(tài)下 選擇 項目 菜單欄中的 連續(xù)運行 菜單或F5 則程序連續(xù)運 行 直至碰到斷點或程序運行結(jié)束 單步單步 在ASM的調(diào)試狀態(tài)下 選擇 項目 菜單欄中的 單步執(zhí)行 菜單或F11 則程序往后運 行一條語句 退出調(diào)試退出調(diào)試 在ASM的調(diào)試狀態(tài)下 選擇 項目 菜單欄中的 開始 結(jié)束調(diào)試 菜單 程序則退出 ASM的調(diào)試狀態(tài) 命令調(diào)試命令調(diào)試 集成開發(fā)環(huán)境可以進行命令的調(diào)試 如圖3 9 25 圖3 9 命令調(diào)試 調(diào)試時 輸出窗口可以輸出編譯信息 命令信息 內(nèi)存查看信息 棧查看信息等 如圖3 10 26 圖3 10 內(nèi)存查看輸出窗口 3 2 43 2 4 常用調(diào)試命令常用調(diào)試命令 調(diào)試指令與debug稍有區(qū)別 具體調(diào)試命令如下 bochs提供了強大的命令行調(diào)試功能 本集成開發(fā)環(huán)境在其之上包裝了一個簡便易用的 圖形界面 如果這個界面不能滿足您的要求 還可以使用命令欄直接輸入調(diào)試命令與bochs 交互 所有調(diào)試命令bochs都提供了簡要的用法說明 輸入 help 不帶引號 可 查看可用的命令 help cmd 帶引號 可查看命令cmd相關(guān)的幫助 下面是一些常用的命令說明及示例 1 反匯編 u 用法 u count start end 反匯編給定的線性地址 可選參數(shù) count 是反匯編指令的條數(shù) 例 u 反匯編當前 cs ip 所指向的指令 27 u 10 從當前 cs ip 所指向的指令起 反匯編10條指令 u 12 0 xfeff 反匯編線性地址 0 xfeff 處開始的12條指令 2 查看內(nèi)存 x 用法 x nuf addr 查看線性地址 addr 處的內(nèi)存內(nèi)容 nuf 由需要顯示的值個數(shù)和格式標識 xduot cbhw m 組成 未指明用何種格式的情況下 將使用上一次的格式 x 十六進制 d 十進制 u 無符號 o 八進制 t 二進制 c 字符 b 字節(jié) h 半字 w 字 四字節(jié) m 使用memory dump模式 例 x 10wx 0 x234 以十六進制輸出位于線性地址 0 x234 處的 10 個雙字 x 10bc 0 x234 以字符形式輸出位于線性地址 0 x234 處的 10 個字節(jié) x h 0 x234 以十六進制輸出線性地址 0 x234 處的 1 個字 3 查看寄存器 info reg 用法 info reg 查看CPU整數(shù)寄存器的內(nèi)容 4 修改寄存器 r 用法 r reg expression reg 為通用寄存器 expression 為算術(shù)表達式 例 r eax 0 x12345678 對 eax 賦值 0 x12345678 r ax 0 x1234 對 ax 賦值 0 x1234 r al 0 x12 1 對 al 賦值 0 x13 5 下斷點 lb 用法 lb addr 下線性地址斷點 例 lb 0 xfeff 在 0 xfeff 下線性地址斷點 0f00 eff 所處線性地址就是 0 xfeff 6 查看斷點情況 info b 用法 info b 7 刪斷點 del n 用法 del n 刪除第 n 號斷點 例 del 2 刪除 2 號斷點 斷點編號可通過前一個命令查看 8 連續(xù)運行 c 用法 c 在未遇到斷點或是 watchpoint 時將連續(xù)運行 9 單步 n 和 s 27 用法 n 執(zhí)行當前指令 并停在緊接著的下一條指令 如果當前指令是 call ret 則相當于 Step Over s count 執(zhí)行 count 條指令 10 退出 q 用法 q 2 C語言程序的調(diào)試 大多數(shù)實驗所用的程序需要用到配套的Visual Studio生成的靜態(tài)鏈接庫 lib 或動態(tài) 鏈接庫 dll 文件 因此本軟件采用了Visual C 的調(diào)試系統(tǒng) 由于版權(quán)問題 本軟件沒有 提供Visual C 的編譯和調(diào)試器 需要用戶自己安裝 3 2 53 2 5 實驗項目的查看和演示實驗項目的查看和演示 本軟件提供了實驗項目的查看和演示功能 包括實驗說明 實驗原理圖 實驗流程圖 ASM程序 并可以運行實驗程序 使用戶能方便快捷地了解感興趣的實驗 示例如圖3 11 圖3 11實驗項目的查看和演示 各實驗有幾個子項 包括實驗說明 實驗原理圖 實驗流程圖 ASM程序和運行實驗 單擊對應(yīng)子項 即可查看對應(yīng)的項目 實驗說明 雙擊實驗說明子項 即可彈出對應(yīng)實驗的實驗說明 實驗原理圖 雙擊實驗原理圖子項 即可彈出對應(yīng)實驗的實驗原理圖 實驗流程圖 雙擊實驗流程圖子項 即可彈出對應(yīng)實驗的實驗流程圖 ASM程序 28 雙擊ASM程序子項 即可彈出對應(yīng)實驗的ASM程序源文件 運行實驗 雙擊運行實驗子項 即可執(zhí)行對應(yīng)實驗的可執(zhí)行程序 3 2 53 2 5 實驗項目的添加和刪除實驗項目的添加和刪除 除預(yù)定義的26個常用實驗外 本軟件還支持自定義實驗 方便用戶擴展實驗內(nèi)容 用戶 可以自行添加實驗 被添加的實驗將作為 自定義實驗 的子類 之后便能在演示實驗中進 行查看 查看方式和預(yù)定義實驗相同 1 添加實驗 在當前運行環(huán)境下 選擇菜單欄 演示實驗 菜單選項 在下層目錄中選擇自定義實驗 選項 則出現(xiàn)TPC USB自定義實驗對話框 如圖3 12所示 圖3 12 自定義實驗 用戶可以對自定義實驗進行添加和刪除操作 點擊添加實驗按鈕 則彈出添加實驗對話 框 如圖3 13 29 圖3 13 添加實驗 用戶可以直接輸入目標文件地址或是通過右側(cè)的瀏覽按鈕來選擇文件 需要注意的是 添加實驗時實驗名稱和可執(zhí)行程序是必不可少的 2 刪除實驗 自定義實驗是可以刪除的 在當前運行環(huán)境下 選擇菜單欄中的 演示實驗 菜單 選 擇自定義實驗選項 在自定義實驗對話框中選定待刪除的實驗 點擊刪除實驗按鈕 則彈出 確認對話框 確認后選定的實驗將被刪除 否則取消刪除操作 如圖3 14所示 圖3 14 實驗刪除 3 2 63 2 6 集成開發(fā)環(huán)境幫助菜單集成開發(fā)環(huán)境幫助菜單 集成開發(fā)環(huán)境幫助菜單方便教師和學(xué)生對軟件使用 芯片查尋 常用命令查詢等 分別 如圖3 14 圖3 15 圖1 16 30 圖3 14 集成開發(fā)環(huán)境幫助 圖3 15 常用芯片查詢 31 圖3 16 常用調(diào)試命令 32 第四章第四章 匯編實驗部分匯編實驗部分 幾點約定幾點約定 1 1 實驗電路介紹中凡不加 實驗電路介紹中凡不加 利用通用插座利用通用插座 說明的均為實驗臺上已固定電路 說明的均為實驗臺上已固定電路 2 2 實驗電路連線在圖中均用虛線表示 實線為已連好電路 實驗電路連線在圖中均用虛線表示 實線為已連好電路 實驗一實驗一 I OI O地址譯碼地址譯碼 一 實驗?zāi)康囊?實驗?zāi)康?掌握I O地址譯碼電路的工作原理 二 實驗原理和內(nèi)容二 實驗原理和內(nèi)容 實驗電路如圖1 1所示 其中74LS74為D觸發(fā)器 可直接使用實驗臺上數(shù)字電路實驗區(qū)的 D觸發(fā)器 74LS138為地址譯碼器 譯碼輸出端Y0 Y7在實驗臺上 I O地址 輸出端引出 每 個輸出端包含8個地址 Y0 280H 287H Y1 288H 28FH 當CPU執(zhí)行I O指令且地 址在280H 2BFH范圍內(nèi) 譯碼器選中 必有一根譯碼線輸出負脈沖 例如 執(zhí)行下面兩條指令 MOV DX 2A0H OUT DX AL 或IN AL DX Y4輸出一個負脈沖 執(zhí)行下面兩條指令 MOV DX 2A8H OUT DX AL 或IN AL DX Y5輸出一個負脈沖 圖1 1 E3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 E2 U2 C A3 A4 A5 A6 A7 A8 A9 AEN IOW IOR U2 D U2 B U2 A E 245 U1 9 10 12 13 4 5 1 2 8 11 6 3 2 11 1 12 3 4 5 6 5V 74LS30 8 E1 U3 74LS138 A B C 1 2 3 5 15 14 13 12 11 10 9 7 5V 2 3 5 6 14 L7 74LS74 SD CLK CD Q Q 280H 2A0H 2A8H I O 74LS00 64 33 利用這個負脈沖控制L7閃爍發(fā)光 亮 滅 亮 滅 時間間隔通過軟件延時實現(xiàn) 三 編程提示三 編程提示 1 實驗電路中D觸發(fā)器CLK端輸入脈沖時 上升沿使Q端輸出高電平L7發(fā)光 CD端加低電 平L7滅 2 參考程序 YMQ ASM outport1 equ 2a0h outport2 equ 2a8h code segment assume cs code start mov dx outport1 out dx al call delay 調(diào)延時子程序 mov dx outport2 out dx al call delay 調(diào)延時子程序 mov ah 1 int 16h je start mov ah 4ch int 21h delay proc near 延時子程序 mov bx 200 lll mov cx 0 ll loop ll dec bx jne lll ret delay endp code ends end start 34 實驗二實驗二 簡單并行接口簡單并行接口 一 實驗?zāi)康囊?實驗?zāi)康?掌握簡單并行接口的工作原理及使用方法 二 實驗內(nèi)容二 實驗內(nèi)容 1 按下面圖2 1簡單并行輸出接口電路圖連接線路 74LS273插通用插座 74LS32用實驗 臺上的 或門 74LS273為八D觸發(fā)器 8個D輸入端分別接數(shù)據(jù)總線D0 D7 8個Q輸出端 接LED顯示電路L0 L7 2 編程從鍵盤輸入一個字符或數(shù)字 將其ASC 碼通過這個輸出接口輸出 根據(jù)8個發(fā) 光二極管發(fā)光情況驗證正確性 3 按下面圖2 2簡單并行輸入接口電路圖連接電路 74LS244插通用插座 74LS32用實驗 臺上的 或門 74LS244為八緩沖器 8個數(shù)據(jù)輸入端分別接邏輯電平開關(guān)輸出K0 K7 8 個數(shù)據(jù)輸出端分別接數(shù)據(jù)總線D0 D7 4 用邏輯電平開關(guān)預(yù)置某個字母的ASC 碼 編程輸入這個ASC 碼 并將其對應(yīng)字母 在屏幕上顯示出來 圖2 1 圖2 2 三 編程提示三 編程提示 1 上述并行輸出接口的地址為2A8H 并行輸入接口的地址為2A0H 通過上述并行接口 電路輸出數(shù)據(jù)需要3條指令 MOV AL 數(shù)據(jù) MOV DX 2A8H OUT DX AL 通過上述并行接口輸入數(shù)據(jù)需要2條指令 MOV DX 2ADH 35 IN AL DX 2 參考流程圖 開始 等待鍵盤輸入 是ESC嗎 從端口2A8H 輸出其ASC碼 結(jié)束 N 開始 自端口2A0H輸入ASCII碼 保存輸入ASCII碼至DL 顯示ASCII碼對應(yīng)的字符 有鍵按下嗎 結(jié)束 Y N Y 圖2 3 參考程序1 圖2 4 參考程序2 3 參考程序1 E273 ASM ls273equ 2a8h code segment assume cs code start mov ah 2 回車符 mov dl 0dh int 21h mov ah 1 等待鍵盤輸入 int 21h cmp al 27 判斷是否為ESC鍵 je exit 若是則退出 mov dx ls273 若不是 從2A8H輸出其ASCII碼 out dx al jmp start 轉(zhuǎn)start exit mov ah 4ch 返回 int 21h code ends end start 4 參考程序2 E244 ASM ls244equ 2a0h code segment assume cs code start mov dx ls244 從2A0輸入一數(shù)據(jù) in al dx mov dl al 將所讀數(shù)據(jù)保存在DL中 36 mov ah 02 int 21h mov dl 0dh 顯示回車符 int 21h mov dl 0ah 顯示換行符 int 21h mov ah 06 是否有鍵按下 mov dl 0ffh int 21h jnz exit je start 若無 則轉(zhuǎn)start exit mov ah 4ch 返回 int 21h code ends end start 實驗三實驗三 可編程定時器 計數(shù)器 可編程定時器 計數(shù)器 82538253 一 實驗?zāi)康囊?實驗?zāi)康?掌握8253的基本工作原理和編程方法 用示波器觀察不同方式下的波形 二 實驗內(nèi)容二 實驗內(nèi)容 按圖3 1虛線連接電路 將計數(shù)器0設(shè)置為方式0 計數(shù)器初值為N N 0FH 用手動 逐個輸入單脈沖 編程使計數(shù)值在屏幕上顯示 并同時用邏輯筆觀察OUT0電平變化 當輸入N 1個脈沖后OUT0變高電平 5V R2R3 11 8 12 13 9 10 CLK0 GATE0 OUT0 CS 5V 9 11 10 21 U5 8253 280H 圖3 1 按圖3 2連接電路 將計數(shù)器0 計數(shù)器1分別設(shè)置為方式3 計數(shù)初值設(shè)為1000 用 邏輯筆觀察OUT1輸出電平的變化 頻率1HZ 13 14 15 10 11 9 21 CS OUT1 GATE1 CLK1 OUT0 GATE0 CLK0 U5 8253 5V 5V 1MHZ 280H 圖3 2 3 按圖3 3連接電路 將計數(shù)器0設(shè)置為方式3 方波 計數(shù)器設(shè)置為方式2 分頻 實 現(xiàn)計數(shù)器0的輸出為方波 計數(shù)器1的輸出是計數(shù)器0輸出的分頻波形 人機交互界面設(shè)計 37 實現(xiàn)在顯示屏幕上提示輸入計數(shù)器0 方波 的參數(shù)和計數(shù)器1 分頻信號 的參數(shù) 如下所 示 counter1 counter2 continue y n 實現(xiàn)用鍵盤直接輸入修改程序中方波的參數(shù)和分頻信號的參數(shù) 以改變方波的寬度 分頻信 號的周期和分頻數(shù) 不需重新修改源代碼 用示波器觀察計數(shù)器0和計數(shù)器1的輸出波形及其 關(guān)系 并在紙上畫出CLK0 OUT0 OUT1的波形 圖3 3 三 編程提示三 編程提示 1 8253控制寄存器地址283H 計數(shù)器0地址280H 計數(shù)器1地址281H CLK0連接時鐘1MHZ 2 參考流程圖 見圖3 4 圖3 5 圖3 6 開始 設(shè)計數(shù)器0為 工作方式0 送計數(shù)器初值 讀計數(shù)器值 顯示計數(shù)值 有鍵按下嗎 結(jié)束 開始 設(shè)計數(shù)器0為 工作方式3 向計數(shù)器0送初值1000 先送低字節(jié)后送高字節(jié) 設(shè)計數(shù)器1為 工作方式3 向計數(shù)器1送初值1000 先送低字節(jié)后送高字節(jié) 結(jié)束 N Y 圖3 6 38 圖3 4 圖3 5 3 參考程序1 E8253 1 ASM io8253aequ 283h io8253bequ 280h code segment assume cs code start mov al 14h 設(shè)置8253通道0為工作方式2 二進制計數(shù) mov dx io8253a out dx al mov dx io8253b 送計數(shù)初值為0FH mov al 0fh out dx al lll in al dx 讀計數(shù)初值 call disp 調(diào)顯示子程序 push dx mov ah 06h mov dl 0ffh int 21h pop dx jz lll mov ah 4ch 退出 int 21h disp proc near 顯示子程序 push dx and al 0fh 首先取低四位 mov dl al cmp dl 9 判斷是否 9 jle num 若是則為 0 9 ASCII碼加30H add dl 7 否則為 A F ASCII碼加37H num add dl 30h mov ah 02h 顯示 int 21h mov dl 0dh 加回車符 int 21h mov dl 0ah 加換行符 int 21h pop dx 39 ret 子程序返回 disp endp code ends end start 4 參考程序2 E8253 2 ASM io8253aequ 280h io8253bequ 281h io8253cequ 283h code segment assume cs code start mov dx io8253c 向8253寫控制字 mov al 36h 使0通道為工作方式3 out dx al mov ax 1000 寫入循環(huán)計數(shù)初值1000 mov dx io8253a out dx al 先寫入低字節(jié) mov al ah out dx al 后寫入高字節(jié) mov dx io8253c mov al 76h 設(shè)8253通道1工

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論