基本輸入輸出接口課件_第1頁
基本輸入輸出接口課件_第2頁
基本輸入輸出接口課件_第3頁
基本輸入輸出接口課件_第4頁
基本輸入輸出接口課件_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基本輸入/輸出接口

為什么需要輸入/輸出接口?速度匹配問題信號類型匹配問題數據傳輸格式一致問題什么是輸入/輸出接口?

——主機與外部外備進行數據傳輸所需要的信息交換中間環節(interface)。接口本身不是外設,但它承擔了與外設通信的任務。6.1輸入/輸出接口概述6.1輸入/輸出接口概述

計算機的輸入輸出(即I/O)是計算機系統中不可缺少的重要組成部分,沒有它,計算機只是一個聰明的“瞎子和啞巴”,既不知道人要它做什么,也不知道把計算機的結果反映出來,沒有I/O,再高檔的計算機也無法為人服務。現代計算機系統中外部設備種類繁多,各類外部設備不僅結構和工作原理不同,而且與主機的連接方式也可能完全不同。為了方便地將主機與各種外設連接起來,并且避免主機陷入與各種外設打交道的沉重負擔之中,我們需要一個信息交換的中間環節,這個主機與外設之間的交接界面就稱作輸入/輸出接口。

I/O在計算機中是處于怎樣一個位置?一臺計算機一般包括主機、顯視器、打印機、鍵盤、鼠標及一系列設備,而主機又包含了電源、主板,還能進一步分為CPU、RAM、ROM、硬盤、軟驅。其實這些東西組成應該叫計算機系統,顯視器、鍵盤等都是計算機的外圍設備,而主板上的CPU加上RAM才是真正意義上的“腦”,它們具備了“思考”和“記憶”的能力,但僅有它們的記憶和思考卻是不夠的,必須通過鍵盤告訴電腦該做什么,這些事該怎么做,而電腦也要把執行程序的結果顯示在屏幕上才能說完成了它的任務。計算機的CPU怎樣和外圍設備(也稱外設)進行溝通,必須通過輸入/輸出接口。6.1輸入/輸出接口概述

對于計算機在工業控制中的應用,I/O更是一個重要的課題,實時、有效的輸入/輸出是計算機控制的關鍵所在。計算機具有很強的計算能力,由于計算機的加入,工業控制的內容有了很大的豐富,各種現代控制算法顯示出其強大的活力,它們往往比經典的控制算法更快、更準,但這些算法賴以生存的實時數據要通過I/O系統從傳感器取得,再通過I/O將處理后的結果送往執行器執行。6.1輸入/輸出接口概述6.1.1接口與端口的基本概念

實際上,任何主機與外設之間的信息交換都必須通過I/O接口來完成。也就是說,在主機和外設之間必須存在相應的I/O接口,這是因為主機與外設之間存在以下主要差異:

1)主機和外設的工作速度一般相差幾個數量級;

2)主機和外設處理的信息格式有較大的差異:主機只能處理并行的二進制數據;而不同的外設可能處理的數據種類非常繁多,可能是串行數據,也可能是并行數據,可能是二進制數據,也可能是十進制數據或ASCII碼數據,可能是數字量,也可能是如聲音、溫度之類的模擬量;1.輸入/輸出接口基本功能

設置I/O接口的主要目的就是解決主機和外設之間的這些差異:I/O接口一方面應該負責接收、轉換、解釋并執行CPU發來的命令,另一方面應能將外設的狀態或請求傳送給CPU,從而完成CPU與外設之間的數據傳輸。具體地說,I/O接口應具有以下主要功能或其中的一部分功能:

(1)主機與外設的通信聯絡控制功能

因為主機與外設的工作速度有較大的差別,所以I/O接口的基本任務之一就是必須能夠解決兩者之間的時序配合問題。如:CPU應該能通過I/O接口向外設發出啟動命令;外設在準備就緒時應能通過I/O接口送回“準備好”信息或請求中斷的信號;等等。(2)設備選擇功能

微機系統中一般有多個外設,主機在不同時刻可能要與不同的外設進行信息交換,I/O接口必須能對CPU送來的外設地址進行譯碼以產生設備選擇信號。(3)數據緩沖功能

解決高速主機與低速外設矛盾的另一個常用方法是在I/O接口中設置一個或幾個數據緩沖寄存器或鎖存器,用于數據的暫存,以避免因速度不一致而丟失數據;另一方面,采用數據緩沖或鎖存也有利于增大驅動能力。有時I/O接口還需要能向CPU提供內部寄存器空或滿的聯絡信號。(4)信號格式轉換功能

外設直接輸出的信號和所需的驅動信號多與微機總線信號不兼容,因此I/O接口必須具有實現信號格式轉換的功能,如:電平轉換功能、A/D轉換功能、D/A轉換功能、串/并轉換功能、并/串轉換功能、數據寬度變換功能等等。(5)錯誤檢測功能

在很多情況下,系統還需要I/O接口能夠檢測和糾正信息傳輸過程中引入的錯誤。常見的有傳輸線路上噪聲干擾導致的傳輸錯誤和接收和發送速率不匹配導致的覆蓋錯誤。(6)可編程功能可編程功能意味著I/O接口具有較強的通用性、靈活性和可擴充性,即在不改變硬件設計的條件下,I/O接口可以接收并解釋CPU的控制命令,從而改變接口的功能與工作方式。(7)復位功能

接收復位信號,從而使接口本身以及所連的外設進行重新啟動。接口的作用接收、轉換、解釋并執行CPU發來的命令傳送外設的狀態以及CPU與外設之間的數據等管理雙方的工作邏輯、協調它們的工作時序包括數據緩沖功能、設備選擇功能、信號轉換功能、接收、解釋并執行CPU命令的功能、中斷管理功能、可編程功能為什么要使用I/O接口?外設種類多信號類型有機械的、物理的、電信號等信號形式有脈沖、模擬量或數字量數據傳輸率不同數據傳輸方式不同,有并行、串行之分CPU與外設都是面向接口而非直接聯絡(1)接口電路中的信息種類數據信息:要交換的數據本身。如鍵盤、磁盤數據,打印、顯示、繪圖數據,模擬量經A/D轉換的數據等數據傳輸方向:CPU←→I/O接口←→外設數據信息——數字量;模擬量;開關量狀態信息——1bit的二進制數;數字量控制信息——1bit的二進制數;數字量2.I/O接口的基本結構狀態信息:表征外設工作狀態的信息對輸入接口,CPU是否準備好接收數據,“READY”準備好嗎?對輸出接口,外設是否準備好接收數據,“BUSY”外設忙嗎?數據傳輸方向:CPU←I/O接口←外設控制信息:控制外設工作的命令,CPU通過接口發出,如A/D轉換器的啟/停信號數據傳輸方向:CPU→I/O接口→處設單向傳送這三種信息的接口電路中的寄存器稱為數據、狀態和控制端口不同的寄存器有不同的端口地址,即用地址訪問從廣義的角度來講,狀態信息是輸入數據信息,而控制信息是輸出數據信息,因此,狀態信息、控制信息和數據信息一起都通過數據總線來傳送。在接口電路中,這三種信息應分別進入各自對應的寄存器中,這些寄存器的地址各不相同,我們習慣上分別稱之為數據口地址、狀態口地址以及控制口地址(2)I/O接口的基本結構

主機外設數據緩沖器狀態寄存器控制寄存器總線驅動地址譯碼控制邏輯接CPU一側接外設一側DBABCB數據信息控制信息狀態信息端口接口I/O端口編址方式:存儲器映像或I/O獨立編址一個外設可能有多個端口,一個端口也可能屬于多個外設主板上的I/O地址:0~0FFH;擴展槽上的I/O地址:100~3FFH6.1.2I/O端口的編址方式

CPU對I/O接口的訪問實際上就是對接口中數據寄存器、狀態寄存器和控制寄存器的訪問。從含義上講,數據信息、狀態信息和控制信息應該分別傳送和處理;但在微機系統中,從廣義上講,狀態信息屬于輸入數據,控制信息屬于輸出數據,因此CPU與I/O接口之間各類信息的交換都是通過數據總線來進行的。在這種情況下,我們只有利用地址信號來區分各類信息,即根據CPU送出的不同地址將數據線上出現的數據與I/O接口內部的寄存器對應起來。換句話說,系統將給I/O接口中的寄存器分配地址,CPU可以通過不同的地址訪問不同的寄存器,從而完成對接口的訪問。為了方便,我們將I/O接口內的寄存器稱為端口(PORT),其地址稱為端口地址,并與存儲單元地址相區別。1.I/O接口的訪問方式⑴接口部件的I/O端口(數據端口、控制端口、狀態端口)

CPU和外設進行數據傳輸時,各類信息在接口中進入不同的寄存器,一般稱這些寄存器為I/O端口,每個端口有一個端口地址。用于對來自CPU和內存的數據或者送往CPU和內存的數據起緩沖作用的,這些端口叫數據端口。用來存放外部設備或者接口部件本身的狀態,稱為狀態端口。用來存放CPU發出的命令,以便控制接口和設備的動作,這類端口叫控制端口。如圖6-2所示。(2)接口與系統的連接

接口電路位于CPU與外設之間,從結構上看,可以把一個接口分為兩個部分:⑴用來和I/O設備相連;⑵用來和系統總線相連。這部分接口電路結構類似,連在同一總線上。圖6-3是一個典型的I/O接口和外部電路的連接圖。2.I/O端口的編址方式為了區分接口電路的各個寄存器,系統為它們各自分配了一個地址,稱為I/O端口地址,以便對它們進行尋址并與存儲器地址相區別I/O端口有兩種編址方式:存儲器映像方式、I/O獨立編址方式

(1)存儲器映像編址指I/O端口與存儲器共享一個尋址空間,又稱為統一編址。在這種系統中,CPU可以用同樣的指令對I/O端口和存儲器單元的進行訪問。優點:對I/O口的訪問靈活方便,有利于提高端口數據的處理能力。缺點:I/O端口占用了主存地址,相對減少了主存的可用范圍。(2)I/O獨立編址指主存地址空間和I/O端口地址空間相互獨立,分別編址。CPU通過指令來區分是訪問I/O口還是存儲單元。優點:主存和I/O端口的地址可用范圍都比較大;缺點:I/O指令的功能一般比較弱,在I/O操作中必須借助CPU的寄存器進行中轉。兩種編址方式內存空間I/O空間I/O空間內存空間

8086微處理器系統中I/O端口采用了獨立編址方式。為區分存儲器尋址和I/O端口尋址,8086提供了專門的I/O端口讀寫指令(IN/OUT指令)和外部控制信號(28腳)。實際上,8086CPU只允許用戶使用低16位地址線A0~A15對I/O端口尋址,即8086系統中I/O端口地址最多有64K個;而在PC系列微機中,I/O端口地址只有1K個,即PC機只使用了低10位地址線A0~A9對I/O端口尋址。6.2I/O接口數據傳送的控制方式外設的速度與CPU相比要慢好幾個數量級,且不同外設之間的速度也相差很大,為了保證數據傳輸的可靠性,CPU一定要等外設準備就緒之后才能執行輸入/輸出操作,而外設就緒的時刻對CPU而言是隨機的,因此需要同步。三種I/O同步控制方式:程序控制方式:無條件程序控制和程序查詢中斷控制方式直接存儲器存取方式,DMA方式

無條件程序控制最簡單,只需直接使用輸入/輸出指令即可。相對應用最少。程序查詢適于與速度不匹配的設備進行數據交換,但CPU必須等待外設準備好,工作效率低。中斷控制高效、實時,但要付出相對較高的硬件代價。直接存儲器存取即DMA方式。無需程序控制,因而速度最快。1.無條件程序控制(同步控制)方式一種最簡單的I/O控制方式,CPU可以隨時根據需要無條件地讀寫I/O端口外設要求:簡單,數據變化緩慢,操作時間固定,如一組開關或LED顯示管。外設被認為始終處于就緒狀態接口特點CPU的DB→I/O接口(輸出鎖存器)→外設CPU的DB←I/O接口(輸入緩沖器)←外設6.2.1程序控制方式無條件程序控制(同步控制)方式例:請用無條件傳輸方式編寫一個完整的輸入/輸出程序,將首地址為40000H的內存單元中的1K個字數據從端口Output處輸出,然后從端口Input處輸入2K的字數據到首地址為50000H的內存單元中(端口地址的實際值可自行給定)。DATA1 SEGMENTAT4000HBUFFER1DW …… ;已存放好1K個字數據DATA1 ENDSDATA2 SEGMENTAT5000HBUFFER2DW2048DUP(?) ;預留2K個字單元存放讀入的數據DATA2 ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA1,ES:DATA2START:MOV AX,DATA1 MOV DS,AX MOV AX,DATA2 MOV ES,AX程序如下:

LEASI,BUFFER1 ;SI指向準備發送的第1個數據LEADI,BUFFER2 ;DI指向第1個準備存放接受數據的單元CLD ;地址增量方向MOVCX,1024 ;發送數據總個數MOVDX,OUTPUT ;設OUTPUT為字輸出端口地址AGAIN1: LODSW ;將DS:SI所指數據取出準備發送,并修改SI值OUTDX,AXLOOPAGAIN1MOVCX,2048 ;接收數據總個數MOVDX,INPUT ;設INPUT為字輸入端口地址AGAIN2:INAX,DXSTOWS ;將輸入數據存在ES:DI所指單元,并修改DI值LOOP AGAIN2MOV AH,4CH ;返回INT 21HCODE ENDSENDSTART2.程序查詢輸入/輸出方式接口特點:避免了對端口的“盲讀”、“盲寫”,數據傳送的可靠性高,并且硬件接口相對簡單。缺點是CPU工作效率低,I/O響應速度慢;外設要求:應具有必要的聯絡(握手)信號如READY、ACK等;在有多個外設的系統中,CPU的查詢順序由外設的優先級確定。一種CPU主動、外設被動的I/O操作方式,很好地解決了CPU與外設之間的同步問題。程序查詢輸入方式查詢式(條件式)程序控制方式的核心思想是:在執行I/O操作之前,CPU總是要先查詢外設的工作狀態,以確定是否可以進行數據傳輸;當傳輸條件滿足時,CPU對I/O端口進行讀寫,否則CPU等待直到條件滿足。一般來說,完成查詢(條件)控制的軟件流程如下所述:(1)CPU向接口發命令,要求進行數據傳輸;(2)CPU從狀態端口讀取狀態字,并根據約定的狀態字格式判斷外設是否已就緒;(3)若外設未準備好,重復步驟(2),直至就緒;(4)CPU執行輸入/輸出指令,讀/寫數據端口;(5)使狀態字復位,為下次數據傳輸做好準備;可見,采用查詢式(條件式)程序控制方式的接口電路除了具備數據端口之外,還應該具備狀態端口,輸入操作的程序流程如圖所示。程序查詢輸入方式數據緩沖器(輸入端口)狀態緩沖器(輸入端口)鎖存器輸入設備數據端口讀選通狀態端口讀選通輸入選通輸入數據RQD+5VDB(數據、狀態)READYD0①②③④⑤數據端口(8位)狀態端口(1位)READY輸入狀態信息READY?輸入數據信息YN狀態信息占用數據線的D0位,查詢程序如下:QUERY:INAL,S_PORT;狀態口地址

SARAL,1

JNCQUERY

INAL,D_PORT;D_PORT是數據口地址查詢輸入程序例:假設從某輸入設備上輸入一組數據送緩沖區,接口電路如上圖,若緩沖區已滿則輸出一組信息“BUFFEROVERFLOW”,然后結束。設該設備的啟動地址為0FCH,數據端口為0F8H,狀態端口為0FAH。程序如下:DATASEGMENTMESS1DB‘BUFFEROVERFLOW’

,‘

$’

BUFFDB60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETBUFF

;送緩沖區指針

MOVCX,60

;送計數初值

OUT0FCH,AL

;啟動設備

WAIT:INAL,0FAH;查詢狀態,若為0,則等待

TEST AL,01HJZWAITINAL,0F8H;輸入數據

MOV [BX],ALINCBXLOOPWAIT;檢測緩沖區是否滿,不滿再輸入

MOVDX,OFFSETMESS1;緩沖區滿,輸出標志字符串

MOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART程序查詢輸出方式

總的來說,查詢式(條件式)程序控制方式是一種CPU主動、外設被動的I/O操作方式。這種控制方式很好地解決了CPU與外設之間的同步問題,不再象同步式(無條件式)程序控制方式那樣對端口進行“盲讀”、“盲寫”,數據傳送可靠性高,且硬件接口相對簡單對READY的狀態查詢,是通過讀狀態端口的相應位來實現的,輸出的情況亦大致相同,這種傳送控制方式的最大優點是,能夠保證輸入/輸出數據的正確性;但它的缺點是CPU工作效率較低,I/O響應速度慢。程序查詢輸出方式數據鎖存器(輸出端口)狀態緩沖器(輸入端口)輸出設備輸出選通RQD+5VDB(數據、狀態)BUSY(1bit)①④ACK③狀態端口讀選通數據端口寫選通②⑤⑥數據端口(8位)狀態端口(1位)BUSY輸入狀態信息BUSY?輸出數據信息NYQUERY:INAL,S_PORT;狀態口地址

SARAL,1

JCQUERY

OUTD_PORT,AL;D_PORT數據口地址查詢輸出程序3.優先級問題

當CPU需對多個設備進行查詢時,就出現了所謂的優先級問題,即究竟先為哪個設備服務,一般來講,在這種情況下都是采用輪流查詢的方式來解決,如圖所示。這時的優先級是很明顯的,即先查詢的設備具有較高的優先級。但這種優先級管理方式,也存在著一個問題,即某設備的優先級是變化的,如當為設備B服務以后,這時即使A已準備好,它也不理睬,而是繼續查詢C,也就是說A的優先地位并不鞏固(即不能保證隨時處于優先)。為了保證A隨時具有較高的優先級,可采用加標志的方法,當CPU為B服務完以后,先查詢A是否準備好,若此時發現A已準備好,立即轉向對A的查詢服務,而不是為C設備服務。查詢式8路模擬數據采集系統D0D1D2324A/D轉換器DB多路開關數據端口讀選通1路模擬量狀態端口讀選通控制端口讀選通READYSTARTD0CPU…8路模擬量輸入A0A7D3D7

~D0D3

~D0DATA查詢式8路模擬數據采集系統DSTORDB8DUP(?)START:MOVDI,OFFSETDSTOR;取輸入數據緩沖區的偏移地址

MOVCX,8

;一共要采集8次(路)數據

MOVDL,0F8H ;DL=需要送出的控制字AGAIN:MOVAL,DL

ANDAL,0F7H ;令D3(START)=0,停止A/D轉換

OUT4,AL CALLDELAY ;等待ADC停止工作

MOVAL,DL OUT4,AL ;送出控制字,選擇模擬量A0,啟動A/DPOLL:INAL,2

;輸入狀態信息

SHRAL,1

;D0->CF

JNCPOLL

;若ADC未READY,程序循環等待 INAL,3 ;否則,輸入數據

STOSB ;將數據存入DI所指的緩沖區 INCDL ;準備選擇下一路模擬輸入 LOOPAGAIN6.2.2中斷控制方式接口特點:避免了CPU反復低效率的查詢,適用于CPU任務繁忙、而數據傳送不太頻繁的系統中。缺點是硬件電路和處理過程都比較復雜;(中斷控制芯片)外設要求:應具有必要的聯絡(握手)信號如READY等;CPU被動而外設主動的I/O操作方式,較大地提高了CPU的工作效率,并使系統具有了實時處理功能

中斷傳送方式:即當CPU進行主程序操作時,外設的數據已存入輸入端口的數據寄存器;或端口的數據輸出寄存器已空,由外設通過接口電路向CPU發出中斷請求信號,CPU在滿足一定的條件下,暫停執行當前正在執行的主程序,轉入執行相應能夠進行輸入/輸出操作的子程序,待輸入/輸出操作執行完畢之后CPU即返回繼續執行原來被中斷的主程序。這樣CPU就避免了把大量時間耗費在等待、查詢狀態信號的操作上,使其工作效率得以大大地提高。

能夠向CPU發出中斷請求的設備或事件稱為中斷源。微機系統引入中斷機制后,使CPU與外設(甚至多個外設)處于并行工作狀態,便于實現信息的實時處理和系統的故障處理。中斷請求觸發器QRD數據緩沖端口譯碼端口譯碼控制端口中斷屏蔽觸發器QD+5VWR外設READYDBABDBINTRINTA中斷可被響應的條件:中斷請求觸發器置位;中斷屏蔽觸發器清零;CPU內部開放中斷;CPU未處理更高級中斷;CPU現行指令執行完;

中斷工作過程外設需要CPU服務時外設→I/O接口→CPU發中斷請求,INTR=H(中斷請求有效)CPU執行完當前指令后,(注:若IF=1)CPU→I/O接口→外設發中斷響應,INTA=LCPU執行中斷服務程序,CPU←→I/O接口←→外設讀寫數據中斷控制方式中的信息中斷請求(狀態信息)

輸入設備準備好數據輸出設備準備接收數據中斷響應(控制信息)

外設可以進入數據傳送中斷服務(數據信息)

CPU與外設讀寫數據中斷優先級當系統中有多個設備提出中斷請求時,就有一個該響應誰的問題,也就是一個優先級的問題,解決優先級的問題一般可有三種方法:軟件查詢法、簡單硬件方法及專用硬件方法。

(1)軟件查詢法只需有簡單的硬件電路,如將A、B、C三臺設備的中斷請求信號“或”后作為系統INTR,這時,A、B、C三臺設備中只要至少有一臺設備提出中斷請求,都可以向CPU發中斷請求。進入中斷服務子程序后,再用軟件查詢的方式分別對不同的設備的服務,查詢程序的設計思想同查詢式,查詢的前后順序就給出了設備的優先級,框圖如圖所示。中斷優先級(2)簡單硬件方法以鏈式中斷優先權排隊電路為例。基本設計思想:將所有的設備連成一條鏈,靠近CPU的設備優先級最高,越遠的設備優先級別越低,則發出中斷響應信號,若級別高的設備發出了中斷請求,在它接到中斷響應信號的同時,封鎖其后的較低級設備使得它們的中斷請求不能響應,只有等它的中斷服務結束以后才開放,允許為低級的設備服務。如圖所示。中斷優先級采用可編程的中斷控制器芯片,如Intel8259A。(3)專用硬件方式中斷服務子程序(第7章講)6.3簡單的I/O接口芯片應用6.3.1常用芯片功能介紹1.單向三態緩沖器74LS244

74LS244緩沖器主要用于三態輸出的地址驅動器、時鐘驅動器、總線定向接收器和定向發送器等。

74LS244是一個典型的三態輸出的8緩沖器。由于三態門具有“通斷”控制能力,所以可用作輸入接口。利用三態門作為輸入信號接口時,要求信號的狀態是能夠保持的。這是因為三態門本身沒有對信號的保持或鎖存能力。2.鎖存器接口芯片(1)鎖存器74LS273由于三態門器件沒有數據的保持能力,所以它一般只用作輸入接口,不能直接用作數據輸出接口。數據輸出接口通常是用具有信息存儲能力的雙穩態觸發器來實現。(2)三態輸出鎖存器74LS374從引線上可以看出,它比74LS273多了一個輸出允許OE端。只有當OE=0時74LS374的輸出三態門才導通。當OE=1時,則呈高阻狀態。6.3.2簡單的I/O接口設計應用

如果希望完成如下任務:當開關接通時,CPU執行程序段ON;當開關斷開時,CPU執行程序段OFF。下述指令的執行可以完成該任務:

MOVDX,0FFF7HINAL,DXANDAL,01HJZON

JMPOFF

鎖存器作為輸出接口,其外設地址為0000H。當CPU執行如下指令時,即可將圖中兩個發光二極管點亮。MOVAL,81HMOVDX,0000HOUTDX,AL而CPU執行下述指令可以使兩個發光二極管不發亮。

MOVDX,0000HMOVAL,00HOUTDX,AL當執行OUT指令時,CP端會有負脈沖產生,這就可以將數據線上的81H鎖存在輸出端,從而點亮發光二極管。

三態門74LS244作為輸入接口,其I/O地址采用了部分地址譯碼——地址A1和A0未參加譯碼,所以它所占用的地址為FF00H~FF04H。可以使用其中任何一個線地址,而其他重疊的3個地址空著不用。用一片74LS244芯片作為輸入接口最多可以連接8個開關或其他具有信號保持能力的外設。當然也可只接一個外設而讓其他端懸空(如圖6-21所示),所以對空著未用的端,其對應位的數據是任意值,在程序中常用邏輯“與”指令將其屏蔽掉。如果有更多的開關狀態(或其他外設)需要輸入時,可用類似的方法用兩片或更多的芯片并聯使用。

利用程序可以判斷任何一個開關的狀態。例如,當K6閉合時,程序轉向CLOSK6;而當它打開時程序轉向OPENK6。這段程序如下:START:MOVDX,0FF00HINAL,DXANDAL,60HJZCLOSK6JMPOPENK6由圖可以看到,數據輸出口和狀態輸入口共用一個地址00FFH。前者是只寫的,而后者是只讀的。現欲將56000H為首地址的順序100單元的數據,利用查詢方式輸出到此外設。其程序可簡寫如下:START:MOVAX,5000HMOVDS,AXMOVSI,6000HMOVCX,100GOON:MOVDX,00FFHWAIT:INAL,DXANDAL,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論