微機接口芯片(2)—— 可編程定時/計數接口芯片 8253/8254

  • 總結微機原理課學習的若干芯片
  • 教材——《微機原理與接口技術》

〇、思維導圖

在這裏插入圖片描述

一、定時/計數 概述

  • 實際應用中,經常用到定時或計數控制,如定時中斷、定時檢測、定時掃描、各種計數等。
  • 實現定時控制的三種基本方法
    在這裏插入圖片描述
  • intel的8253/8254是微機系統中應用較多的定時計數器,8253工作頻率最高2.6MHz;8254工作頻率爲10~12MHz,二者除了頻率和少數幾處不同外幾乎沒有差別。

二、8253/8254 內部結構及引腳信號

  • 8254具有3個功能相同又相互獨立的16位減法計數器,每一個計數器可以進行二進制計數和BCD碼計數,每個計數通道具有6鍾功能各異的工作方式。

1. 主要功能

在這裏插入圖片描述

2. 內部結構和外部引腳

(1)結構圖

在這裏插入圖片描述

(2)組成

  1. 數據總線緩衝器

    1. 通用可編程接口芯片的共有部分,用來和系統數據總線相連的8位雙向三態驅動器,8253/8254可以通過他讀寫總線數據
  2. 讀寫邏輯

    1. 通用可編程接口芯片的共有部分,接受cpu發來的控制信號、片選信號或命令選擇信號等,再通過它產生對內部各部件的讀寫
    2. 相關引腳
      在這裏插入圖片描述
      在這裏插入圖片描述
  3. 控制寄存器

    1. 用於存放CPU發來的控制字,以確定計數器的工作方式
  4. 3個計數器

    1. 計數器0/1/2是相互獨立的16位減法計數器。既可進行二進制計數,又能進行十進制(BCD)計數,這由控制字決定。
    2. 計數器引腳
      在這裏插入圖片描述

三、8253/8254的工作方式

1. 方式0:中斷信號發生器

  1. 寫完初值N,經過N+1個CLK脈衝後,OUT變化
  2. 計數器不會自動重裝初值,也不會重新計數
    在這裏插入圖片描述

2. 方式1:單穩負脈衝信號發生器

  1. 初始值設爲N,產生N個clk寬度的負脈衝
  2. 計數器不會自動重裝初值,也不會重新計數
    在這裏插入圖片描述

3. 方式2:速率信號發生器

  1. 初始值設爲N,產生N個clk寬度的連續波信號
  2. 自動重裝並重新計數
    在這裏插入圖片描述

4. 方式3: 方波信號發生器

  1. 初始值設爲N,產生週期爲N倍時鐘週期的方波信號(佔空比等於或約等於1:1)

  2. 自動重裝並重新計數

    在這裏插入圖片描述

5. 方式4:軟件觸發的選通信號發生器

  1. 在N個clk的延時後生成一個clk寬度的負脈衝(選通信號)
  2. 不自動重裝,不計數

在這裏插入圖片描述

6. 方式5:硬件觸發的選通信號發生器

  1. 在N個clk的延時後生成一個clk寬度的負脈衝(選通信號)
  2. 不自動重裝,不計數(和方式4的區別僅在於觸發方式不同)

在這裏插入圖片描述

四、8253/8254編程方法

1. 控制字

在這裏插入圖片描述

2. 初始化

在這裏插入圖片描述

3. 示例

  1. 題目:
    在這裏插入圖片描述
  2. 分析:
    1. 計數初值分析
      在這裏插入圖片描述
    2. 控制字
      (1)OUT0(計數器0)輸出方波(方式3),計數值80(低8位寫80,二進制計數):0001 0110B
      (2)OUT1(計數器1)輸出連續脈衝(方式2),計數值4000(16位寫4000,二進制計數):0111 0100B
      (3)OUT2(計數器2)輸出單個脈衝(方式1),計數值0(16位寫0,二進制計數):1011 0010B
  3. 代碼:
    在這裏插入圖片描述

五、8253應用(典型PC機應用實例)

(1)示例1:

  • 8088微機中使用了一片8253,用OUT0產生時鐘信號,OUT1產生DMA通道0用於DRAM刷新控制信號,OUT2產生方波信號,通過驅動和濾波器後推動揚聲器,相關原理圖如下,編寫8253初始化程序
    在這裏插入圖片描述

  • 分析:

    1. OUT0產生時鐘信號,就是方波,工作方式爲3。GATE恆高電平滿足。要求55ms產生一次中斷,即每秒約18.206次,又fclk輸入爲1.19318MHz,所以計數值爲1.19318*10^6/18.206 = 65536,所有計數初值寫0,用16位長二進制計數
    2. OUT1產生連續脈衝,工作方式爲2。GATE恆高電平滿足。要求每15.08us啓動刷新DRAM,計數初值爲1.19318*15.08 = 18,低8位二進制計數即可
    3. OUT2產生1KHz方波,工作方式爲3。GATE恆高電平,即8255PB0輸出高電平發聲,輸出低電平靜音。計數初值1.19318M/1K = 1193,16位二進制計數
  • 示例代碼:
    在這裏插入圖片描述

(2)示例2:

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章