正文 第七章 輸入_輸出接口電路(二)(1 / 3)

7.2-4 PIO 應用舉例

【例1】用Z80的作為與行式打印機的接口,打印機與口采用程序中斷方式傳送數據。設定為輸出方式,通過指令,將送到打印機的數據先送入。當數據準備好,變為高電平(有效),通知打印機。如果這時打印機不“忙”,就發來信號,將總線上數據送入打印機數據緩衝器,而利用後沿(上升沿)引起中斷申請。響應中斷,轉去執行中斷服務程序,再完成一次信息傳送。如此周而複始,直到緩衝區的數據送完止,封鎖中斷,停止數據的傳送。

假定:數據暫存區的首地址,輸出的字節數為16個。口的主程序是一個字符表演程序,字符“V”在顯示器上有規律地從右向左循環移動,中斷地址表指針是過,中斷服務程序入口地址。

程序的第10~100條指令是初始化程序10、20、30、40程序段是設定中斷矢量為50、60程序段是設定10為輸出方式工作;70、80程序段是設定允許10中斷請求;90、100程序段是設定;以方式2響應中斷,並開放口中斷,110至140程序段是完成輸出數據初始化,並向打印機輸出第一個數據;當執行第140條指令001,入指令後,就進入方式0輸出周期。

隨著記訪電平,變為無效(高電平)後的一個時鍾的下降沿,使線變為高電平,通知外部設備,如通知打印機已有數據可供輸出。數據打入打印機緩衝器,而的後沿(上升沿)自動產生中斷請求胃(有效、變為低電平)。在上升沿之後的一個時鍾辦周期的下降沿使變為低電平。這就完成了一次數據輸出。此後,如果口響應發出的中斷請求,將中斷矢量的低字節送出,與中矢量寄存器中的高字節組成一個完整的中斷矢量,找到中斷服務程序入口地址,程序計數器,接著執行中斷服務程掙在服務程序中,此後的過程和時序就和一樣了。從時序圖和程序流程圖中,可見與外部設備傳送的第一個數據是在主程序實現的,而其餘數據傳送是在中斷控製下實現的。盡管傳送周期很長,但它占用的時間很短,幾乎不大影響口執行主程序顯示字符移動。

【例2】用的來作為紙帶輸入機的接口。本例是用程序中斷方式將紙帶機送來的信息讀入再存入區。信息輸入過程:用有效(高電平)去啟動紙帶機,紙帶機數據緩衝器輸出接到的數據線而紙帶機的中導孔的信息接選通線。當紙帶機的信息進入緩衝器,中導孔信息到達,停止走紙,線出現負脈衝,它的前沿將緩衝器內的占息寫入口,它的後沿發出中斷求。

當響應中斷後,轉去執行紙帶機中斷服務程序。在服務程序中設置輸入程序段,將讀入的信息存入,再次有效,啟動紙帶機送入第二排孔信息,由中斷服務程序返回。當信息傳送完畢,禁止申請中斷。

為了說明主程序和服務程序的關係,假定主程序是使兩個字符在由左向右循環移動。

第130條指令是用來啟動紙帶機的。因為指令執行後,即變高電平作為啟動紙帶機的控製信號。同樣第250條指令也是作為啟動信號,但它另一功能是讀入數據,這是與第130條不同之點。

程序的第140~220條指令,是兩個中斷服務前,一直忙於處理“主”事務,斷返回,又重新回來執行這一程序段。

變為高電平,說明入口數據寄存器已準備好,可以接受外部設備送來的信息了。若這時外部設備也準備好,發來選通脈衝,將外部設備送到入口數據線。的信息打入數據輸入寄存器;的上升沿(後沿)使胃變為低電平(有效),緊接著時鍾的下降沿變為低電平(無效)。這裏附帶說明一點:隻有當中斷允許觸發器已被置位時,且處於中斷鏈優先權級別較高,即沒被禁止(高電平),或中斷服務已返回。這些條件都具備了,的後沿才使變為低電平。當然,條件不成立,的信號是發不出的,隻能作為中斷申請掛號。在條件成立時,才使有效信號發出。詳細邏輯關係。

當變為低電平(無效)後,表示數據輸入寄存器已裝入數據,禁止再送入新的數據(防止數據衝突)。

響應中斷請求,轉入中斷服務程序,在服務程序中執行入,指令,進入1/0讀周期,從讀入數據,在上升後第一個的下降沿使變為高電平,運示數據輸入寄存器已空,允許外部設備裝入新的數據。

【例3】本例是假設以Z80微型機為中心的一個工業控製係統,有三個控製點是:接通電源,冷卻水係統和加溫裝置等三個執行機構。凡掉電、斷水或溫升超出規定範圍等三種情況中有一種出現,都將發出告警信號(燈和鈴響),同時使現工作係統停止工作,延時2秒鍾後,起動另一備用係統投入工作。

設定為輸出口,控製告箬係統,使燈亮鈴響,延時2秒鍾,使7變為高電平,表示起動備用係統投入工作。

7.3 Z80-CTC 計數器/定時器芯片

7.3-1 概述

Z80是一種具有計數器和定時器功能的可編程序的器件。根據係統時鍾頻率不同,目前市場上有三種。每一個芯片都有四個功能相似的獨立的通道。它的主要性能如下:

(1)每一信道都可以由程序設定為計數器或定時器方式工作。設定為計數器方式工作時,它能對外部觸發脈衝進行計數,當達到程序規定的數值時,輸出一正脈衝,並可由程序設定是否需要發出中斷請求信號。同樣,設定為定時器方式工作時,當到達程序設定的時間,它也和工作在計數器方式時一樣,發出一時間到的正脈衝,也可由程序設定是否發出中斷請求信號。

(2)0、1和2通道,不管工作在計數器方式或定時器方式,當到達程序設定的數值時,產生的正脈衝輸出可以驅動複合晶體管。

當工作在定時器方式時,可以由程序設定是由外部觸發脈衝啟動工作,或由程序裝入時間常數後自動啟動。當選定為由外部觸發脈衝啟動時,此觸發脈衝也可由程序設定為脈衝的上升沿或下降沿。

所有的輸出和輸入信號邏輯電平均與電平兼容。

本身具有鏈形優先中斷邏輯,不需要外加硬件電路就可以形成中斷排隊。