第七章 8254 可程式規劃計時 / 計數器

37
著著著著著 著著著著著 © 2004 © 2004 著著著 著著著 著著著 著著著 著著著 著著著 1 第第第 8254 第第第第第第第 / 第第第 8254 Programmable Timers

Upload: emmanuel-hansen

Post on 01-Jan-2016

125 views

Category:

Documents


10 download

DESCRIPTION

第七章 8254 可程式規劃計時 / 計數器. 8254 Programmable Timers. 內容大綱. 8254 簡 介 8254 可程式規劃計時 / 計數器 8254 內部構造 、 8254 接腳 、 8254 控制字碼、 8254 工作模式 、 8254 回讀控制 脈波寬度調變輸出控制 (PWM) 直流馬達速度控制實習. 內容大綱 ( 我們在哪裡 ?). 8254 簡 介 8254 可程式規劃計時 / 計數器 8254 內部構造 、 8254 接腳 、 8254 控制字碼、 8254 工作模式 、 8254 回讀控制 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊11

第七章 8254可程式規劃計時 / 計數器

8254 Programmable Timers

Page 2: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊22

內容大綱 82548254 簡簡介介 82548254 可程式規劃計時可程式規劃計時 // 計數器 計數器 82548254 內部構造 、內部構造 、 82548254 接腳 、接腳 、 82548254 控制字碼、控制字碼、 82548254 工作模式 、工作模式 、 82548254 回讀控制 回讀控制 脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

直流馬達速度控制實習直流馬達速度控制實習

Page 3: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊33

內容大綱 (我們在哪裡 ?)

82548254 簡簡介介 82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 82548254 內部構造 、內部構造 、 82548254 接腳 、接腳 、 82548254 控制字碼、控制字碼、 82548254 工作模式 、工作模式 、 82548254 回讀控制 回讀控制 脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

直流馬達速度控制實習直流馬達速度控制實習

Page 4: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊44

8254簡介 82548254 乃是一顆由乃是一顆由 33 個各自獨立之個各自獨立之 1616 位元可程式規劃計數位元可程式規劃計數

器所組成之器所組成之 ICIC 。。 各個計數器可以十進位或二進位之方式來計數,並可以各個計數器可以十進位或二進位之方式來計數,並可以

軟體規劃為軟體規劃為 66 種不同之工作模式種不同之工作模式 。。 對需要控制即時事件之微電腦系統而言,對需要控制即時事件之微電腦系統而言, 82548254 乃是極有乃是極有

用之元件,例如時間計算用之元件,例如時間計算 (C(C++++BuilderBuilder 之之 clock)clock) 、計數、、計數、馬達速度與轉向控制等馬達速度與轉向控制等。。

Page 5: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊55

內容大綱 (我們在哪裡 ?)

82548254 簡簡介介 82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 82548254 內部構造 、內部構造 、 82548254 接腳 、接腳 、 82548254 控制字碼、控制字碼、 82548254 工作模式 、工作模式 、 82548254 回讀控制 回讀控制 脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

直流馬達速度控制實習直流馬達速度控制實習

Page 6: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊66

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 82548254 內部構造內部構造 (1) (1) 資料匯流排緩衝區資料匯流排緩衝區

(Data Bus Buffer)(Data Bus Buffer)

(2) (2) 讀寫控制邏輯讀寫控制邏輯

(Read Write Control Logic) (Read Write Control Logic)

(3)(3) 控制字碼暫存器 控制字碼暫存器

(Control Word Register) (Control Word Register)

(4)(4) 計數器 計數器 #0#0 、、 #1 #1 、、 #2#2

8254 之內部構造示意圖 (Intel)

計數器0

計數器1

計數器2

資料匯流排緩衝區

控制字碼暫存器

CLK 0GATE 0OUT 0

CLK 1GATE 1OUT 1

CLK 2GATE 2OUT 2

讀/寫邏輯

Page 7: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊77

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

82548254 內部構造內部構造 (1) 資料匯流排緩衝區

此此 88 位元之緩衝區用來處理位元之緩衝區用來處理 82548254 與與 CPUCPU 之資料傳輸,當之資料傳輸,當 CPUCPU執行執行

inportbinportb 指令時,指令時, 82548254 之資料即可由此緩衝區藉資料匯流排之資料即可由此緩衝區藉資料匯流排 DD77- D- D00

送至送至 CPUCPU ,反之;當,反之;當 outportboutportb 被執行時,資料由被執行時,資料由 CPUCPU 經此緩衝經此緩衝區送區送

至至 82548254 。 。

Page 8: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊88

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 內部構造內部構造 (2) 讀寫控制邏輯

讀寫控制邏之功能由讀寫控制邏之功能由 AA11 ,, AA00 ,, RDRD ,, WRWR ,, CSCS 等腳位加以控等腳位加以控制,主制,主

要是用以操控要是用以操控 82548254 之資料寫入,讀取與禁能。 之資料寫入,讀取與禁能。 CS RD WR A1 A0 功 能

0 1 0 0 0 CPU將資料寫入#0計數器

0 1 0 0 1 CPU將資料寫入#1計數器

0 1 0 1 0 CPU將資料寫入#2計數器

0 1 0 1 1 CPU將控制字組寫入8254

0 0 1 0 0 CPU讀取#0計數器的資料

0 0 1 0 1 CPU讀取#1計數器的資料

0 0 1 1 0 CPU讀取#2計數器的資料

0 0 1 1 1 沒有作用

1 X X X X 禁用

0 1 1 X X 沒有作用

Page 9: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊99

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 內部構造內部構造 (3) 控制字碼暫存器控制字碼暫存器

控制字碼暫存器乃是用來儲存 8254 控制字碼 (7-3 節 )之所在,

僅能由 CPU 寫入資料而不能被讀取 。

(4)(4) 計數器 計數器 #0#0 、、 #1 #1 、、 #2#2

◇ ◇ 82548254 內含三個內含三個 1616 位元之計數器位元之計數器 (( 計數器計數器 0,1, 2) 0,1, 2) 。

◇ ◇ 可由軟體設定不同之工作模式可由軟體設定不同之工作模式 (mode0-mode5)(mode0-mode5) 做為計數做為計數與計時之應用與計時之應用 。

◇ ◇ 每個計數器分別以每個計數器分別以 CLK, GATE, OUTCLK, GATE, OUT 等三支接腳與外部等三支接腳與外部相連相連, CLKCLK 與與 GATEGATE 為輸入接腳,為輸入接腳, OUTOUT 則是輸出接腳 則是輸出接腳 。

Page 10: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1010

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 接腳接腳 (1)   電源接腳: Vcc : +5V GND :接地 (2) 資料匯流排:

D7-D0 (8 位元 ) :接至 CPU 之資料匯流排

(3)  晶片選擇與 I/O 埠選擇:

CS :設定 8254 之致能或禁能 A0 、 A1 :用以選擇計數器或 控制暫存器

8254 接腳圖

8254

123456789

101112

242322212019181716151413

D7D6D5D4D3D2D1D0

CLK 0OUT 0

GATE 0GND

VCCWRRDCSA1A0CLK 2OUT 2GATE 2CLK 1GATE 1OUT 1

Page 11: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1111

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 接腳接腳 (4)  控制線 ( 接至 CPU) :

RD: 讀取控制 WR: 寫入控制 (5) 計數器控制線 : CLK0-2 : 此三支接腳分別是三個計數

器之時脈信號輸入線,通常連至時脈信號產生器。

GATE0-2 :此三支接腳分別是三個計數器之致能 (enable) 控制輸入線。

OUT0-2 :此三支接腳乃是三個計數器之計數信號輸出線。

8255A 接腳圖

8254

123456789

101112

242322212019181716151413

D7D6D5D4D3D2D1D0

CLK 0OUT 0

GATE 0GND

VCCWRRDCSA1A0CLK 2OUT 2GATE 2CLK 1GATE 1OUT 1

Page 12: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1212

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 控制字碼控制字碼8254 有 6 種不同之工

模式與多種不同之資

料傳輸方式,因此;

欲使用 8254 做計時或

技數工作前,必須將

所需之功能以控制字

碼隻方式寫入其控制

字碼暫存器中。

D7

SC1

D6

SC0

D5

RW1

D4

RW0

D3

M2

D2

M1

D1

M0

D0

BCD

0

1

二進位計數

BCD計數

工 作 模 式

模 式 0

模 式 1

模 式 2

模 式 3

模 式 4

模 式 5

鎖住計數器以便穩定讀數

讀/存次序

只讀/寫高次位元組

只讀/寫低次位元組

先讀/寫低次位元組 再讀/寫高次位元組

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0 0

0 0

X 1

X 1

0

1

0

1

1 0

1 0

0

1

選擇計數器0

選 擇 計 數 器

選擇計數器2

選擇計數器1

回讀命令

Page 13: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1313

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

82548254 控制字碼控制字碼 Example 7-1Example 7-1

電腦音樂寫入電腦音樂寫入 43H43H 之控制字碼為之控制字碼為B6H=10110110B6H=10110110

0

SC1

1

SC0

1

RW1

1

RW0

0

M2

0

M1

1

M0

0

BCD

0

1

二進位計數

BCD 計數

工 作 模 式

模 式 0

模 式 1

模 式 2

模 式 3

模 式 4

模 式 5

鎖住計數器以便穩定讀數

/讀 存次序

/只讀 寫高次位元組

/只讀 寫低次位元組

/ /先讀 寫低次位元組 再讀 寫高次位元組

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1

0 0

0 0

X 1

X 1

0

1

0

1

1 0

1 0

0

1

選擇計數器0

選 擇 計 數 器

選擇計數器2

選擇計數器1

回讀命令

1 0 1 1 0 1 1 0

16進位制模式3

/先讀寫低次位元 再讀寫高次位元選擇計數器#2

Page 14: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1414

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

82548254 工作模式工作模式 82548254 每個計數器皆有六種工作模式可選用:每個計數器皆有六種工作模式可選用:

模式模式 00 :計數終了時中斷:計數終了時中斷 (Interrupt On Terminal Count)(Interrupt On Terminal Count)

模式模式 11 :可程式規劃之單擊:可程式規劃之單擊 (One Shot Programmable)(One Shot Programmable)

模式模式 22 :脈波產生器:脈波產生器 (Rate Generator)(Rate Generator)

模式模式 33 :方波產生器:方波產生器 (Square-wave generator)(Square-wave generator)

模式模式 44 :軟體觸發選通:軟體觸發選通 (software-triggered strobe)(software-triggered strobe)

模式模式 55 :硬體觸發選通:硬體觸發選通 (Hardware-triggered strobe)(Hardware-triggered strobe)

Page 15: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1515

82548254 工作模式工作模式模式模式 00 :計數終了時中斷:計數終了時中斷

CWCW :資料寫入:資料寫入 82548254 之動作之動作

CLKCLK :輸入:輸入 82548254 之脈波信之脈波信號號

GATEGATE :致能控制信號:致能控制信號

OUTOUT :計數結果輸出信號:計數結果輸出信號

CWCW == 10H10H == 00010000b00010000b ,,代表代表 1616 進位計數,進位計數,模式模式00 ,僅讀∕寫低次位元,,僅讀∕寫低次位元,選擇計數器選擇計數器 #0 #0 。 。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

GATE

CLK

OUT

WR

CW=10H LSB=3H

FFFD

FFFE

FFFF

00

01

02

03

NNNN

GATE

CLK

OUT

WR

CW=10H LSB=3H

FFFF

00

01

02

02

02

03

NNNN

GATE

CLK

OUT

WR

CW=10H LSB=3H

FFFF

00

01

02

01

02

03

NNNN

LSB=2H

Page 16: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1616

82548254 工作模式工作模式模式模式 11 :可程式規劃之單擊:可程式規劃之單擊

CW=12H=00010010bCW=12H=00010010b ,除模,除模

式的選定改為式的選定改為 1 1 外,其餘設外,其餘設

定與模式定與模式 00 相同。 相同。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

02

WR

CW=12H LSB=3H

CLK

GATE

03

FFFF

00

01

02

03

NNNNN

OUT

00

WR

CW=12H LSB=3H

CLK

GATE

01

02

03

01

02

03

NNNNN

OUT

02

WR

CW=12H LSB=2H

CLK

GATE

03

FFFE

FFFF

00

01

02

NNNNN

OUT

LSB=3H

Page 17: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1717

82548254 工作模式工作模式模式模式 22 :脈波產生器:脈波產生器

CW=14H=00010100bCW=14H=00010100b ,表示,表示

模式設定為模式設定為 22 ,模式,模式 22 設定設定完完

成後 。 成後 。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )WR

CW=14H LSB=3H

CLK

GATE

OUT

03

01

02

03

01

02

03

NNNN

WR

CW=14H LSB=3H

CLK

GATE

OUT

03

01

02

03

02

02

03

NNNN

WR

CW=14H LSB=4H LSB=3H

CLK

GATE

OUT

01

02

03

01

02

03

04

NNNN

Page 18: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1818

82548254 工作模式工作模式模式模式 33 :方波產生器:方波產生器

CW=16H=00010110bCW=16H=00010110b 模式設模式設

定為定為 3,3, 模式模式 33 與模式與模式 22 相似相似點點

乃是其輸出波型之週期亦是乃是其輸出波型之週期亦是

CLKCLK 時脈信號之時脈信號之 NN 倍倍 ,, 且計且計數數

工作連續反覆執行工作連續反覆執行 ,, 與模式與模式22

相異之處是模式相異之處是模式 33 輸出波型輸出波型

為方波。為方波。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

02

WR

CW=16H LSB=4H

CLK

GATE

04

02

04

02

04

02

04

NNNN

OUT

00

WR

CW=16H LSB=5H

CLK

GATE

02

04

02

04

00

02

04

NNNN

OUT

02

WR

CW=16H LSB=4H

CLK

GATE

04

02

02

02

04

02

04

NNNN

OUT

Page 19: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊1919

82548254 工作模式工作模式模式模式 44:: 軟體觸發選擇軟體觸發選擇

CW=18H=00011000b 模式設

定為 4, 模式 4 與模式 2 有些許

相似處 , 當計數至 00 時(模式

2 為 01 ) , OUT 輸出一低電位

之脈衝信號 , 然而模式 4 僅執

行一次之計數工作 .

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )WR

CW=18H LSB=3H

CLK

GATE

OUT

FFFD

FFFE

FFFF

00

01

02

03

NNNN

WR

CW=18H LSB=3H

CLK

GATE

OUT

FFFF

01

01

02

03

03

03

NNNN

WR

CW=18H LSB=3H LSB=2H

CLK

GATE

OUT

FFFF

00

01

02

01

02

03

NNNN

Page 20: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2020

82548254 工作模式工作模式模式模式 44:: 軟體觸發選擇軟體觸發選擇

CW=18H=00011000b 模式設

定為 4, 模式 4 與模式 2 有些許

相似處 , 當計數至 00 時(模式

2 為 01 ) , OUT 輸出一低電位

之脈衝信號 , 然而模式 4 僅執

行一次之計數工作 .

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )WR

CW=18H LSB=3H

CLK

GATE

OUT

FFFD

FFFE

FFFF

00

01

02

03

NNNN

WR

CW=18H LSB=3H

CLK

GATE

OUT

FFFF

01

01

02

03

03

03

NNNN

WR

CW=18H LSB=3H LSB=2H

CLK

GATE

OUT

FFFF

00

01

02

01

02

03

NNNN

Page 21: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2121

82548254 工作模式工作模式模式模式 55:: 硬體觸發選擇硬體觸發選擇

CW=1AH=00011010b ,模式

設定為 5 ,模式 5 可看成是模

式 1 與模式 4 之組合,計數至

01 時 OUT 輸出一低電位之脈

衝信號。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

02

WR

CW=16H LSB=4H

CLK

GATE

04

02

04

02

04

02

04

NNNN

OUT

00

WR

CW=16H LSB=5H

CLK

GATE

02

04

02

04

00

02

04

NNNN

OUT

02

WR

CW=16H LSB=4H

CLK

GATE

04

02

02

02

04

02

04

NNNN

OUT

Page 22: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2222

82548254 回讀控制回讀控制1.1. 以外部硬體電路控制以外部硬體電路控制藉由外部電路控制藉由外部電路控制 GATEGATE 在低位,在低位,計計數器即可暫時停止計數,數器即可暫時停止計數, CPUCPU 即可即可讀讀取計數器之數值。取計數器之數值。2.2. 寫入計數器鎖住命令寫入計數器鎖住命令 如表如表 7-27-2 ,當,當 DD55 ,, DD4 4 (RW(RW

11 ,, RWRW00))設定設定

為為 0000 時可將計數器數值鎖住,以利時可將計數器數值鎖住,以利CPUCPU 正確讀取,正確讀取, DD77 ,, DD6 6 (SC(SC

11 ,, SCSC00)) 兩兩

個位元則用來選擇計數器,個位元則用來選擇計數器, DD33-D-D00 設設

定為定為 00 即可。當計數器鎖住命令寫即可。當計數器鎖住命令寫入入後,所選定計數器之數值即保持不後,所選定計數器之數值即保持不變,直到變,直到 CPUCPU 將資料讀取後才繼續將資料讀取後才繼續工作。工作。

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 )

D7

SC1

D6

SC0

D5

RW1

D4

RW0

D3

M2

D2

M1

D1

M0

D0

BCD

鎖住計數器以便穩定讀數

讀/存次序

0 0

選 擇 計 數 器

D7

SC1

D6

SC0

D5

RW1

D4

RW0

D3

M2

D2

M1

D1

M0

D0

BCD

鎖住計數器以便穩定讀數

讀/存次序

0 0

選 擇 計 數 器

Page 23: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2323

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

Example 7-2 : Example 7-2 : 讀取讀取 #0#0 計數器之資料計數器之資料

outportb(outportb( 控制暫存器住址,控制暫存器住址, 0x00)0x00) ;;寫入控制字碼寫入控制字碼

value=inportb(#0value=inportb(#0 計數器位址計數器位址 ) & 0x00FF) & 0x00FF ;;先讀低次位元先讀低次位元

value1=inportb(#0value1=inportb(#0 計數器位址計數器位址 )<<8)<<8 ;;再讀高次位元再讀高次位元

value=value+value1value=value+value1 ;;

1010100100000000 1010100100000000

0000000010101001 0000000010101001

補 0

Page 24: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2424

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

3.3. 下達回讀指令下達回讀指令

D7 D6 D5 D4 D3 D2 D1 D0

1 1 COUNT STATUS CNT2 CNT1 CNT0 0

D5 : 0 鎖住被選取計數器的計數值=

D4 : 0 鎖住被選取計數器的狀態=

D3 : 1 選取#2計數器=

D2 : 1 選取#1計數器=

D1 : 1 選取#0計數器=

Page 25: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2525

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

3.3. 下達回讀指令下達回讀指令

DD44=0=0 表示欲將計數器之狀態鎖住,所得計數器之狀態包含表示欲將計數器之狀態鎖住,所得計數器之狀態包含 OUTOUT 之之

準位準位,,計數值是否允許讀取計數值是否允許讀取,,讀寫次序設定讀寫次序設定,,模式設定模式設定,,定位設定位設

定定等五項等五項 。。 D7 D6 D5 D4 D3 D2 D1 D0

Output Null Count M1 M0 BCD

:1 OUT接腳高電位=

:0 OUT接腳低電位=

:1 空計數值=

:0 表示計數值允許讀取=

:1 計數器規劃模式(表7-2)=

RW1 RW0 M2

D7

D6

D5~D0

Page 26: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2626

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

Example 7-3 : Example 7-3 : 以回讀指令讀取以回讀指令讀取 #0#0 計數器之計數值計數器之計數值

outprotb (outprotb ( 控制暫存器住址,控制暫存器住址, 0x00D2) ;0x00D2) ; 將回讀命令將回讀命令

D2H=11010010bD2H=11010010b 寫入寫入 82548254 鎖住鎖住 #0#0 計數器的計計數器的計數值數值

value=inportb(#0value=inportb(#0 計數器住址計數器住址 ) & 0X00FF ;) & 0X00FF ; 先讀低次位元先讀低次位元

value1=inportb(#0value1=inportb(#0 計數器住址計數器住址 )<<8 ;)<<8 ;再讀高次位元再讀高次位元

value=value+value1value=value+value1

Page 27: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2727

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

Example 7-4 : Example 7-4 : 讀取讀取 #2#2 計數器之狀態計數器之狀態

outportb(outportb( 控制暫存器位址,控制暫存器位址, 0x00E8) ;0x00E8) ; 將回讀命令將回讀命令

E8H=11001000bE8H=11001000b 寫入寫入 82548254 ,鎖住,鎖住 #2#2 計數器的計數器的狀態狀態

status=inportb(#2status=inportb(#2 計數器位址計數器位址 ) ;) ; 設設 statusstatus 之內容為之內容為

36H=00110110b36H=00110110b ,對照圖,對照圖 7-117-11 ,則知,則知 #2#2 計數器計數器之之

OUTOUT 為 低電位,計數值已寫入為 低電位,計數值已寫入 #2#2 中且允許被中且允許被讀讀

取,資料讀寫次序為先低後高取,資料讀寫次序為先低後高 (16(16 位位元元 )) ,模式設,模式設

定為定為 33 ,進位系統為,進位系統為 1616 進位。 進位。

Page 28: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2828

82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 (續 ) 82548254 回讀控制回讀控制

Example 7-5Example 7-5 ::同時讀取同時讀取 #1#1 計數器之計數值與狀態計數器之計數值與狀態 outportb(outportb( 控制暫存器位址,控制暫存器位址, 0x00C4);0x00C4); 將回讀命令將回讀命令 C4H=11000100bC4H=11000100b

寫寫

入入 82548254 ,鎖住,鎖住 #1#1 計數器之計數器之計數值與狀態計數值與狀態

status=inport(#1status=inport(#1 計數器位址計數器位址 ) ;) ; 第一次讀取之資料為計數器之狀態第一次讀取之資料為計數器之狀態

值值

value=inport(#1value=inport(#1 計數器位址計數器位址 )&0x00FF ;)&0x00FF ; 先讀取低次位元之計數值先讀取低次位元之計數值

value1=inport(#1value1=inport(#1 計數器位址計數器位址 )<<8 ;)<<8 ; 再讀高位元計數值再讀高位元計數值

value=value+value1 ;value=value+value1 ; 當計數器之計數值為與狀態被回讀命令同時當計數器之計數值為與狀態被回讀命令同時

鎖住時,第一筆讀回之資料為鎖住時,第一筆讀回之資料為狀態資料。狀態資料。

Page 29: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊2929

內容大綱 (我們在哪裡 ?)

82548254 簡簡介介 82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 82548254 內部構造 、內部構造 、 82548254 接腳 、接腳 、 82548254 控制字碼、控制字碼、 82548254 工作模式 、工作模式 、 82548254 回讀控制 回讀控制 脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

直流馬達速度控制實習直流馬達速度控制實習

Page 30: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3030

脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

所謂脈波寬度調變所謂脈波寬度調變 (Pulse Width Modulation(Pulse Width Modulation ,, PWM)PWM) 乃是指將輸乃是指將輸出出

信號之基本週期信號之基本週期 (Base Cycle)(Base Cycle) 固定,藉由調整基本週期內工作週固定,藉由調整基本週期內工作週期期

(Working Cycle)(Working Cycle) 之大小來控制輸出功率。之大小來控制輸出功率。 20%

40%

60%

80%

Time

PWMPWM 常取代常取代 DAC(DAC( 數位類比轉換器數位類比轉換器 )) 用於功率輸出控制,直流馬用於功率輸出控制,直流馬達達

與交流馬達之速度控制乃是最常見的應用。 與交流馬達之速度控制乃是最常見的應用。

Page 31: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3131

脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM) (PWM) (續 )

• PWMPWM 輸出控制電路輸出控制電路

PWM

PC 8253

Gate0

Clock0

OUT0

Gate1

Clock1

OUT1

5V

#0#0 計數器用來產生基本週期計數器用來產生基本週期,並於每個基本週期結束時送出一脈衝,並於每個基本週期結束時送出一脈衝信號至信號至 #1#1 之之 GATEGATE 接腳,接著接腳,接著 #1#1 計數器依寫入之計數值計數器依寫入之計數值 (( 工作週工作週

期期 )) 執執行計數工作行計數工作,, #1#1 之輸出信號即是之輸出信號即是 PWMPWM 輸出信號。輸出信號。

Page 32: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3232

脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM) (PWM) (續 )• PWMPWM 輸出控制電路輸出控制電路

OUT 0(計數器0寫入800 )

(計數器1寫入200 )

(計數器1寫入600 )

PWM輸出 (OUT 1)

PWM輸出 (OUT 1)

25%

75%

則則 #0#0 計數器需設定在模式計數器需設定在模式 22下工作下工作(參考圖(參考圖 7-67-6 )寫入之計數值為)寫入之計數值為基基

本週期,每次計數結束後由本週期,每次計數結束後由 OUTOUT 輸出一脈衝信號,輸出一脈衝信號, #1#1 計數器則設計數器則設定定

在模式在模式 11下工作下工作(參考圖(參考圖 7-57-5 ),模式),模式 11 之計數工作由之計數工作由 GATEGATE 之脈之脈衝信衝信

號來控制,來自號來控制,來自 OUT0OUT0 之脈衝信號正好做為之脈衝信號正好做為 #1#1 之計數控制信號之計數控制信號。。由由

於模式於模式 11 在計數時輸出為低電位,計數結束時則在計數時輸出為低電位,計數結束時則 OUTOUT 變為高電位變為高電位,,

圖為再接上一個反向器將其輸出信號反向。圖為再接上一個反向器將其輸出信號反向。

Page 33: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3333

脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM) (PWM) (續 )• PWMPWM輸出控制程式設計輸出控制程式設計 欲產生欲產生 25%25% 之之 PWMPWM 輸出信號,則可以下列程式配合圖輸出信號,則可以下列程式配合圖 7-137-13 之電之電

路來路來完成。完成。

outportb(outportb( 控制暫存器位址控制暫存器位址 ,0x0034) ;,0x0034) ; #0#0 設定為模式設定為模式 22

outportb(outportb( 控制暫存器位址控制暫存器位址 ,0x0072) ;,0x0072) ; #1#1 設定為模式設定為模式 11

outportb(#0outportb(#0 計數器位址計數器位址 ,0x0800) ;,0x0800) ; 將基本週期將基本週期 800H800H 寫入寫入 #0 #0 計數器計數器

outportb(#1outportb(#1 計數器位址計數器位址 ,0x0200) ;,0x0200) ; 將工作週期將工作週期 200H200H 寫入寫入 #1#1 計數器計數器

Page 34: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3434

內容大綱 (我們在哪裡 ?)

82548254 簡簡介介 82548254 可程式規劃計時可程式規劃計時 // 計數器計數器 82548254 內部構造 、內部構造 、 82548254 接腳 、接腳 、 82548254 控制字碼、控制字碼、 82548254 工作模式 、工作模式 、 82548254 回讀控制 回讀控制 脈波寬度調變輸出控制脈波寬度調變輸出控制 (PWM)(PWM)

直流馬達速度控制實習直流馬達速度控制實習

Page 35: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3535

直流馬達速度控制實習直流馬達速度控制實習 Exercise 7-1

(1) 完成如圖 7-15 之直流馬達速 度控制硬體電路。(2) 完成如圖 7-13 之 PWM 輸出 控制電路。(3) 完成 Exercise 3-8 之直流馬達 速度控制程式設計。 (4)整合前三項之結果完成直流馬達 速度控制系統,使用者僅需

將 PWM 輸出功率百分比鍵入,馬達 即可一要求之轉速運轉。

5V

Motor1N414

8

2SC1959

2SC1384

3308253

OUT1

Page 36: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3636

直流馬達正反轉速度控制直流馬達正反轉速度控制 Exercise 7-2

(1) 延續 Exercise7-1 完成如圖 7-16 所示之直流馬達正反轉速度控制

體電路。

(2) 延續 Exercise7-1 完成 Exercise3-8 之直流馬達正反轉速度控制程

式設計。

(3) 整合前二項結果完成直流馬達正反轉速度控制系統。

Page 37: 第七章  8254 可程式規劃計時 / 計數器

著作權所有 著作權所有 © 2004© 2004 王國禎、楊烽正王國禎、楊烽正、余文俊、余文俊3737

直流馬達正反轉速度控制直流馬達正反轉速度控制

2SC1959

2SC1384

RL1

RL2

motor

8253 OUT

+5 V

PB0

+5 V

330Ω

+5 V

180Ω

2SC1815

2SD669