![第9章 并行接口及定時(shí)計(jì)數(shù)技術(shù)(1)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/23/e721189f-1b23-4a21-b27e-39593555f14f/e721189f-1b23-4a21-b27e-39593555f14f1.gif)
![第9章 并行接口及定時(shí)計(jì)數(shù)技術(shù)(1)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/23/e721189f-1b23-4a21-b27e-39593555f14f/e721189f-1b23-4a21-b27e-39593555f14f2.gif)
![第9章 并行接口及定時(shí)計(jì)數(shù)技術(shù)(1)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/23/e721189f-1b23-4a21-b27e-39593555f14f/e721189f-1b23-4a21-b27e-39593555f14f3.gif)
![第9章 并行接口及定時(shí)計(jì)數(shù)技術(shù)(1)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/23/e721189f-1b23-4a21-b27e-39593555f14f/e721189f-1b23-4a21-b27e-39593555f14f4.gif)
![第9章 并行接口及定時(shí)計(jì)數(shù)技術(shù)(1)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/23/e721189f-1b23-4a21-b27e-39593555f14f/e721189f-1b23-4a21-b27e-39593555f14f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2021-6-231 第9章 并行接口及定時(shí)/計(jì)數(shù)技術(shù) 2 主要內(nèi)容 n并行通信與并行接口 n可編程并行通信接口芯片8255A n可編程定時(shí)/計(jì)數(shù)器8253 3 9.1 并行通信與并行接口 把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)行傳輸,傳輸速把一個(gè)字符的各數(shù)位用幾條線同時(shí)進(jìn)行傳輸,傳輸速 度快,信息率高。但它比串行通信所用的電纜多,因度快,信息率高。但它比串行通信所用的電纜多,因 此,并行通信常用在傳輸距離較短此,并行通信常用在傳輸距離較短(幾米至幾十米幾米至幾十米)和數(shù)和數(shù) 據(jù)傳輸率較高的場(chǎng)合。據(jù)傳輸率較高的場(chǎng)合。 n并行通信 n并行接口 實(shí)現(xiàn)并行通信的接口就是并行接口。實(shí)現(xiàn)并行通信的接口就是并行
2、接口。 4 典型的并行接口和外部設(shè)備連接典型的并行接口和外部設(shè)備連接: 并行接口的輸入過程并行接口的輸入過程 并行接口的輸出過程并行接口的輸出過程 5 并行接口的輸入過程:并行接口的輸入過程: 外部設(shè)備首先將數(shù)據(jù)送給接口,并使?fàn)顟B(tài)線外部設(shè)備首先將數(shù)據(jù)送給接口,并使?fàn)顟B(tài)線“數(shù)據(jù)數(shù)據(jù) 輸入準(zhǔn)備好輸入準(zhǔn)備好”成為高電平。接口把數(shù)據(jù)接收到數(shù)據(jù)輸入成為高電平。接口把數(shù)據(jù)接收到數(shù)據(jù)輸入 緩沖寄存器的同時(shí),使緩沖寄存器的同時(shí),使“數(shù)據(jù)輸入回答數(shù)據(jù)輸入回答”線變?yōu)楦唠娖?,線變?yōu)楦唠娖剑?作為對(duì)外部設(shè)備的響應(yīng)。外部設(shè)備接到此信號(hào),便撤除作為對(duì)外部設(shè)備的響應(yīng)。外部設(shè)備接到此信號(hào),便撤除 數(shù)據(jù)和數(shù)據(jù)和“數(shù)據(jù)輸入準(zhǔn)備
3、好數(shù)據(jù)輸入準(zhǔn)備好”信號(hào)。數(shù)據(jù)到達(dá)接口中后,信號(hào)。數(shù)據(jù)到達(dá)接口中后, 接口會(huì)在狀態(tài)寄存器中設(shè)置接口會(huì)在狀態(tài)寄存器中設(shè)置“輸入準(zhǔn)備好輸入準(zhǔn)備好”狀態(tài)位,以狀態(tài)位,以 便便CPUCPU對(duì)其進(jìn)行查詢,接口也可以在此時(shí)向?qū)ζ溥M(jìn)行查詢,接口也可以在此時(shí)向CPUCPU發(fā)一個(gè)中發(fā)一個(gè)中 斷請(qǐng)求。所以,斷請(qǐng)求。所以,CPUCPU既可以用軟件查詢方式,也可以用中既可以用軟件查詢方式,也可以用中 斷方式來設(shè)法讀取接口中的數(shù)據(jù)。斷方式來設(shè)法讀取接口中的數(shù)據(jù)。CPUCPU從并行接口中讀取從并行接口中讀取 數(shù)據(jù)后,接口會(huì)自動(dòng)清除狀態(tài)寄存器中的數(shù)據(jù)后,接口會(huì)自動(dòng)清除狀態(tài)寄存器中的“輸入準(zhǔn)備好輸入準(zhǔn)備好” 狀態(tài)位,并且使數(shù)據(jù)
4、總線處于高阻狀態(tài)。此后,又可以狀態(tài)位,并且使數(shù)據(jù)總線處于高阻狀態(tài)。此后,又可以 開始下一個(gè)輸入過程。開始下一個(gè)輸入過程。 6 并行接口的輸出過程:并行接口的輸出過程: 每當(dāng)外部設(shè)備從接口取走一個(gè)數(shù)據(jù)之后,接口就會(huì)每當(dāng)外部設(shè)備從接口取走一個(gè)數(shù)據(jù)之后,接口就會(huì) 將狀態(tài)寄存器中的將狀態(tài)寄存器中的“輸出準(zhǔn)備好輸出準(zhǔn)備好”狀態(tài)位置狀態(tài)位置“1”1”,以表,以表 示示CPUCPU當(dāng)前可以往接口中輸出數(shù)據(jù),這個(gè)狀態(tài)位可供當(dāng)前可以往接口中輸出數(shù)據(jù),這個(gè)狀態(tài)位可供CPUCPU 進(jìn)行查詢。此時(shí),接口也可以向進(jìn)行查詢。此時(shí),接口也可以向CPUCPU發(fā)一個(gè)中斷請(qǐng)求。所發(fā)一個(gè)中斷請(qǐng)求。所 以,以,CPUCPU既可以用軟
5、件查詢方式,也可以用中斷方式設(shè)法既可以用軟件查詢方式,也可以用中斷方式設(shè)法 往接口中輸出一個(gè)數(shù)據(jù)。當(dāng)往接口中輸出一個(gè)數(shù)據(jù)。當(dāng)CPUCPU輸出的數(shù)據(jù)到達(dá)接口的輸輸出的數(shù)據(jù)到達(dá)接口的輸 出緩沖寄存器中后,接口會(huì)自動(dòng)清除出緩沖寄存器中后,接口會(huì)自動(dòng)清除“輸出準(zhǔn)備好輸出準(zhǔn)備好”狀狀 態(tài)位,并且將數(shù)據(jù)送往外部設(shè)備,同時(shí),接口往外部設(shè)態(tài)位,并且將數(shù)據(jù)送往外部設(shè)備,同時(shí),接口往外部設(shè) 備發(fā)送一個(gè)備發(fā)送一個(gè)“驅(qū)動(dòng)信號(hào)驅(qū)動(dòng)信號(hào)”來啟動(dòng)外部設(shè)備接收數(shù)據(jù)。外來啟動(dòng)外部設(shè)備接收數(shù)據(jù)。外 部設(shè)備被啟動(dòng)后,開始接收數(shù)據(jù),并往接口發(fā)一個(gè)部設(shè)備被啟動(dòng)后,開始接收數(shù)據(jù),并往接口發(fā)一個(gè)“數(shù)數(shù) 據(jù)輸出回答據(jù)輸出回答”信號(hào)。接口收到
6、此信號(hào),便將狀態(tài)寄存器信號(hào)。接口收到此信號(hào),便將狀態(tài)寄存器 中的中的“輸出準(zhǔn)備好輸出準(zhǔn)備好”狀態(tài)位重新置狀態(tài)位重新置“1”1”,以便,以便CPUCPU輸出輸出 下一個(gè)數(shù)據(jù)。下一個(gè)數(shù)據(jù)。 7 9.2 可編程并行通信接口芯片8255A n8255A是是Intel86系列微處理機(jī)的配套并行接系列微處理機(jī)的配套并行接 口芯片,它可為口芯片,它可為86系列系列CPU與外部設(shè)備之間提與外部設(shè)備之間提 供并行輸入供并行輸入/輸出的通道。輸出的通道。 n可編程的可編程的 n可以通過軟件來設(shè)置芯片的工作方式,所以,用可以通過軟件來設(shè)置芯片的工作方式,所以,用 8255A連接外部設(shè)備時(shí),通常不用再附加外部電路,連
7、接外部設(shè)備時(shí),通常不用再附加外部電路, 給使用者帶來很大方便。給使用者帶來很大方便。 8 8255A芯片內(nèi)部結(jié)構(gòu)及其功能 數(shù)據(jù)數(shù)據(jù) 總線總線 緩沖器緩沖器 內(nèi)部控制線內(nèi)部控制線 內(nèi)部數(shù)據(jù)線內(nèi)部數(shù)據(jù)線 D0D7 A組組 控制控制 A組組 端口端口A A組組 端口端口C 上部上部 B組組 控制控制 B組組 端口端口B B組組 端口端口C 下部下部 讀寫讀寫 控制控制 邏輯邏輯 PC0PC3 PB0PB7 PC4PC7 PA0PA7 RD WR A0 A1 CS RESET 9 10 1. 并行輸入并行輸入/輸出端口輸出端口A,B,C n8255A芯片內(nèi)部包含芯片內(nèi)部包含3個(gè)個(gè)8位端口,其中:位端口
8、,其中: 端口端口A包含一個(gè)包含一個(gè)8位數(shù)據(jù)輸出鎖存位數(shù)據(jù)輸出鎖存/緩沖存儲(chǔ)器和一個(gè)緩沖存儲(chǔ)器和一個(gè)8 位數(shù)據(jù)輸入鎖存器位數(shù)據(jù)輸入鎖存器 端口端口B包含一個(gè)包含一個(gè)8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出、鎖存輸出、鎖存/緩沖存儲(chǔ)器和緩沖存儲(chǔ)器和 一個(gè)一個(gè)8位數(shù)據(jù)輸入緩沖存儲(chǔ)器;位數(shù)據(jù)輸入緩沖存儲(chǔ)器; 端口端口C包含一個(gè)輸出鎖存包含一個(gè)輸出鎖存/緩沖存儲(chǔ)器和一個(gè)輸入緩沖存緩沖存儲(chǔ)器和一個(gè)輸入緩沖存 儲(chǔ)器。儲(chǔ)器。 必要時(shí)端口必要時(shí)端口C可分成兩個(gè)可分成兩個(gè)4位端口,分別與端口位端口,分別與端口A和端口和端口B配配 合工作,通常將端口合工作,通常將端口A和端口和端口B定義為輸入定義為輸入/輸出的數(shù)據(jù)端輸出的數(shù)
9、據(jù)端 口,而端口口,而端口C可作為狀態(tài)或控制信息的傳送端口??勺鳛闋顟B(tài)或控制信息的傳送端口。 11 2. A組和組和B組控制部件組控制部件 nA組和組和B組各有一個(gè)控制單元,可接收來自讀組各有一個(gè)控制單元,可接收來自讀/寫控制部件的命令寫控制部件的命令 和和CPU通過數(shù)據(jù)總線通過數(shù)據(jù)總線(D7D0)送來的控制字,并根據(jù)它們來定送來的控制字,并根據(jù)它們來定 義各個(gè)端口的操作方式。義各個(gè)端口的操作方式。 n端口端口A與端口與端口C的高的高4位位(PC7PC4)構(gòu)成構(gòu)成A組,由組,由A組控制部件組控制部件 實(shí)現(xiàn)控制功能實(shí)現(xiàn)控制功能 n端口端口B與端口與端口C的低的低4位位(PC3PC0)構(gòu)成構(gòu)成B組
10、,由組,由B組控制部組控制部 件實(shí)現(xiàn)控制功能件實(shí)現(xiàn)控制功能 3. 數(shù)據(jù)總線緩沖存儲(chǔ)器數(shù)據(jù)總線緩沖存儲(chǔ)器 n這是一個(gè)三態(tài)雙向這是一個(gè)三態(tài)雙向8位數(shù)據(jù)緩沖存儲(chǔ)器,它是位數(shù)據(jù)緩沖存儲(chǔ)器,它是8255A與與 8086CPU之間的數(shù)據(jù)接口。之間的數(shù)據(jù)接口。CPU執(zhí)行輸出指令時(shí),可將控制執(zhí)行輸出指令時(shí),可將控制 字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖存儲(chǔ)器傳送給字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖存儲(chǔ)器傳送給8255A。CPU執(zhí)行執(zhí)行 輸入指令時(shí),輸入指令時(shí),8255A可將狀態(tài)信息或數(shù)據(jù)通過總線緩沖存儲(chǔ)可將狀態(tài)信息或數(shù)據(jù)通過總線緩沖存儲(chǔ) 器向器向CPU輸入。輸入。 12 4. 讀讀/寫控制部件寫控制部件 n這是這是8255A內(nèi)部完
11、成讀內(nèi)部完成讀/寫控制功能的部件,它能接收寫控制功能的部件,它能接收 CPU的控制命令,并根據(jù)它們向片內(nèi)各功能部件發(fā)出的控制命令,并根據(jù)它們向片內(nèi)各功能部件發(fā)出 操作命令??山邮盏目刂泼钊缦拢翰僮髅???山邮盏目刂泼钊缦拢?(1) CS片選信號(hào)片選信號(hào)。由。由CPU輸入,通常由端口的高輸入,通常由端口的高 位地址碼位地址碼(A15A2)譯碼得到,譯碼得到,CS有效,表示該有效,表示該 8255A被選中。被選中。 (2) RD,WR讀、寫控制信號(hào)讀、寫控制信號(hào)。由。由CPU輸入,輸入, RD有效,表示有效,表示CPU讀讀8255A,應(yīng)由,應(yīng)由8255A向向CPU傳傳 送數(shù)據(jù)或狀態(tài)信息。送數(shù)據(jù)
12、或狀態(tài)信息。WR有效,表示有效,表示CPU寫寫8255A, 應(yīng)由應(yīng)由CPU將控制字或數(shù)據(jù)寫入將控制字或數(shù)據(jù)寫入8255A。 13 (3) RESET復(fù)位信號(hào)復(fù)位信號(hào)。由由CPU輸入。輸入。RESET有效時(shí),有效時(shí), 清除清除8255A中所有控制字寄存器內(nèi)容,并將各端口置中所有控制字寄存器內(nèi)容,并將各端口置 成輸入方式。成輸入方式。 (4) A1和和A0端口選擇信號(hào)端口選擇信號(hào)。 當(dāng)當(dāng)A1A000,選擇端口,選擇端口A; 當(dāng)當(dāng)A1A001,選擇端口,選擇端口B; 當(dāng)當(dāng)A1A010,選擇端口,選擇端口C; 當(dāng)當(dāng)A1A011,選擇控制字寄存器。,選擇控制字寄存器。 14 與處理器接口 CS* A1
13、A0I/O地址讀操作RD*寫操作WR* 0 0 0 0 0 1 0 1 0 0 1 1 60H 61H 62H 63H 讀端口A 讀端口B 讀端口C 非法 寫端口A 寫端口B 寫端口C 寫控制字 15 8255A芯片的控制字及其工作方式芯片的控制字及其工作方式 n8255A中各端口可有中各端口可有3種基本工作方式:種基本工作方式: n方式方式0:基本輸入輸出方式基本輸入輸出方式 n適用于無條件傳送和查詢方式的接口電路適用于無條件傳送和查詢方式的接口電路 n方式方式1:選通輸入輸出方式選通輸入輸出方式 n適用于查詢和中斷方式的接口電路適用于查詢和中斷方式的接口電路 n方式方式2:雙向選通傳送方式
14、雙向選通傳送方式 n適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于與雙向傳送數(shù)據(jù)的外設(shè) n適用于查詢和中斷方式的接口電路適用于查詢和中斷方式的接口電路 n端口端口A A可處于可處于3 3種工作方式種工作方式( (方式方式0 0,方式,方式1 1和方式和方式2)2) n端口端口B B只可處于兩種方式只可處于兩種方式( (方式方式0 0和方式和方式1)1) n端口端口C C常常被分成高常常被分成高4 4位和低位和低4 4位兩部分,可分別用來傳位兩部分,可分別用來傳 送數(shù)據(jù)或控制信息送數(shù)據(jù)或控制信息. . n用戶可用軟件來分別定義用戶可用軟件來分別定義3 3個(gè)端口的工作方式,可使用個(gè)端口的工作方式,可使用 的控制
15、字有定義的控制字有定義工作方式控制字工作方式控制字和和置位置位/ /復(fù)位控制字復(fù)位控制字。 16 控制字控制字 n(1) 定義工作方式控制字:定義工作方式控制字: 通過定義工作方式控制字可將通過定義工作方式控制字可將3 個(gè)端口分別定義為個(gè)端口分別定義為3種不同方式的組合,當(dāng)將端口種不同方式的組合,當(dāng)將端口A定義為方式定義為方式1 或方式或方式2或?qū)⒍丝诨驅(qū)⒍丝贐定義為方式定義為方式1時(shí),要求使用端口時(shí),要求使用端口C的某些位作控的某些位作控 制用,這時(shí)需要使用一個(gè)專門的置位制用,這時(shí)需要使用一個(gè)專門的置位/復(fù)位控制字來對(duì)控制端口復(fù)位控制字來對(duì)控制端口C 的各位分別進(jìn)行置位的各位分別進(jìn)行置位/復(fù)
16、位操作。復(fù)位操作。 17 n(2) 置位置位/復(fù)位控制字復(fù)位控制字: 只對(duì)端口只對(duì)端口C有效,其使用格式如下有效,其使用格式如下 圖所示圖所示 18 工作方式工作方式0 n這是這是8255A中各端口的基本輸入中各端口的基本輸入/輸出方式。它只完成輸出方式。它只完成 簡(jiǎn)單的并行輸入簡(jiǎn)單的并行輸入/輸出操作,輸出操作,CPU可從指定端口輸入信息,可從指定端口輸入信息, 也可向指定端口輸出信息。也可向指定端口輸出信息。 19 方式1輸入引腳:A端口 數(shù)據(jù)選通信號(hào) 表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù) 輸入緩沖器滿信號(hào) 表示A口已經(jīng)接收數(shù)據(jù) 中斷請(qǐng)求信號(hào) 請(qǐng)求CPU接收數(shù)據(jù) PC4 PC5 PC3 PA7PA0 I
17、NTEA IBFA INTRA STBA 中斷允許觸發(fā)器 PC6、7 2 I/O 20 方式1輸入引腳:B端口 PC2 PC1 PC0 PB7PB0 INTEB IBFB INTRB STBB 數(shù)據(jù)選通信號(hào) 表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù) 輸入緩沖器滿信號(hào) 表示B口已經(jīng)接收數(shù)據(jù) 中斷請(qǐng)求信號(hào) 請(qǐng)求CPU接收數(shù)據(jù) 中斷允許觸發(fā)器 方式方式1 1需借用端口需借用端口C C用做聯(lián)絡(luò)信號(hào)用做聯(lián)絡(luò)信號(hào) 同時(shí)還具有中斷請(qǐng)求和屏蔽功能同時(shí)還具有中斷請(qǐng)求和屏蔽功能 21 方式1輸入聯(lián)絡(luò)信號(hào) nSTB*選通信號(hào),低電平有效 n由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備 送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器 nIBF
18、輸入緩沖器滿信號(hào),高電平有效 n8255A輸出的聯(lián)絡(luò)信號(hào)。當(dāng)其有效時(shí),表示數(shù)據(jù)已 鎖存在輸入鎖存器 nINTR中斷請(qǐng)求信號(hào),高電平有效 n8255A輸出的信號(hào),可用于向CPU提出中斷請(qǐng)求,要 求CPU讀取外設(shè)數(shù)據(jù) 22 方式1中斷控制 n8255A的中斷由中斷允許觸發(fā)器INTE控制 n置位允許中斷,復(fù)位禁止中斷 n對(duì)INTE的操作通過寫入端口C的對(duì)應(yīng)位實(shí)現(xiàn),INTE觸發(fā) 器對(duì)應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號(hào)的輸入信號(hào)的那一 位,只要對(duì)那一位置位/復(fù)位就可以控制INTE觸發(fā)器 n選通輸入方式下 n端口A的INTEA對(duì)應(yīng)PC4 n端口B的INTEB對(duì)應(yīng)PC2 23 方式1輸出引腳:A端口 外設(shè)響應(yīng)信號(hào)
19、 表示外設(shè)已經(jīng)接收到數(shù)據(jù) 輸出緩沖器滿信號(hào) 表示CPU已經(jīng)輸出了數(shù)據(jù) 中斷請(qǐng)求信號(hào) 請(qǐng)求CPU再次輸出數(shù)據(jù) PC6 PC7 PC3 PA7PA0 INTEA OBFA INTRA ACKA 中斷允許觸發(fā)器 24 方式1輸出引腳:B端口 PC2 PC1 PC0 PB7PB0 INTEB OBFB INTRB ACKB 外設(shè)響應(yīng)信號(hào) 表示外設(shè)已經(jīng)接收到數(shù)據(jù) 輸出緩沖器滿信號(hào) 表示CPU已經(jīng)輸出了數(shù)據(jù) 中斷請(qǐng)求信號(hào) 請(qǐng)求CPU再次輸出數(shù)據(jù) 中斷允許觸發(fā)器 25 方式1輸出聯(lián)絡(luò)信號(hào) nOBF*輸出緩沖器滿信號(hào),低有效 n8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表 示CPU已把數(shù)據(jù)輸出給指定的端
20、口,外設(shè)可以取走 nACK*響應(yīng)信號(hào),低有效 n外設(shè)的響應(yīng)信號(hào),指示8255A的端口數(shù)據(jù)已由外設(shè)接受 nINTR中斷請(qǐng)求信號(hào),高有效 n當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提 出中斷請(qǐng)求,要求CPU繼續(xù)提供數(shù)據(jù) 端口端口A A的的INTEAINTEA對(duì)應(yīng)對(duì)應(yīng)PCPC6 6 端口端口B B的的INTEBINTEB對(duì)應(yīng)對(duì)應(yīng)PCPC2 2 26 方式1的應(yīng)用 n端口A和端口B均工作于工作方式1 nA、B都完成輸入操作功能 nA、B都完成輸出操作功能 nA、B其中一個(gè)輸入,另一個(gè)輸出 27 n端口A、B都為方式1輸入操作 n工作方式控制字可設(shè)置如下 28 n端口狀態(tài)如下圖所示 29 n
21、當(dāng)端口A和端口B同時(shí)被定義為工作方式1完成輸入操 作時(shí),端口C的PC5PC0被用作控制信號(hào),只有PC7和 PC6位可完成數(shù)據(jù)輸入或輸出操作。 n因此這實(shí)際上可構(gòu)成兩種組合狀態(tài): n端口A,B輸入,PC7,PC6輸入 n端口A,B輸入,PC7,PC6輸出。 n當(dāng)A、B同時(shí)完成輸出或其中一個(gè)輸入、一個(gè) 輸出情況類似,只是使用信號(hào)和控制字不同。 30 方式2-雙向方式 n8255A中只允許端口A處于工作方式2,方式2將方式1的 選通輸入輸出功能組合成一個(gè)雙向數(shù)據(jù)端口,可以發(fā) 送數(shù)據(jù)和接收數(shù)據(jù),可用來在兩臺(tái)處理機(jī)之間實(shí)現(xiàn)雙 向并行通信。其有關(guān)的控制信號(hào)由端口C提供,并可向 CPU發(fā)出中斷請(qǐng)求信號(hào)。 n
22、當(dāng)端口A工作于方式2時(shí),允許端口B工作方式0或方式1 完成輸入/輸出功能。 n方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣 n方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點(diǎn)不同: 數(shù)據(jù)輸出時(shí)8255A不是在OBF*有效時(shí)向外設(shè)輸出數(shù)據(jù), 而是在外設(shè)提供響應(yīng)信號(hào)ACK*時(shí)才送出數(shù)據(jù) 31 方式2雙向引腳 PC6 PC7 PC3 PA7PA0 INTE1 OBFA INTRA ACKA PC4 PC5 IBFA STBA INTE2 用PC6設(shè)置INTE1(輸出) 用PC4設(shè)置INTE2(輸入) 輸入和輸出中斷通過 或門輸出INTRA信號(hào) n端口A工作于方式2所需要的5個(gè)控制信號(hào)分別由端口 C的PC7
23、PC3來提供。如果端口B工作于方式0,那么 PC2PC0可用作數(shù)據(jù)輸入/輸出;如果端口B工作于 方式1,那么PC2PC0用來作端口B的控制信號(hào) 32 n當(dāng)端口A工作于方式2時(shí),允許端口B工作方式0或方式1 完成輸入/輸出功能,其方式控制字格式如下圖所示。 33 例題:例題:8255A8255A作為連接打印機(jī)的接口,工作于方式作為連接打印機(jī)的接口,工作于方式0 0,如下圖,如下圖 所示:所示: 工作過程為:當(dāng)主機(jī)要往打印機(jī)輸出字符時(shí),先查詢工作過程為:當(dāng)主機(jī)要往打印機(jī)輸出字符時(shí),先查詢BUSYBUSY信信 號(hào),如為零,則可通過號(hào),如為零,則可通過8255A8255A向打印機(jī)輸出一個(gè)字符,同時(shí)向打
24、印機(jī)輸出一個(gè)字符,同時(shí) 給出選通信號(hào)給出選通信號(hào)STB(STB(負(fù)脈沖負(fù)脈沖) )。 8255A并行接口應(yīng)用舉例 8086 D7D0PA7PA0 D7D0 STB PC2 8255A BUSY 打印機(jī)打印機(jī) PC6 34 現(xiàn)將現(xiàn)將A A端口作為傳送字符的通道,工作于方式端口作為傳送字符的通道,工作于方式0 0、輸出方式;、輸出方式;B B端口未用;端端口未用;端 口口C C也工作于方式也工作于方式0 0,PC2PC2作為作為BUSYBUSY信號(hào)輸入端,故信號(hào)輸入端,故PC3PC0PC3PC0為輸入方式,為輸入方式,PC6PC6 作為作為STBSTB信號(hào)輸出端,故信號(hào)輸出端,故PC7PC4PC7
25、PC4為輸出方式。為輸出方式。 設(shè)設(shè)8255A8255A的端口地址為:的端口地址為: A A端口:端口:00D0H, B00D0H, B端口端口: 00D2H, : 00D2H, C C端口端口: 00D4H, : 00D4H, 控制端口:控制端口:00D6H00D6H 具體程序段如下:具體程序段如下: PP: MOV AL,81H ;PP: MOV AL,81H ;控制字,使控制字,使A,B,CA,B,C三個(gè)端口均工作于方式三個(gè)端口均工作于方式0 0, A A端口端口 OUT 0D6H,AL ;OUT 0D6H,AL ;為輸出,為輸出, PC7PC4PC7PC4為輸出,為輸出,PC3PC0P
26、C3PC0為輸入。為輸入。 MOV AL,0DH ;MOV AL,0DH ;用置用置0 0置置1 1方式使方式使PC6PC6為為1 1,即,即STBSTB為高電平。為高電平。 OUT 0D6H,ALOUT 0D6H,AL LPST: IN AL,0D4H ;LPST: IN AL,0D4H ;讀端口讀端口C C的值的值 AND AL,04HAND AL,04H JNZ LPST ; JNZ LPST ;如不為如不為0 0,說明打印機(jī)忙,故等待。,說明打印機(jī)忙,故等待。 35 MOV AL,CL OUT 0D0H,AL ;如不忙,則把如不忙,則把CL中字符送端口中字符送端口A。 MOV AL,0
27、CH OUT 0D6H,AL ;使使STB為為0 INC AL OUT 0D6H,AL ;再使再使STB為為1 ;后續(xù)程序段后續(xù)程序段 36 9.3 可編程計(jì)數(shù)/定時(shí)控制器8253 定時(shí)控制在微機(jī)系統(tǒng)中極為重要 n定時(shí)器由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,通過記錄高精 度晶振脈沖信號(hào)的個(gè)數(shù),輸出準(zhǔn)確的時(shí)間間隔 n計(jì)數(shù)電路記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號(hào) 時(shí),主要反映脈沖的個(gè)數(shù),又稱為計(jì)數(shù)器 定時(shí)功能的實(shí)現(xiàn)方法 n軟件延時(shí)利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn) n不可編程的硬件定時(shí)采用分頻器、單穩(wěn)電路或簡(jiǎn) 易定時(shí)電路控制定時(shí)時(shí)間 n可編程的硬件定時(shí)軟件硬件相結(jié)合、用可編程定 時(shí)器芯片構(gòu)成一個(gè)方便靈活的
28、定時(shí)電路 37 8253/8254定時(shí)計(jì)數(shù)器 n8253可與8086/8088CPU相連構(gòu)成完整的定時(shí)、計(jì)數(shù)或脈 沖發(fā)生器系統(tǒng)。 n3個(gè)獨(dú)立的16位計(jì)數(shù)器通道 n每個(gè)計(jì)數(shù)器有6種工作方式 n按二進(jìn)制或十進(jìn)制(BCD碼)計(jì)數(shù) 38 8253的內(nèi)部結(jié)構(gòu)和引腳 D7D0 計(jì)數(shù)器0 控制字 寄存器 計(jì)數(shù)器1 計(jì)數(shù)器2 內(nèi) 部 數(shù) 據(jù) 總 線 數(shù)據(jù)總線 緩沖器 讀寫控制 邏輯 RD WR A 0 A 1 CS CLK 0 GATE 0 OUT 0 CLK 1 GATE 1 OUT 1 CLK 2 GATE 2 OUT 2 39 是8253與CPU之間的數(shù)據(jù)接口,由8位雙向三態(tài)緩沖存儲(chǔ)器構(gòu)成, 是CPU與
29、8253之間交換信息的必經(jīng)之路。 接收CPU送入的讀/寫控制信號(hào),并完成對(duì)芯片內(nèi)部各功能部件的 控制功能,因此,它實(shí)際上是8253芯片內(nèi)部的控制器。 可接收的控制信號(hào)如下:可接收的控制信號(hào)如下: (1) A1A0端口選擇信號(hào),由CPU輸入。8253內(nèi)部有3個(gè)獨(dú)立的 通道和一個(gè)控制字寄存器,它們構(gòu)成8253芯片的4個(gè)端口,CPU可 對(duì)3個(gè)通道進(jìn)行讀/寫操作,對(duì)控制字寄存器進(jìn)行寫操作。這4個(gè)端 口地址由最低2位地址碼A10來選擇。 nA1A0 = 00 通道0 nA1A0 = 01 通道1 nA1A0 = 10 通道2 nA1A0 = 11 控制字寄存器 40 (2) CS*片選信號(hào),由CPU輸入
30、,低電平有效,通常由端口地址 的高位地址譯碼形成。 CS* A1 A0I/O地址讀操作RD*寫操作WR* 0 0 0 0 0 1 0 1 0 0 1 1 40H 41H 42H 43H 讀計(jì)數(shù)器0 讀計(jì)數(shù)器1 讀計(jì)數(shù)器2 無操作 寫計(jì)數(shù)器0 寫計(jì)數(shù)器1 寫計(jì)數(shù)器2 寫控制字 (3) RD*、WR*讀/寫控制命令,由CPU輸入,低電平有效。RD*有 效時(shí),CPU讀取由A10所選定的通道內(nèi)計(jì)數(shù)器的內(nèi)容。WR*有效時(shí), CPU將計(jì)數(shù)值寫入各個(gè)通道的計(jì)數(shù)器中,或者是將方式控制字寫入控 制字寄存器中。 41 n8253內(nèi)部包含3個(gè)功能完全相同的通道,每個(gè)通道內(nèi)部設(shè)有一個(gè) 16位計(jì)數(shù)器,可進(jìn)行二進(jìn)制或十進(jìn)
31、制(BCD碼)計(jì)數(shù)。 n采用二進(jìn)制計(jì)數(shù)時(shí),最大計(jì)數(shù)值是FFFFH n采用BCD碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值是9999 n每個(gè)通道內(nèi)設(shè)有一個(gè)16位計(jì)數(shù)值鎖存器,可用來鎖存計(jì)數(shù)值。 n當(dāng)某通道用作計(jì)數(shù)器時(shí),應(yīng)將要求計(jì)數(shù)的次數(shù)預(yù)置到該通道的計(jì) 數(shù)器中,被計(jì)數(shù)的事件應(yīng)以脈沖方式從CLKi端輸入,每輸入一個(gè) 計(jì)數(shù)脈沖,計(jì)數(shù)器內(nèi)容減“1”,待計(jì)數(shù)值計(jì)到“0”,OUTi端將有 輸出,表示計(jì)數(shù)次數(shù)到。 n當(dāng)某通道用作定時(shí)器時(shí),由CLKi輸入一定頻率的時(shí)鐘脈沖。根據(jù) 要求定時(shí)的時(shí)間長(zhǎng)短確定所需的計(jì)數(shù)值,并預(yù)置到計(jì)數(shù)器中,每 輸入一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器內(nèi)容減“1”,待計(jì)數(shù)值計(jì)到“0”, OUTi將有輸出,表示定時(shí)時(shí)間到。允
32、許從CLKi輸入的時(shí)鐘頻率在 12MHz范圍內(nèi)。 42 n任一通道作計(jì)數(shù)器用或作定時(shí)器用,其內(nèi)部操作完全相同,區(qū)別 在于前者是由計(jì)數(shù)脈沖進(jìn)行減“1”計(jì)數(shù),而后者是由時(shí)鐘脈沖進(jìn) 行減“1”計(jì)數(shù)。作計(jì)數(shù)器時(shí),要求計(jì)數(shù)的次數(shù)可直接作為計(jì)數(shù)器 的初值預(yù)置到減“1”計(jì)數(shù)器中。作定時(shí)器時(shí),計(jì)數(shù)器的初值即定 時(shí)系數(shù)應(yīng)根據(jù)要求定時(shí)的時(shí)間進(jìn)行如下運(yùn)算才能得到: 控制字寄存器用來存放由CPU寫入8253的方式選擇控制 字,由它來定義8253中各通道的工作方式,其使用格 式如下圖所示。 43 44 nSC1,SC0位用來選擇通道。 nRL1,RL0位用來定義對(duì)所選通道中的計(jì)數(shù)器 的操作 nRL1RL0=00時(shí),將該
33、通道中當(dāng)前計(jì)數(shù)器的內(nèi)容鎖 存到鎖存器中,為CPU讀取當(dāng)前計(jì)數(shù)值作準(zhǔn)備。 nRL1RL0=01時(shí),表示只讀/寫計(jì)數(shù)器低字節(jié),這是 因?yàn)橹皇褂糜?jì)數(shù)器的低字節(jié)作計(jì)數(shù)用。 nRL1RL0=10時(shí),表示只讀/寫計(jì)數(shù)器高字節(jié),這是 因?yàn)橹皇褂糜?jì)數(shù)器的高字節(jié)作計(jì)數(shù)用。 nRL1RL0=11時(shí),表示先讀/寫計(jì)數(shù)器低字節(jié),后讀 /寫計(jì)數(shù)器高字節(jié)。 nBCD位用來定義是采用二進(jìn)制計(jì)數(shù)還是十進(jìn)制計(jì)數(shù) nM2M1M0位用來定義所選通道的6種工作方式。 45 計(jì)數(shù)器結(jié)構(gòu)示意圖 預(yù)置寄存器預(yù)置寄存器 GATE CLK OUT 減減1計(jì)數(shù)器計(jì)數(shù)器 輸出鎖存器輸出鎖存器 計(jì)數(shù)初值存于計(jì)數(shù)初值存于預(yù)置寄存器預(yù)置寄存器; 在計(jì)數(shù)
34、過程中,在計(jì)數(shù)過程中, 減法計(jì)數(shù)器減法計(jì)數(shù)器的值不斷遞減,的值不斷遞減, 而預(yù)置寄存器中的預(yù)置不變。而預(yù)置寄存器中的預(yù)置不變。 輸出鎖存器輸出鎖存器用于寫入鎖存命令時(shí),用于寫入鎖存命令時(shí), 鎖定當(dāng)前計(jì)數(shù)值鎖定當(dāng)前計(jì)數(shù)值 46 計(jì)數(shù)器的3個(gè)引腳 nCLK時(shí)鐘輸入信號(hào)在計(jì)數(shù)過程中,此引腳上每輸入 一個(gè)時(shí)鐘信號(hào)(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1 nGATE門控輸入信號(hào)控制計(jì)數(shù)器工作,可分成電平 控制和上升沿控制兩種類型 GATE作為各通道的門控信號(hào),對(duì)于各種不同的工作方 式,它所起的作用各不相同。在8253的應(yīng)用中,必須 正確使用GATE信號(hào),才能保證各通道的正常操作。 nOUT計(jì)數(shù)器輸出信號(hào)當(dāng)一次計(jì)數(shù)
35、過程結(jié)束(計(jì)數(shù)值 減為0),OUT引腳上將產(chǎn)生一個(gè)輸出信號(hào) 47 讀寫操作及編程命令讀寫操作及編程命令 1.方式命令的作用方式命令的作用 主要是對(duì)主要是對(duì)82538253進(jìn)行初始化,初始化的工作有兩點(diǎn):進(jìn)行初始化,初始化的工作有兩點(diǎn): (1 1)向命令寄存器寫入方式命令,以選擇計(jì)數(shù)器()向命令寄存器寫入方式命令,以選擇計(jì)數(shù)器(3 3個(gè)計(jì)個(gè)計(jì) 數(shù)器之一),確定工作方式(數(shù)器之一),確定工作方式(6 6種方式之一),指定計(jì)種方式之一),指定計(jì) 數(shù)器計(jì)數(shù)初值的長(zhǎng)度和裝入順序以及計(jì)數(shù)值的碼制數(shù)器計(jì)數(shù)初值的長(zhǎng)度和裝入順序以及計(jì)數(shù)值的碼制 (BCDBCD或二進(jìn)制碼)?;蚨M(jìn)制碼)。 (2 2)向已選定的計(jì)
36、數(shù)器按方式命令的要求寫入計(jì)數(shù)初值。)向已選定的計(jì)數(shù)器按方式命令的要求寫入計(jì)數(shù)初值。 48 D7D6D5D4D3D2D1D0 計(jì)數(shù)器選擇讀寫字節(jié)數(shù)工作方式碼制 2. 方式命令的格式 方式命令的格式如下所示: D7D6(SC1SC0): 用于選擇計(jì)數(shù)器 SC1SC0=00 選擇0號(hào)計(jì)數(shù)器 SC1SC0=01 選擇1號(hào)計(jì)數(shù)器 SC1SC0=10 選擇2號(hào)計(jì)數(shù)器 SC1SC0=11 不用 D5D4(RL1RL0): 用來控制計(jì)數(shù)器讀/寫的字節(jié)數(shù) (1或2個(gè)字節(jié))及讀/寫高低字節(jié)的 順序。 RL1RL0=00 為鎖存命令 RL1RL0=01 僅讀/寫一個(gè)低字節(jié) RL1RL0=10 僅讀/寫一個(gè)高字節(jié) R
37、L1RL0=11 讀/寫2個(gè)字節(jié), 先是低字節(jié),后是高字節(jié) 49 D7D6D5D4D3D2D1D0 計(jì)數(shù)器選擇讀寫字節(jié)數(shù)工作方式碼制 D0(BCD):用來指定計(jì)數(shù) 器的碼制,是按二進(jìn)還是按 二十進(jìn)制數(shù)計(jì)數(shù)。 BCD=0 二進(jìn)制 BCD=1 二十進(jìn)制 DD(): 用來選擇計(jì)數(shù)器的工 作方式。 10= 000 0方式 10= 001 1方式 10= 010 2方式 10= 011 3方式 10= 100 4方式 10= 101 5方式 (110和111不用) 50 例:選擇例:選擇2號(hào)計(jì)數(shù)器,工作在號(hào)計(jì)數(shù)器,工作在3方式,計(jì)數(shù)初值為方式,計(jì)數(shù)初值為533H(2個(gè)字個(gè)字 節(jié)),采用二進(jìn)制計(jì)數(shù)。其初始
38、化程序段為節(jié)),采用二進(jìn)制計(jì)數(shù)。其初始化程序段為: MOV DX,307H ;命令口;命令口 MOV AL,10110110 B ;2號(hào)計(jì)數(shù)器的初始化命令號(hào)計(jì)數(shù)器的初始化命令 字字 OUT DX,AL ;寫入命令寄存器;寫入命令寄存器 MOV DX,306H ;2號(hào)計(jì)數(shù)器數(shù)據(jù)口號(hào)計(jì)數(shù)器數(shù)據(jù)口 MOV AX,533H ;計(jì)數(shù)初值;計(jì)數(shù)初值 OUT DX,AL ;選送低字節(jié)到;選送低字節(jié)到2號(hào)計(jì)數(shù)器號(hào)計(jì)數(shù)器 MOV AL,AH ;取高字節(jié)送;取高字節(jié)送AL OUT DX,AL ;后送高字節(jié)到;后送高字節(jié)到2號(hào)計(jì)數(shù)器號(hào)計(jì)數(shù)器 方波發(fā)生器 51 3. 讀當(dāng)前計(jì)數(shù)值讀當(dāng)前計(jì)數(shù)值 在事件計(jì)數(shù)器的應(yīng)用中,需
39、要讀出計(jì)數(shù)過程中的當(dāng)在事件計(jì)數(shù)器的應(yīng)用中,需要讀出計(jì)數(shù)過程中的當(dāng) 前計(jì)數(shù)值,以便根據(jù)這個(gè)值做計(jì)數(shù)判斷。前計(jì)數(shù)值,以便根據(jù)這個(gè)值做計(jì)數(shù)判斷。 例:要求讀出并檢查例:要求讀出并檢查1 1號(hào)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值是否是全號(hào)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值是否是全“1”1” (假定計(jì)數(shù)值只有低(假定計(jì)數(shù)值只有低8 8位),其程序段為位),其程序段為 MOV DX, 307H ;命令口;命令口 L: MOV AL,01000000B ;1號(hào)計(jì)數(shù)器的鎖存命令號(hào)計(jì)數(shù)器的鎖存命令 OUT DX,AL ;寫入命令寄存器;寫入命令寄存器 MOV DX,305H ;1號(hào)計(jì)數(shù)器數(shù)據(jù)口號(hào)計(jì)數(shù)器數(shù)據(jù)口 IN AL,DX ;讀;讀1號(hào)計(jì)數(shù)器
40、的當(dāng)前計(jì)數(shù)值號(hào)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值 CMP AL,0FFH ;比較;比較 JNE L ;非全;非全“1”,再讀,再讀 HLT ;是全;是全“1”,暫停,暫停 52 8253芯片的工作方式及特點(diǎn):芯片的工作方式及特點(diǎn): 方式名稱初值自動(dòng)重裝GATE(電平/上升沿) OUT波形 0計(jì)數(shù)結(jié)束中斷方式否高電平低電平 1單脈沖發(fā)生器否上升沿低電平 2速率發(fā)生器是高電平單個(gè)負(fù)脈沖 3方波發(fā)生器是高電平方波 4軟件觸發(fā)方式否高電平單個(gè)負(fù)脈沖 5硬件觸發(fā)方式是上升沿單個(gè)負(fù)脈沖 53 工作方式及特點(diǎn)工作方式及特點(diǎn) 8253/8254芯片的每個(gè)計(jì)數(shù)器通道都有芯片的每個(gè)計(jì)數(shù)器通道都有6種工作方式可供選用。種工作方式可
41、供選用。 1. 方式方式0-計(jì)數(shù)結(jié)束中斷方式計(jì)數(shù)結(jié)束中斷方式 低電平輸出低電平輸出(GATE信號(hào)上升沿繼續(xù)計(jì)數(shù))信號(hào)上升沿繼續(xù)計(jì)數(shù)) 54 方式方式0有如下有如下3個(gè)特點(diǎn)個(gè)特點(diǎn): n當(dāng)向計(jì)數(shù)器寫完計(jì)數(shù)值后,開始計(jì)數(shù),計(jì)數(shù)一旦當(dāng)向計(jì)數(shù)器寫完計(jì)數(shù)值后,開始計(jì)數(shù),計(jì)數(shù)一旦 開始,輸出端開始,輸出端OUTOUT就變成低電平,并在計(jì)數(shù)過程就變成低電平,并在計(jì)數(shù)過程 中一直保持低電平,當(dāng)計(jì)數(shù)器減到零時(shí),中一直保持低電平,當(dāng)計(jì)數(shù)器減到零時(shí),OUTOUT立立 即變成高電平。即變成高電平。 n門控信號(hào)門控信號(hào)GATEGATE為高電平時(shí),計(jì)數(shù)器工作;當(dāng)為高電平時(shí),計(jì)數(shù)器工作;當(dāng)GATEGATE 為低電平時(shí),計(jì)數(shù)器
42、停止了工作,其計(jì)數(shù)值保持為低電平時(shí),計(jì)數(shù)器停止了工作,其計(jì)數(shù)值保持 不變。如果門控信號(hào)不變。如果門控信號(hào)GATEGATE再次變高時(shí),計(jì)數(shù)器從再次變高時(shí),計(jì)數(shù)器從 中止處繼續(xù)計(jì)數(shù)。中止處繼續(xù)計(jì)數(shù)。 n在計(jì)數(shù)器工作期間,如果重新寫入新的計(jì)數(shù)值,在計(jì)數(shù)器工作期間,如果重新寫入新的計(jì)數(shù)值, 計(jì)數(shù)器將按新寫入的計(jì)數(shù)初值重新工作。計(jì)數(shù)器將按新寫入的計(jì)數(shù)初值重新工作。 55 n利用工作方式利用工作方式0既可完成計(jì)數(shù)功能,也可完成定時(shí)功既可完成計(jì)數(shù)功能,也可完成定時(shí)功 能。能。 n當(dāng)用作當(dāng)用作計(jì)數(shù)器計(jì)數(shù)器時(shí),應(yīng)將要求計(jì)數(shù)的次數(shù)預(yù)置到計(jì)數(shù)器時(shí),應(yīng)將要求計(jì)數(shù)的次數(shù)預(yù)置到計(jì)數(shù)器 中,將要求計(jì)數(shù)的事件以脈沖方式從中,
43、將要求計(jì)數(shù)的事件以脈沖方式從CLKi端輸入,由端輸入,由 它對(duì)計(jì)數(shù)器進(jìn)行減它對(duì)計(jì)數(shù)器進(jìn)行減“1”計(jì)數(shù),直到計(jì)數(shù)值為計(jì)數(shù),直到計(jì)數(shù)值為0,此刻,此刻 OUTi輸出正跳變,表示計(jì)數(shù)次數(shù)到。輸出正跳變,表示計(jì)數(shù)次數(shù)到。 n當(dāng)用作當(dāng)用作定時(shí)器定時(shí)器時(shí),應(yīng)把根據(jù)要求定時(shí)的時(shí)間和時(shí),應(yīng)把根據(jù)要求定時(shí)的時(shí)間和CLKi的的 周期計(jì)算出定時(shí)系數(shù),預(yù)置到計(jì)數(shù)器中。從周期計(jì)算出定時(shí)系數(shù),預(yù)置到計(jì)數(shù)器中。從CLKi輸入輸入 的應(yīng)是一定頻率的時(shí)鐘脈沖,由它對(duì)計(jì)數(shù)器進(jìn)行減的應(yīng)是一定頻率的時(shí)鐘脈沖,由它對(duì)計(jì)數(shù)器進(jìn)行減 “1”計(jì)數(shù),定時(shí)時(shí)間從寫入計(jì)數(shù)值開始,到計(jì)數(shù)值計(jì)計(jì)數(shù),定時(shí)時(shí)間從寫入計(jì)數(shù)值開始,到計(jì)數(shù)值計(jì) 到到“0”為止
44、,為止,OUTi輸出正跳變,表示定時(shí)時(shí)間到。輸出正跳變,表示定時(shí)時(shí)間到。 56 例:例:使計(jì)數(shù)器使計(jì)數(shù)器T T1 1工作在工作在0 0方式,進(jìn)行方式,進(jìn)行1616位二進(jìn)制計(jì)數(shù),位二進(jìn)制計(jì)數(shù), 計(jì)數(shù)初值的高低字節(jié)分別為計(jì)數(shù)初值的高低字節(jié)分別為BYTEHBYTEH和和BYTELBYTEL。 其初始化程序段為其初始化程序段為: : MOV DX,307H MOV DX,307H ;命令口;命令口 MOV ALMOV AL,01110000B01110000B ;方式字;方式字 OUT DXOUT DX,AL AL MOV DX MOV DX,305H 305H ;T T1 1數(shù)據(jù)口數(shù)據(jù)口 MOV A
45、LMOV AL,BYTEL BYTEL ;計(jì)數(shù)值低字節(jié);計(jì)數(shù)值低字節(jié) OUT DXOUT DX,ALAL MOV AL MOV AL,BYTEH BYTEH ;計(jì)數(shù)值高字節(jié);計(jì)數(shù)值高字節(jié) OUT DXOUT DX,AL AL 57 2. 方式方式1-單脈沖發(fā)生器單脈沖發(fā)生器 低電平輸出低電平輸出(GATE信號(hào)上升沿重新計(jì)數(shù))信號(hào)上升沿重新計(jì)數(shù)) 方式方式1為可編程的單穩(wěn)態(tài)工作方式。為可編程的單穩(wěn)態(tài)工作方式。 58 n情況一:情況一: 1.1.寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不立即開始工作;寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不立即開始工作; 2.2.門控信號(hào)門控信號(hào)GATEGATE有效,才開始工作,使輸出有效,才
46、開始工作,使輸出OUTOUT變成低電變成低電 平;平; 3.3.直到計(jì)數(shù)器值減到零后,輸出才變高電平。直到計(jì)數(shù)器值減到零后,輸出才變高電平。 n情況二:情況二: 1. 在計(jì)數(shù)器工作期間,當(dāng)在計(jì)數(shù)器工作期間,當(dāng)GATEGATE又出現(xiàn)一個(gè)上升沿時(shí),計(jì)又出現(xiàn)一個(gè)上升沿時(shí),計(jì) 數(shù)器重新裝入原計(jì)數(shù)初值并重新開始計(jì)數(shù),見圖中數(shù)器重新裝入原計(jì)數(shù)初值并重新開始計(jì)數(shù),見圖中。 2.2. 如果工作期間對(duì)計(jì)數(shù)器寫入新的計(jì)數(shù)初值,則要等到如果工作期間對(duì)計(jì)數(shù)器寫入新的計(jì)數(shù)初值,則要等到 當(dāng)前的計(jì)數(shù)值計(jì)滿回零且門控信號(hào)再次出現(xiàn)上升沿后,當(dāng)前的計(jì)數(shù)值計(jì)滿回零且門控信號(hào)再次出現(xiàn)上升沿后, 才按新寫入的計(jì)數(shù)初值開始工作,見圖所
47、示才按新寫入的計(jì)數(shù)初值開始工作,見圖所示。 59 例:例: 使計(jì)數(shù)器使計(jì)數(shù)器T T2 2 工作在工作在1 1方式,進(jìn)行方式,進(jìn)行8 8位二進(jìn)位二進(jìn) 制計(jì)數(shù),并設(shè)計(jì)數(shù)初值的低制計(jì)數(shù),并設(shè)計(jì)數(shù)初值的低8 8位為位為BYTELBYTEL。 其初始化程序段為其初始化程序段為 MOV DX,307H ;命令口;命令口 MOV AL,10010010B ;方式字;方式字 OUT DX,AL MOV DX,306H ;T2數(shù)據(jù)口數(shù)據(jù)口 MOV AL,BYTEL ;低;低8位計(jì)數(shù)值位計(jì)數(shù)值 OUT DX,AL 60 3. 方式方式2-頻率發(fā)生器(分頻器)頻率發(fā)生器(分頻器) 周期性負(fù)脈沖輸出周期性負(fù)脈沖輸出
48、方式方式2 2是一種具有自動(dòng)裝入時(shí)間常數(shù)(計(jì)數(shù)初值)是一種具有自動(dòng)裝入時(shí)間常數(shù)(計(jì)數(shù)初值) 的的N N分頻器。分頻器。 61 n進(jìn)入工作方式進(jìn)入工作方式2,OUTi輸出高電平,輸出高電平,裝入計(jì)數(shù)值裝入計(jì)數(shù)值n后如果后如果 GATE為高電平,則立即開始計(jì)數(shù)為高電平,則立即開始計(jì)數(shù),OUTi保持為高電平不保持為高電平不 變;待計(jì)數(shù)值減到變;待計(jì)數(shù)值減到“1”和和“0”之間,之間,OUTi將輸出寬度為將輸出寬度為 一個(gè)一個(gè)CLKi周期的周期的負(fù)脈沖負(fù)脈沖 n計(jì)數(shù)值為計(jì)數(shù)值為“0”時(shí),自動(dòng)重新裝入計(jì)數(shù)初值時(shí),自動(dòng)重新裝入計(jì)數(shù)初值n,實(shí)現(xiàn),實(shí)現(xiàn)循環(huán)計(jì)循環(huán)計(jì) 數(shù)數(shù) nOUTi將輸出一定頻率的負(fù)脈沖序列,
49、其脈沖寬度固定為將輸出一定頻率的負(fù)脈沖序列,其脈沖寬度固定為 一個(gè)一個(gè)CLKi周期,重復(fù)周期為周期,重復(fù)周期為CLKi周期的周期的n倍。倍。 62 n如果在減如果在減“1”計(jì)數(shù)過程中,計(jì)數(shù)過程中,GATE變?yōu)闊o效變?yōu)闊o效(輸輸 入入0電平電平),則暫停減,則暫停減“1”計(jì)數(shù),待計(jì)數(shù),待GATE恢復(fù)有恢復(fù)有 效后,從初值效后,從初值n開始重新計(jì)數(shù)。開始重新計(jì)數(shù)。 n如果在操作過程中要求改變輸出脈沖的速率,如果在操作過程中要求改變輸出脈沖的速率,CPU可可 在任何時(shí)候,重新寫入新的計(jì)數(shù)值,它不會(huì)影響正在在任何時(shí)候,重新寫入新的計(jì)數(shù)值,它不會(huì)影響正在 進(jìn)行的減進(jìn)行的減“1”計(jì)數(shù)過程,而是從下一個(gè)計(jì)數(shù)
50、操作周期計(jì)數(shù)過程,而是從下一個(gè)計(jì)數(shù)操作周期 開始按新的計(jì)數(shù)值改變輸出脈沖的速率。開始按新的計(jì)數(shù)值改變輸出脈沖的速率。 63 例:例:使計(jì)數(shù)器使計(jì)數(shù)器T T0 0 工作在方式 工作在方式2 2,進(jìn)行,進(jìn)行1616位二進(jìn)制計(jì)數(shù)。位二進(jìn)制計(jì)數(shù)。 其初始化程序段為其初始化程序段為 MOV DXMOV DX,307H 307H ;命令口;命令口 MOV ALMOV AL,00110100B00110100B ;方式字;方式字 OUT DXOUT DX,ALAL MOV DX MOV DX,304H 304H ;T T2 2數(shù)據(jù)口數(shù)據(jù)口 MOV ALMOV AL,BYTEL BYTEL ;低;低8 8位計(jì)
51、數(shù)值位計(jì)數(shù)值 OUT DXOUT DX,ALAL MOV AL MOV AL,BYTEL BYTEL ;高;高8 8位計(jì)數(shù)值位計(jì)數(shù)值 OUT DXOUT DX,ALAL 64 4. 方式方式3-方波發(fā)生器方波發(fā)生器 周期性方波輸出周期性方波輸出 方式方式3工作方式與方式工作方式與方式2基本相同,也具有自動(dòng)裝基本相同,也具有自動(dòng)裝 入時(shí)間常數(shù)(計(jì)數(shù)初值)的功能。入時(shí)間常數(shù)(計(jì)數(shù)初值)的功能。 65 n 工作在方式工作在方式3 3,引腳,引腳OUTOUT輸出的不是一個(gè)時(shí)鐘周輸出的不是一個(gè)時(shí)鐘周 期的負(fù)脈沖,而是占空比為期的負(fù)脈沖,而是占空比為1 1:1 1或近似或近似1 1:1 1的的 方波;當(dāng)計(jì)
52、數(shù)初值為偶數(shù)時(shí),輸出在前一半的方波;當(dāng)計(jì)數(shù)初值為偶數(shù)時(shí),輸出在前一半的 計(jì)數(shù)過程中為高電平,在后一半的計(jì)數(shù)過程中計(jì)數(shù)過程中為高電平,在后一半的計(jì)數(shù)過程中 為低電平。為低電平。 n 由于方式由于方式3 3輸出的波形是方波,并且具有自動(dòng)輸出的波形是方波,并且具有自動(dòng) 重裝計(jì)數(shù)初值的功能,因此,重裝計(jì)數(shù)初值的功能,因此,82538253一旦計(jì)數(shù)開一旦計(jì)數(shù)開 始,就會(huì)在輸出端始,就會(huì)在輸出端OUTOUT輸出連續(xù)不斷的方波。輸出連續(xù)不斷的方波。 66 n如果在操作過程中,如果在操作過程中,GATEGATE變?yōu)闊o效,則暫停減變?yōu)闊o效,則暫停減 “1”1”計(jì)數(shù)過程,直到計(jì)數(shù)過程,直到GATEGATE再次有效
53、,重新從再次有效,重新從 初值初值n n開始減開始減“1”1”計(jì)數(shù)。計(jì)數(shù)。 n如果要求改變輸出方波的速率,則如果要求改變輸出方波的速率,則CPUCPU可在任可在任 何時(shí)候重新裝入新的計(jì)數(shù)初值何時(shí)候重新裝入新的計(jì)數(shù)初值n n,并從下一個(gè),并從下一個(gè) 計(jì)數(shù)操作周期開始改變輸出方波的速率。計(jì)數(shù)操作周期開始改變輸出方波的速率。 67 5. 方式方式4-軟件觸發(fā)方式軟件觸發(fā)方式 單次負(fù)脈沖輸出單次負(fù)脈沖輸出 方式方式4工作方式是一種由軟件啟動(dòng)的閘門式計(jì)數(shù)方式,即工作方式是一種由軟件啟動(dòng)的閘門式計(jì)數(shù)方式,即 由寫入計(jì)數(shù)初值來觸發(fā)計(jì)數(shù)器開始工作。門控信號(hào)由寫入計(jì)數(shù)初值來觸發(fā)計(jì)數(shù)器開始工作。門控信號(hào)GATE為
54、為 高電平時(shí),允許計(jì)數(shù)器工作。高電平時(shí),允許計(jì)數(shù)器工作。 例:例:使計(jì)數(shù)器使計(jì)數(shù)器T1T1工作在方式工作在方式4 4,進(jìn)行,進(jìn)行8 8位二進(jìn)制計(jì)數(shù),并且只裝位二進(jìn)制計(jì)數(shù),并且只裝 入高入高8 8位計(jì)數(shù)值。其初始化程序段為:位計(jì)數(shù)值。其初始化程序段為: MOV DX,307H ;命令口;命令口 MOV AL,00110100B ;方式字;方式字 OUT DX,AL MOV DX,304H ;T2數(shù)據(jù)口數(shù)據(jù)口 MOV AL,BYTEL ;低;低8位計(jì)數(shù)值位計(jì)數(shù)值 OUT DX,AL 68 圖3.8 8253的4方式時(shí)序波形 CLK WR OUT OUT WR 5 n=5 4 2 0132 1 GA
55、TE 5 54320 OUT n=3 3 1 0210 n=2 69 n進(jìn)入工作方式進(jìn)入工作方式4,OUTi輸出高電平。輸出高電平。 n裝入計(jì)數(shù)值裝入計(jì)數(shù)值n后,如果后,如果GATE為高電平,則立即開始減為高電平,則立即開始減 “1”計(jì)數(shù),直到計(jì)數(shù)值減到計(jì)數(shù),直到計(jì)數(shù)值減到“0”為止,為止,OUTi輸出寬度輸出寬度 為一個(gè)為一個(gè)CLKi周期的負(fù)脈沖。周期的負(fù)脈沖。 n由軟件裝入的計(jì)數(shù)值只一次有效由軟件裝入的計(jì)數(shù)值只一次有效,如果要繼續(xù)操作,必,如果要繼續(xù)操作,必 須重新置入計(jì)數(shù)初值須重新置入計(jì)數(shù)初值n。 n如果在操作過程中,如果在操作過程中,GATE變?yōu)闊o效,則停止減變?yōu)闊o效,則停止減“1”計(jì)
56、計(jì) 數(shù),到數(shù),到GATE再次有效時(shí),重新從初值開始減再次有效時(shí),重新從初值開始減“1”計(jì)數(shù)。計(jì)數(shù)。 70 n利用這種工作方式可以完成利用這種工作方式可以完成定時(shí)功能定時(shí)功能,定時(shí)時(shí)間從裝入,定時(shí)時(shí)間從裝入 計(jì)數(shù)值計(jì)數(shù)值n開始,開始,OUTi輸出負(fù)脈沖表示定時(shí)時(shí)間到,其定輸出負(fù)脈沖表示定時(shí)時(shí)間到,其定 時(shí)時(shí)間時(shí)時(shí)間=nCLK周期。周期。 n這種工作方式也可完成這種工作方式也可完成計(jì)數(shù)功能計(jì)數(shù)功能,它要求計(jì)數(shù)的事件以,它要求計(jì)數(shù)的事件以 脈沖的方式從脈沖的方式從CLKi輸入,將計(jì)數(shù)次數(shù)作為計(jì)數(shù)初值裝入輸入,將計(jì)數(shù)次數(shù)作為計(jì)數(shù)初值裝入 后,由后,由CLKi端輸入的計(jì)數(shù)脈沖進(jìn)行減端輸入的計(jì)數(shù)脈沖進(jìn)行減
57、“1”計(jì)數(shù),直到計(jì)計(jì)數(shù),直到計(jì) 數(shù)值為數(shù)值為“0”,由,由OUTi端輸出負(fù)脈沖端輸出負(fù)脈沖(表示計(jì)數(shù)次數(shù)到表示計(jì)數(shù)次數(shù)到)。 當(dāng)然也可利用當(dāng)然也可利用OUTi向向CPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。 n因此工作方式因此工作方式4與工作方式與工作方式0很相似,只是方式很相似,只是方式0在在OUTi 端輸出正階躍信號(hào)、方式端輸出正階躍信號(hào)、方式4在在OUTi端輸出負(fù)脈沖信號(hào)。端輸出負(fù)脈沖信號(hào)。 71 6. 方式方式5-硬件觸發(fā)方式硬件觸發(fā)方式 單次負(fù)脈沖輸出()單次負(fù)脈沖輸出() 方式方式5工作特點(diǎn)是由工作特點(diǎn)是由GATE上升沿觸發(fā)計(jì)數(shù)器開始工作。上升沿觸發(fā)計(jì)數(shù)器開始工作。 n在方式在方式5 5工作方式下,當(dāng)寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不立即工作方式下,當(dāng)寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不立即 開始計(jì)數(shù),而要由門控信號(hào)的上升沿啟動(dòng)計(jì)數(shù)。開始計(jì)數(shù),而要由門控信號(hào)的上升沿啟動(dòng)計(jì)數(shù)。 n 在計(jì)數(shù)過程中(或者計(jì)數(shù)結(jié)束后),如果門控再次出現(xiàn)上在計(jì)數(shù)過程中(或者計(jì)數(shù)結(jié)束后),如果門控再次出現(xiàn)上 升沿,計(jì)數(shù)器將從原裝入的計(jì)數(shù)初值重新計(jì)數(shù)。升沿,計(jì)數(shù)器將從原裝入的計(jì)數(shù)初值重新計(jì)數(shù)。 72 小結(jié):小結(jié):6 6 種工作方式的比較種工作方式的比較 n0 0方式(門控單穩(wěn))和方式(門控單穩(wěn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同協(xié)議書
- 二零二五年度智能硬件知識(shí)產(chǎn)權(quán)授權(quán)與保密合同
- 健身房整裝清包合同樣本
- 風(fēng)力發(fā)電葉片運(yùn)輸合同
- 二零二五年度辦公室門套定制與建筑節(jié)能改造合同
- 港口物流居間合同委托書
- 電子設(shè)備采購(gòu)合同
- 法院判決離婚協(xié)議書
- 醫(yī)療器械外包合同
- 設(shè)備維護(hù)管理作業(yè)指導(dǎo)書
- (2024年)肺栓塞的護(hù)理課件
- 小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)第八單元《數(shù)學(xué)廣角-搭配(二)》大單元集體備課整體設(shè)計(jì)
- (高清版)TDT 1031.6-2011 土地復(fù)墾方案編制規(guī)程 第6部分:建設(shè)項(xiàng)目
- 2024年江蘇省高中學(xué)業(yè)水平測(cè)試生物試卷
- 露天采場(chǎng)危險(xiǎn)有害因素辨識(shí)
- 食品感官評(píng)價(jià)員培訓(xùn)方案
- 蘇教版一年級(jí)上、下冊(cè)勞動(dòng)與技術(shù)教案
- 柔性生產(chǎn)線技術(shù)及其影響
- 智研咨詢發(fā)布:2023年中國(guó)醫(yī)院后勤服務(wù)行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 七上-動(dòng)點(diǎn)、動(dòng)角問題12道好題-解析
- 《企業(yè)所得稅法稅法》課件
評(píng)論
0/150
提交評(píng)論