微機課件(第七章)_第1頁
微機課件(第七章)_第2頁
微機課件(第七章)_第3頁
微機課件(第七章)_第4頁
微機課件(第七章)_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第七章外圍接口器件及應用本章重點可編程定時/計數器82541.計數/定時器8254編程結構和工作原理2.8254控制寄存器的格式和編程3.8254的典型工作模式及其使用可編程并行接口芯片8255A1.并行接口芯片8255A與CPU信號連接2.并行接口芯片8255A與外設信號連接3.8255A的三種工作方式和設置方法可編程串行接口芯片8251A1.串行通信的基本概念2.串行通信的幾種工作方式7.1可編程定時器/計數器8254計數/定時器8254的編程結構8254工作原理

8254控制寄存器的格式和編程8254工作模式及應用舉例1234定時信號的獲取方法 (1)軟件方法 使用延遲子程序

(2)硬件方法 使用計數器/定時器

7.1.18054的內部結構1.公共控制模塊①數據總線緩沖器8位雙向三態緩沖器,與數據總線接口。

功能:往計數器設置初值從計數器讀取計數值往控制寄存器設置控制字7.1.18054的內部結構②讀寫控制邏輯電路

片選信號CS有效的條件下,進行讀寫操作。

A1、A0對計數器和控制寄存器尋址RD 讀信號WR 寫信號CS 片選信號③控制字寄存器

寄存初始化編程時的命令字,只寫。1.公共控制模塊數據緩沖器8位雙向三態緩沖器,與數據總線接口功能:1.往計數器設置初值2.從計數器讀取計數值3.往控制寄存器設置控制字讀寫控制邏輯電路片選信號CS有效的條件下,進行讀寫操作。

A1、A0對計數器和控制寄存器尋址RD 讀信號WR 寫信號CS 片選信號控制寄存器寄存初始化編程時的命令字,只寫。2.計數器(3個)8254內部有3個結構相同彼此獨立

的計數器——計數器0,1,2。計數頻率可高達10MHz。16位長度。每個計數器對外有3個引腳:—GATE為門控信號,—CLK為計數脈沖輸入,—OUT為計數器輸出端。

6.1.28254的引腳功能

24引腳,雙列直插式封裝,+5V電源。3個計數器,每個計數器內部有:—8位的控制寄存器—16位的計數初值寄存器—計數執行部件—輸出鎖存器

1.8254的端口地址

2.8254端口的讀寫操作7.1.38254的工作方式六種工作方式方式0——計數結束產生中斷方式1——可重復觸發的單穩態觸發器方式2——分頻器方式3——方波發生器方式4——選通信號發生器方式5——1.方式0——事件計數器(計數結束產生中斷)a、門控信號GATE必須為1,計數器才能計數;b、計數時通道輸出端OUT一直為0;c、通道計數器計數到0后,OUT由0到1,同時計數器停止工作。2.方式1——硬件啟動的單脈沖發生器

(可重復觸發的單穩態觸發器)a、門控信號GATE是觸發信號,上升沿有效。即開始計數是由GATE的上升沿觸發的;b、觸發后,通道計數器開始計數,輸出端OUT由高變低;c、

計數器計數到0,OUT再由低變高。3.方式2——脈沖發生器(分頻器)a、GATE門為1,計數器才能工作,對CLK端上的脈沖進行計數;b、當計數器“減”計數到1時,輸出端由高變低,再經過一個CLK周期,即計數器計數到0時,輸出端OUT又跳變為高。所以方式2輸出周期性負脈沖信號,其寬度固定為一個CLK周期;c、當計數器的值減為0時,自動重新裝入計數初值,實現循環計數。4.方式3——方波發生器

方式2雖然可以作分頻電路,但其輸出是窄脈沖,如果是方波,就只有選方式35.方式4——軟件啟動的單脈沖發生器a、

門控信號GATE為高電平,計數器開始減1計數,OUT維持高電平;b、

當計數器減到0,輸出端OUT變低,再經過一個CLK輸入時鐘周期,OUT輸出又變高。6.方式5——硬件觸發的單脈沖發生器a、用門控上升沿觸發即硬件觸發b、計數到0時,輸出端一個寬度為1個時鐘周期的負脈沖,然后又自動變為高電平。6.1.48254的命令字與初始化編程1.控制字6.1.48254的命令字與初始化編程2.8254的編程命令編程原則:①設置初值前必須先寫控制字②初值設置要符合控制字中的格式規定編程命令有兩類:①讀出命令②寫入命令設置控制字命令設置初始值命令鎖存命令

6.1.58254應用舉例例1設8254口地址為200H~203H,GATE0為高電平,CLK0接2MHz方波,要求OUT0端輸出500Hz的連續脈沖。分析:0號計數器,地址:200H 控制寄存器地址:203H 先寫計數值低8位,再寫高8位 工作方式2 二進制或BCD碼均可 計數值設定:2MHz/500Hz=4000控制字:00110100BMOV DX,203H ;控制端口MOV AL,00110100B ;二進制OUT DX,ALMOV DX,200H ;計數器0MOV AX,4000OUT DX,ALMOV AL,AHOUT DX,AL例2編程時系統揚聲器發出800Hz的音箱,當主機鍵盤按下任意鍵時停止。 電路條件:PC機分配給8254的地址:40H~43HCLK0~CLK2頻率:1.193182MHzGATE0,GATE1接+5V系統外接還有8255A例3下圖為8253用作方波發生器與8088總線的接口方法。圖中僅用了A7~A2作為8253片選地址線,產生片選信號Y1與8253的CS端相連。要求計數器2用作方波發生器產生40KHz方波輸出。已知CLK2時鐘端輸入信號頻率為2MHz。

8253與8086總線的連接【例】現有一個高精密晶體振蕩電路,輸出信號是脈沖波,頻率為1MHz。要求利用8253做一個秒信號發生器,其輸出接一發光二極管,以0.5秒點亮,0.5秒熄滅的方式閃爍指示。設8253的通道地址為80H~86H(偶地址)解:1、時間常數計算這個例子要求用8253作一個分頻電路,而且其輸出應該是方波,否則發光二極管不可能等間隔閃爍指示。頻率為1MHz信號的周期為1微秒,而1Hz信號的周期為1秒,所以分頻系數N可按下式進行計算:【例】由于8253一個通道最大的計數值是65536,所以對于N=1000000這樣的大數,一個通道是不可能完成上述分頻要求的。由于即取兩個計數器,采用級聯方式。

2、電路OUT0GATE0CLK01MHz8253通道0+5VOUT1GATE1CLK11KHz8253通道1【例】

3、工作方式選擇由于通道1要輸出方波信號推動發光二極管,所以通道1應選工作方式3。對于通道0,只要能起分頻作用就行,對輸出波形不做要求,所以方式2和方式3都可以選用。

這樣對于通道0,我們取工作方式2,BCD計數;對于通道1,我們取工作方式3,二進制計數(當然也可選BCD計數)【例】4、程序 moval,00110101b ;通道0控制字 out86h,al moval,00 ;通道0初始計數值 out80h,al moval,10h out80h,al moval,01110110b;通道1控制字 out86h,almoval,0e0h ;通道1初始計數值,03E8H=1000BCD out82h,al moval,03h out82h,al【例】例4計件系統。計件系統的功能就是記錄脈沖的個數。一個脈沖代表一個事件,比如交通道路檢測系統中通過檢測點的車輛,工業控制系統中流水線上已加工好的工件。要求在計件過程中,PC機可以顯示當前計數器的內容,當完成10000個工件記錄后,系統發出1KHz信號推動喇叭發音通知用戶。

解:1、電路。需要兩個通道,一個作為計數,選用通道0。另一個產生1KHz信號,選用通道1。工作原理如下,傳感器電路把物理事件轉換為脈沖信號輸入到通道0計數,當記錄10000個事件后,通道0計數器溢出,GATE端輸出高電平,這時通道1開始工作,產生1KHz信號推動喇叭發音OUT0GATE0CLK01MHz8253通道0+5VOUT1GATE1CLK18253通道1計件脈沖驅動放大【例】2、工作方式選擇對于通道1,由于要產生1KHz信號,故選用工作方式3。對于通道0,要求初始計數值寫入計數通道后,計數器就可以工作,則通道0的啟動方式應是軟件啟動。另外由于要求計數溢出后產生一個信號來啟動一個事件,即喇叭發音,故可選的工作方式為方式0和方式4,對于圖所示方案,通道1的GATE信號由通道0的OUT信號產生,這個OUT信號應該是電平型的,所以通道0應選用方式0。

【例】3、時間常數N0=10007.2可編程并行接口芯片8255A8255A與CPU接口的信號連接8255A與外設的信號連接8255A三種工作方式和設置應用舉例1234并行接口芯片8255A特點傳輸速度快信息率高用電纜多6.2.18255A的內部結構與外部引腳下圖為典型的并行接口和外設連接的示意圖

1.數據端口A、B、C端口A、B、C每一個對應1個8位數據輸入鎖存器1個8位輸出鎖存器/緩沖器通常使用方法:端口A、B作為獨立的輸入或者輸出端口端口C配合端口A、B2.A組控制和B組控制(1)A組控制電路控制端口A和端口C的高4位的工作方式和讀寫操作。(2)B組控制電路控制端口B和端口C的低4位的工作方式和讀寫操作。3.8255A的芯片引腳信號4.與外設一側相連的信號PA7~PA0——A組數據信號;PB7~PB0——B組數據信號;PC7~PC0——C組數據信號。5.與CPU一側相連的信號RESET 復位信號,高電平有效。D7~D0 數據線。CS 片選信號。RD 讀出信號。WR 寫入信號。A1、A0 端口選擇信號。6.8255A的端口編址與讀寫操作8255工作方式8255A方式選擇注意:有三種基本工作方式:方式0——基本的輸入輸出方式方式1——選通的輸入輸出方式方式2——雙向傳輸方式只有端口A能工作在方式2同一組的兩端口可分別工作在輸入和輸出方式1.方式0—基本型輸入輸出方式方式0的工作特點端口可作為輸入口,也可作為輸出口。可以有16種不同的組合2.方式1—選通型輸入輸出方式1的特點端口A、B可分別工作在方式1。端口C配合方式1控制字輸入方式1示意圖控制字工作方式1信號說明上圖控制信號說明:STB選通信號IBF緩沖器滿信號INTR送往CPU的中斷請求信號INTE中斷允許信號下圖為方式1的輸入時序方式1輸出時序OBF輸出緩沖器滿信號ACK外設響應信號INTR中斷請求信號INTE中斷允許信號方式1時輸出端口對應的控制信號和狀態信號

3.方式2---雙向數據傳輸方式2的特點只適用于端口A。端口C用5個數位提供控制和狀態信號。方式2的使用場合一個并行外設既可以作為輸入又可以作為輸出輸入輸出動作不會同時進行6.2.28255A的控制字與初始化編程控制字分為兩類:各端口的方式選擇控制字;C端口按位置1/置0控制字。1.方式選擇控制字2.C端口置1/置0控制字置1/置0控制字注意:

必須寫入控制口

D0位決定置1或置0

D3、D2、D1位決定了對哪一位操作

D7位必須為0置1/置0控制字注意:必須寫入控制口D0位決定置1或置0D3、D2、D1位決定了對哪一位操作D7位必須為03.8255A初始化編程步驟:

寫方式控制字到控制端口

如工作在方式1、2查詢,設置端口C6.2.48255A應用舉例電路LED數碼管段碼表

例:8255A的A口和B口工作在方式0,A口為輸入端口,接有四個開關。B口為輸出端,接有一個七段發光二極管,連接電路如圖所示。試編一程序要求七段發光二級管顯示開關所撥通的數字。電路LED數碼管段碼表

moval,90h ;設置8255方式字movdx,ctrl_portoutdx,almovdx,a_portinal,dx ;取鍵盤信息notalandal,0fh ;屏蔽高4位movbx,offsettab1 ;取段碼表首地址xlat ;查表得段碼movdx,b_port ;輸出顯示outdx,al例2:8255A的A口和B口分別工作在方式1和方式0,A口為輸入端口,接有8個開關。B口為輸出端,接有8個發光二極管,連接電路如圖所示。現要求用方式1把改變后的鍵信息輸入到CPU并通過B口顯示。8255AKK7K0PA0PA7……PC4PB0PB7PC5LED0LED7LED……STBAIBFA例3:與打印機接口

在某一8086系統中接有一個打印機,8255A作為輸出接口。工作在方式0,試編一程序將緩沖區BUFF內的400H個字節的ASCII碼送打印機打印。打印機具體工作過程如下:1、數據線D7—D0出現有效數據;2、STB有效,通知打印機,接口給打印機一個數據,數據從數據線進入打印機;3、BUSY有效,告訴接口,打印機正在打印數據。打印完畢,BUSY變為無效,表示打印結束。8255APA0PA7……打印機D0D7PC0PC4STBBUSY例4、人機交互接口——動態顯示常用的顯示稱為動態顯示,它采用掃描顯示技術,可以使硬件開銷降低很多。對于一個8位數據顯示,它就需要兩個輸出端口就可以了。其電路如圖所示。在兩個輸出端口中,一個稱為段信號通道,它用來輸出要顯示數據的段碼;另一個稱為位信號通道,用來決定當前要顯示數據的位置。…………A口8255APA7||PA0B口8255APB7||PB0………………+5V段信號通道位信號通道段驅動位驅動LED6LED7…………例5、人機交互接口——鍵盤掃描左圖所示為矩陣式鍵盤電路,其特點是由按鍵組成一個矩陣,矩陣的行線和列線分別作為兩個傳輸方向相反的I/O接口信號,比如行線作為輸號線,或反之。8255APC0PC1PC2PC3PC4PC5PC6PC7+5VK8K10K9K11K0K2K1K3K4K6K5K7K12K14K13K157.3串行通信串行通信基本概念及通信協議接口標準及接口設計接口芯片應用舉例1234并行通信的缺點通信線路費用昂貴由于眾多的連接線容易引起碼間串擾,而且易發生線路故障,大大降低整個通信系統的可靠性。串行通信特點傳送的信息按位順序傳送。特點-信息包括數據信息+控制聯絡信息-數據傳輸方式:全雙工和半雙工-信息格式:同步和異步-需要邏輯電平轉換

溫馨提示

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

評論

0/150

提交評論