You are on page 1of 21

Nguyn nh Luyn CHNG VI

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn B nh thi 8253/54

125

6.1. B nh thi 8253

* Gii thiu Trong my tnh PC ngi ta s dng mt ng h ng b hot ng ca tt c cc chip ngoi vi ni ti CPU. Tn s ng h cao nht c dng cho b vi x l 80x86. Mt s thit b ngoi vi lm vic vi tn s thp hn. B nh thi lp trnh c PIT 8253/54 (Programable Interval Timer) dng gim tn s ng h theo ng yu cu ca cc ng dng. Vi mch lp trnh 8253A l mt mch m c lp trnh (programmable interval timer/counter). N thc hin chc nng chnh trong my tnh IBM-PC l mch iu khin thi gian, pht tn hiu ng h, kim sot one-shot, m s kin, pht tn s v iu khin motor. * T chc s khi v b tr chn ca 8253A
BUS d liu v iu khin ni b
D0-D7
B m BUS d liu

Data RD W A0 A1 CS

count 0 count 1

CLK0 Gate0 Out0 CLK1 Gate1 Out1

c ghi logic

Thanh ghi t /k

count 2

CLK2 Gate2 Out2

Hnh 7.1 S chc nng mch nh thi lp trnh ho 8253A

Mch 8253 gm c ba b m 16 bits c th lp trnh v hot ng c lp vi nhau. Chng c th hot ng Mode m nh phn hoc BCD. C th chia cu trc ca 8253 lm 3 phn: - Li vo gm b m d liu vo (Data Bus Buffer), mch iu khin logic c/ghi (Read/Write Logic) v thanh ghi t iu khin (Control Word

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

126

Register). - Bus ni b dng chuyn s liu v cc tn hiu iu khin gia u vo v u ra. - u ra gm c ba b m 16 Bits lm vic trong ch m ngc. Khi B m BUS d liu - Data Bus Buffer: Gm cc u ra D0-D7 l cc cng ba trng thi, c hai chiu c dng ni 8253 vi Bus h thng ca my tnh. S liu s c pht hoc nhn nh cc lnh INPUT hoc OUTPUT ca BVXL. B m d liu c 3 chc nng c bn sau: - Lp cc Mode lm vic cho 8253. - Np s liu cho cc b m. - c gi tr ca cc b m. Khi dc ghi Logic: Gm c Mch kim sot logic c/ ghi nhn iu khin t Bus h thng v pht tn hiu iu khin cho cc khi chc nng ca 8253. Mch c chn hoc cm bi tn hiu CS. Thanh ghi t iu khin - Control Word Register Thanh ghi t iu khin c chn khi A0, A1 c gi tr logic 1 1, s liu c ghi t Data Bus Buffer vo thanh ghi l cc ch lm vic cho cc con m l m nh phn, m BCD v np gi tr u cho mi con m. Control Word Register ch c th ghi s liu c vo ch khng th c s liu trn n. Ba b m Counter #0, Counter #1, Counter#2 Ba b m nh m t trn, mi b m l 16 Bits c th t c, lm Bng 6.1. nh a ch cng ca vic ch m li, theo m nh phn 8253/54 hoc BCD u vo v u ra c th lp Cng CS A1 A0 trnh qua Control Word Register. Vic c 0 0 0 B m 0 ni dung ca cc con m c th c 0 0 1 B m 1 thc hin nh lnh c. 0 1 0 B m 2 * B tr chn ca 8253/54 0 1 1 Thanh ghi iu khin
1 x x Khng chn 8253/54 A0, A1, CS B nh thi 8253/54 c 3 b m. Cc b m lm vic c lp v c lp trnh ring c th thc hin chia tn s vo cho gi tr nm trong khong t 1 - 65536. Mi b m c gn mt a ch cng. Thanh ghi iu khin dng chung cho c 3 b m c a ch cng ring. Nh vy, b nh thi 8253/54 c tng cng 4 cng. Cc cng c

a ch ho bng cc chn A0, A1 v CS , nh gii thiu bng 6.1. Mi b

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn m c 3 chn l CLK (clock), D7 1 24 Vcc D6 2 23 GATE v OUT (hnh 6.2). WR D5 3 22 RD RD (chn 22) l tn hiu c D4 4 21 CS 8 D3 5 20 mc tch cc thp dng bo A1 2 D2 6 19 A0 cho 8253 bit rng BVXL ang 5 D1 7 18 CLK2 c s liu t 8253. D0 8 17 3 OUT2 CLK0 9 16 GATE2 WR (chn 23) l tn hiu c OUT0 10 15 CLK1 mc tch cc thp dng bo GATE 0 11 14 GATE1 GND 12 13 OUT1 cho 8253 bit rng BVXL ang thc hin ghi s liu vo cc CLK0 thanh gi ca 8253. D7-D0 CLK CLK l tn s ng h vo. i vi 8253, tn s ny c gi tr trong khong 0-2 MHz. Vi tn s trn 2 MHz cn s dng chip 8254. 8254 c th lm vic c vi tn s n 8 MHz, cn 8254-2 - 10 MHz.
GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2
WR RD

Nguyn nh Luyn

127

8253

A0 A1
CS

Hnh 7.2. S chc nng v b tr chn OUT chip 8253 Mc d tn s vo l xung vung vi h s y xung 33%, nhng c th lp trnh chn dng xung ra chn OUT sau khi thc hin chia tn s. Trong s cc tu chn dng xung c: xung vung, xung n v xung vung vi cc h s y xung khc nhau, tuy nhin khng c dng hnh sin hoc rng ca.

GATE Chn Gate c s dng m hoc kho b m. t chn GATE ln mc cao (5 V) cho php m b m, tri li a v thp (0V) s kho b m. Trong mt s ch , cn t vo chn GATE sn xung ln (t 0 ln 1) m b m. D0-D7 D0-D7 ca 8253/54 l bus d liu hai chiu c ni ti D0-D7 ca bus d liu h thng. Bus ny cho php CPU truy nhp cc thanh ghi ca 8253/54 c

hai thao tc c v ghi. Chn RD v WR (c hai u tch cc thp) c ni ti cc tn hiu iu khin IOR v IOW ca bus h thng.

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

128

* Khi to 8253/54 Ba b m ca 8253/54 u c lp trnh ring r. lp trnh cho tng b m, trc ht byte iu khin cn c ghi vo thanh ghi iu khin vi mt trong nhng ni dung l thng bo dng xung ra cn thit cho 8253/54. Ngoi ra, gi tr dng chia (s chia) xung u vo phi c ghi vo b m ca 8253/54. S chia ny c th ln, v d FFFF (16 bit), cn bus d liu ca b nh thi 8253/54 ch c 8 bit, d nhin s chia mi ln ch gi c mt byte. 8253/54 phi c khi to trc khi s dng. * T iu khin Hnh 6.3 gii thiu t iu khin 1 byte ca 8253/54. Byte ny c gi ti

D7 SC1

D6 SC0

D5 RL1

D4 RL0

D3 M2

D2 M1

D1 M0

D0 BCD

0 B m nh phn (16 bit) 1 BCD (4 decades) 0 0 1 1 0 cht b m 1 ch c/ti LSB 0 ch c/ti MSB 1 c/ti LSB trc, 0 0 x x 1 1 0 0 1 1 0 0 0 1 0 1 0 1 Mode 0 Mode 1 Mode 2 Mode 3 Mode 4 Mode 5

0 0 1 1

0 1 0 1

chn b m 0 chn b m 1 chn b m 2 khng hp l

Hnh 7.3. T iu khin 8253/54 thanh ghi iu khin, v gm cc bit nh sau: D0 cho php chn s chia l nh phn (0000-FFFFH) hay BCD (00009999H). S chia nh nht cho c hai tu chn l 0001. S chia ln nht l 216 (nh phn) v 104 (BCD). c c s m ln nht (65.536 vi s thp phn v 10000 vi BCD), b m cn c np gi tr 0. D1, D2 v D3: chn ch . C 6 ch xc nh dng tn hiu ra. Mode 0 Ngt khi m ht Mode 1 To 1 xung Mode 2 B to h s y xung Mode 3 B to xung vung Mode 4 Xung c kch pht bng phn mm Mode 5 Xung c kch pht bng phn cng

Nguyn nh Luyn V d 6.1

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

129

Chn CS ca 8253/54 c kch hot bi a ch nh phn A7-A2 =100101. a) Tm a ch cng gn cho 8253/54. b) Xc nh cu hnh ng vi 8253/54 nu thanh ghi iu khin c lp trnh nh sau: MOV AL,00110110 OUT 97H,AL Gii: a) T bng 6.1 chng ta c: CS A1A0 Cng a ch cng (hex) 1001 01 00 B m 0 94 1001 01 01 B m 1 95 1001 01 10 B m 2 96 1001 01 11 Thanh ghi iu khin 97 b) So snh t iu khin 00 11 011 0 vi bng 5.1, c th xc nh l b m 0 v CS c gi tr l 00. RL bng 11 xc nh rng c/ghi byte LSB trc v MSB sau. Chn ch l 011 nn y l ch 3 (xung vung) v cui cng l chn dng m nh phn v bit D0 = 0.
D4 v D5 l cho RL0 v RL1. Bus d liu ca 8253/54 l 8 bit (1 byte), nhng s chia ca tn s vo c th ln (FFFFH). V th, RL0 v RL1 c s dng ch kch thc ca s chia. RL0 v RL1 c 3 tu chn: (1) ch c/vit byte trng s cao (MSB), (2) ch c/vit byte trng s thp, (3) c/vit LSB trc v MSB sau. Nh vy, vi cc tu chn ca RL0 v RL1, lp trnh vin khng th ghi gi tr ca s chia vo b nh thi 8253/54 song li c th c ni dung ca b m vo bt c lc no. Tt c cc b m u l m li v thanh ghi m l gim, nn ni dung cc thanh ghi m c th c bt c lc no. D6 v D7 c s dng chn trong 3 b m, b m 0, b m 1 hay b m 2 c khi to bng byte iu khin. V d 6.2 S dng cc a ch cng v d 6.1 lp trnh: a) B m 0 vi s m nh phn, ch 3 (to xung vung) v chia CLK0 cho 4282 (BCD). b) B m 2 vi s m nh phn, ch 3 (to xung vung) v chia CLK2 cho C26AH.

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn c) Tm tn s ti OUT0 v OUT2 trng hp (a) v (b) nu CLK0=1,2 MHz v CLK2=1,8 MHz. Gii: a) lp trnh b m 0 ch 3, chng ta c t iu khin l 0011011, v th: MOV AL,37H ;b m 0, ch 3, BCD OUT 97H,AL ;gi ti thanh ghi iu khin MOV AX,4282H ;np s chia (BCD) OUT 94H,AL ;gi byte thp MOV AL,AH ;n b m 0 OUT 94H,AL ;v sau gi byte cao n b m 0 b) Bng cch tng t: MOV AL,B6H ;b m 2, ch 3, nh phn (hex) OUT 97H,AL ;gi ti thanh ghi iu khin MOV AX,C26AH ;np s chia OUT 96H,AL ;gi byte thp MOV AL,AH ;n b m 2 OUT 96H,AL ;v sau gi byte cao n b m 2 c) Tn s ra ca OUT0 l 1,2 MHz : 4282, c 280 Hz. Ch rng chng trnh phn A s dng lnh MOV AX, 4282H do cc s BCD v Hexa cng biu din mt s nh nhau cho n 9999. Vi OUT2, CLK2 l 1,8 MHz chia cho 49770 (do C26AH=49770 D). V th, OUT2 c xung vung vi tn s l 36 Hz. lp trnh b m ca 8253/54 nhm xc nh s chia tn s vo CLK, cn phi gi s chia ti thanh ghi ca b m . Ni cch khc, mc du c 3 b m u dng chung mt thanh ghi, song cc thanh ghi lu s chia u ring cho tng b m - nh gii thiu v d 6.3. V d 6.3 S dng cc a ch cng v d 6.1, lp trnh cho b m 1 chia CLK1 cho 10.000 to ra xung vung ch 3. Hy s dng tu chn BCD byte iu khin. Gii: MOV AL,77H ;b m 1, ch 3, BCD OUT 97H,AL ;gi n thanh ghi iu khin SUB AL,AL ;AL=0 np s chia l 10000 OUT 95H,AL ;gi byte thp

130

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn OUT 95H,AL ;v sau gi byte cao n b m 1 Nu s dng tu chn thp phn (D0=1) v lp trnh cho b m vi s chia l 9999, th d nhin tn s vo c chia cho gi tr . Tuy nhin, nu s chia l 10.000 th cn chuyn 0 vo c 2 byte thp v cao, nh gii thiu v d 5.3. Nu s dng tu chn nh phn (D0=0), chng ta c th lp trnh cho s chia n 65.536. to c s chia l 65536, phi np 0 vo byte thp v byte cao ca s chia.
6.2. Ni ghp v lp trnh cho 8253/54

131

Bng 6.2. Xc nh a ch cng ca 8253/54 my tnh PC a ch a ch nh phn (Binary) Hex Chc nng A3 A2 A1 A0 CS A9 A8 A7 A6 A5 A4 B m 0 1 0 0 0 1 0 x x x 0 0 40 B m 1 1 0 0 0 1 0 x x x 0 1 41 B m 2 1 0 0 0 1 0 x x x 1 0 42 Thanh ghi iu khin 1 0 0 0 1 0 x x x 1 1 43
LS138

A5 A6 A7 A8 A9 AEN

A B C Y2 G2B G2A

8253
CS A0 A1 A0 A1

Hnh 7.4. Chn cng 8253 my tnh PC/XT My tnh IBM PC s dng chip 74LS138 m ho a ch chn CS ca 8253 nh gii thiu hnh 6.4. Cc a ch cng c chn nh bng 6.2, trong gi thit x l 0. Chng 4 trnh by chi tit vic chn la cc cng.

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn


OUT0 CLK0 GATE0 18.2 Hz n IRQ0 ca 8259

132

+5v

+5
OUT1

8253
CLK1 GATE1

74LS74
D CIK Pr CLR

DREQ ca DMA 8237

M loa

PB0 8255 Port 61


(Chia 2) 74LS175 D Q

+5v

DACKBRD

CLK2 GATE2 OUT2

n cassette n PC5 ca 8255 n mch K loa

CI Q 2.383MHz PCLK ca 8284

1.19 M Hz

74LS38 D liu ra loa +5v


PB1 ca 8255 Port 61

RESET

Hnh 6.5. Ghp ni chip 8253 C ba ng h ca 8253 l CLK0, CLK1 v CLK2 u c ni ti mt tn s khng i l 1,1931817 MHz. Tn s ny c ngun gc t chn PCLK ca chip 8284. Nh trnh by chng 1, PCLK c tn s l 2,3863633 MHz. Tn s ny cn c chia i v tn s vo cc i cho php CLK ca 8253 l 2 MHz. Do ngi ta s dng mch chia i l D 74LS175. Tn hiu ra ca mch D c a ti cc chn CLK ca 8253 (xem hnh 7.5). GATE0 v GATE1 c ni ti mc cao (5 V) cho php m b m 0 v b m 1 tng ng, v nh vy hai b m ny c m lin tc. GATE2 ca b m 2 c th cho php m hoc cm nh ng PB0 cng B ca 8253. Nh vy, tn s vo mi b nh thi l c bit, vic lp trnh v ng dng tng b m c lm r. * S dng b m 0 CLK0 ca b m 0 c tn s 1,193 MHz v GATE0 lun c t mc cao, OUT0 ca b m 0 c ni n IRQ0 (ngt c mc u tin cao nht) ca b iu khin ngt 8259 cung cp ngy thng nm (v d nhin cng cc dch v khc). Cu hi tip theo l: IRQ0 c kch hot vi tn s l bao nhiu? IRQ0 c kch hot 18,2 ln trong mt giy, hay ni cch khc - vi tn s u ra OUT0 l 18,2 Hz. Tn s CLK0 l 1,193 MHz cn tn s ra l

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn 18,2 Hz, nh vy b m cn c lp trnh c s chia bng 65.536. Sng c dng xung vung (8253 ch 3). Ngi ta s dng sn dng ca xung vung kch pht IR0 nhm trnh nhm ln vi trng hp ngt nhiu ln. Xem hnh 6.3 v vi nhng thng tin nu trn, c th tnh c t iu khin nh sau: D0=0 cho trng hp s chia l nh phn hoc hexa. B m thc hin m li sau mi xung vo cho n khi t n 0 ri sau gi tr ban u li c np li. Do chia tn s vo cho 65536, gi tr 0 c np cho c byte thp v byte cao. D3D2D1=011, y l ch 3 cho ra xung vung vi tn s l 18,2 Hz. D4D5=11 c/ghi LSB trc, MSB sau. D7D6=00 chn b m 0.

Nguyn nh Luyn

133

Nh vy t iu khin s c gi tr: D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 0 1 1 0 = 36H Chng trnh ca b m 0 nh sau: MOV AL,36H ;t iu khin OUT 43H,AL ;n thanh ghi iu khin ca 8253 MOV AL,00 ;LSB v MSB ca b chia OUT 40H,AL ;LSB ti b m 0 OUT 40H,AL ;MSB ti b m 0 Nn lu l IR0 khng ch cung cp ngy thng nm. IR0 c th h tr BIOS kim tra trng thi tt m ca ng c a mm, hoc gip ngi dng vit cc chng trnh ng dng. Vi tn s 18,2 Hz (hay c mi 54,94 ms), BIOS s kch hot ngt ny bng cch nhy ti INT 1CH ca bng vector ngt. Ngi dng cng c th nh ngha CS:IP ca chng trnh tr ti INT 1CH. Nu ngi dng khng s dng ngt ny, quyn iu khin s t ng tr v BIOS. * S dng b m 1 b m 1, CLK1 c ni n tn s 1,193 MHz cn GATE c ni trc tip n ngun 5 V. u ra OUT1 to ra xung tun hon cn cho lm ti b nh DRAM. Qu trnh lm ti tng nh c thc hin ti thiu 15 s.
my tnh IBM PC/XT nhim v lm ti DRAM l do DMA 8237 m nhim. Chip ny s dng b m 1 ca 8253 nh k thng bo cho DMA v thi gian lm ti. thc hin nhim v ny, OUT1 cung cp cho DMA xung

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn rng khong 15 s (hay tn s 66,278 Hz). Ngha l, b m 1 phi chia tn s 1,19318 MHz cho 18 (1,19318 MHz : 18 = 66,278 Hz). Cu hi t ra l ti sao xung rng 15 s? V phi lm ti 128 hng ca cc DRAM 64Kbit v 256 Kbit v nu c 15 s c lm ti mt ln th chu k lm ti s l 15 s x 128 = 1,92 ms (y l thi gian lm ti chp nhn c v yu cu khng vt qu 2 ms). Cn c vo hnh 6.3, byte iu khin s nh sau: D0=0 i vi gi tr nh phn. D3D2D1=010, dng xung ra ch 2. ch ny, OUT1 mc cao trong thi gian 18 xung v xung mc thp trong 1 xung. Qu trnh ny c th c lp li . D5D4=01 ch cn LSB v byte ny nh hn FF. CLK1 c chia cho 18; do , 18 ghi vo LSB l , khng cn s dng MSB. D7D6=01 chn b m 1.

Nguyn nh Luyn

134

Tm li t iu khin s nh sau: D7 ...D0 01010100 = 54H Chng trnh b m 1 ca 8253 trong BIOS IBM (vi mt s thay i cho d hiu) nh sau: MOV AL,54H ;t iu khin OUT 43H,AL ;n thanh ghi iu khin MOV AL,18 ;s chia 18 (h thp phn) OUT 41H,AL ;n b m 1 * S dng b m 2 u ra ca b m 2 c ni n 2 thit b khc nhau: loa v chn PC5 ca 8255. Trong cc my IBM PC/XT trc y, chn ny cn c ni ti cassette. Tuy nhin tu chn ny t lu khng cn c s dng. Cng cn lu l b m 2 trong IBM PC c dng pht nhc, do vy nhng ai quan tm c th tm hiu tip phn sau. * S dng b nh thi 2 to m thanh loa Trong my tnh IBM PC, CLK2 c ni vi tn s 1,19318 MHz v GATE2 c lp trnh qua PB0 ca cng 61H (cng B). BIOS dng b nh thi 2 to ting bp, tuy nhin bn c th thay i c th chi cc nt nhc - nh trnh by phn tip theo. Ting bp c tn s 896 Hz ca ch 3 (xung vung). Chia tn s vo 1,19318 MHz cho 896 Hz ta c 1331 (0533 hex) l gi tr c np vo b m 2. Nh vy, ta c t iu khin nh sau:

Nguyn nh Luyn
D7D6D5D4D3D2D1D0

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

135

1 0 1 1 0 1 1 0 = B6H i vi tu chn nh phn, ch 3 (xung vung), LSB trc, MSB sau, b m 2. Chng trnh s nh sau: MOV AL,0B6H ;t iu khin OUT 43H,AL MOV AL,33H ;byte thp OUT 42H,AL MOV AL,05 ;byte cao OUT 42H,AL hoc chng trnh ca BIOS IBM: TIMER EQU .... .......... MOV AL,10110110B ;t TIM 2, LSB, MSB, nh phn OUT TIMER+3,AL ;ghi vo thanh ghi ch MOV AX,533H ;s chia ng vi 896 Hz OUT TIMER+2,AL ;ghi TIMER 2 CNT - LSB MOV AL,AH OUT TIMER+2,AL ;ghi TIMER 2 CNT - MSB
Bt loa dng PB0 v PB1 cng 61H tt c cc my tnh IBM PC v tng thch, t 8088 cho n Intel Pentium, qu trnh bt loa l nh nhau. Nh thy trn hnh 6.5, GATE2 phi c ni ln mc cao cung cp CLK n b m 2. Chc nng ny c thc hin nh PB0 ca cng 61H. u ra OUT2 ca b m 2 c ni vo mch AND cng vi PB1 ca cng 61H, sau a vo mch iu khin loa. Do , khi PB1 ca cng 61H mc cao, n cho php a OUT2 ra loa. Sau y l on chng trnh bt loa ku bp (chng trnh trong BIOS).

IN AL,61H ;nhn cc thit lp ca cng B MOV AH,AL ;chuyn sang AH ct OR AL,00000011B ;thit lp PB0=1 v PB1=1 OUT 61H,AL ;bt loa ku. {ku bao lu do on ny xc nh} MOV AL,AH ;tr li thit lp ban u ca cng B OUT 61H,AL ;tt loa

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

136

Thi gian ko di ca nt nhc s ng vi thi gian tr do b vi x l 80x86 ca my tnh to ra.


* To thi gian tr cc my PC 80x86 Rt nhiu cc ng dng cn n thi gian tr. Do vic to thi gian tr trong cc my 8088/86 khc vi cc my 80286, 386, 486 v Pentium nn chng ta s tm hiu ring. * To tr trong PC/XT 8088/86, PS/2 v tng thch Chng trnh con to thi gian tr l: MOV CX,N AGAIN: LOOP AGAIN i vi CPU 8088/86, lnh LOOP thc hin mt 17 chu k ng h; do thi gian tr s xp x N x T chu k x 17. V d, nu CX=28000 v tn s h thng l 4,7 MHz (i vi PC/XT ban u T=210 ns), th thi gian tr s khong 28000 x 210 ns x 17 100 ms. Ni thi gian tr ch xp x v CPU vn "tm ngng" mi khi cho php DMA lm ti b nh. Ni cch khc, thi gian tr thc t c khc 100 ms cht t. Chng trnh ca BIOS PC/XT, do IBM vit s dng phng php trn to tr cho m bp nh sau: SUB CX,CX G7: LOOP G7 DEC BL JNZ G7 Vi CX=65536, LOOP G7 cho tr 250 ms (210 ns x 65536 x 17 = 234 ms), chim thi gian ng k lm ti b nh h thng. BL cha thi gian tr 250 ms. Nu tn s cng tc 8088/86 l 8 MHz (nh trong IBM PS/2 25), khi T = 125 ns (1/8 MHz = 125 ns) th thi gian tr s ngn hn nhiu. iu c ngha l tr khng ch ph thuc vo tn s m cn ph thuc vo CPU, v trong 80286 lnh LOOP ch mt 8 chu k ng h (ch khng phi 17 chu k ng h nh trong CPU 8088/86). Tng t, lnh LOOP s l 11 v 7 chu k ng h trong CPU 386 v 486 tng ng . y l l do cho thy t cc my tnh PC/AT tr i (80286, 80386, 80486, Pentium.....), IBM s dng mch to tr ring vi thi gian tr khng l thuc vo c tn s ln CPU. * Thi gian tr trong IBM PC 80x86 (t 286 v sau) Phng php to tr c nh bng phn cng c thc hin u tin IBM PC/AT v sau tt c cc my tnh 286, 386, 486 Pentium v tng

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn thch. iu ny cng c ngha khi cc b x l sau ny va c tn s lm vic khc nhau, va c s chu k lnh khc nhau cho cng mt lnh LOOP. to tr khng ph thuc CPU, IBM ng m PB4 cng 61H vi thi giam c 15,085 s mt ln. Nh vy, bng cch gim st PB4 cng 61H s nhn c tr c nh - nh chng trnh ca BIOS IBM PC/AT sau y. Trc khi gi chng trnh con WAITF, thanh ghi CX phi lu thi gian tr l s ln ca 15,085 s. ;(CX) = s ln 15,085 s WAITF PROC NEAR PUSH AX WAITF1 : IN AL,61H AND AL,10H ;kim tra PB4 CMP AL,AH ;thc hin nu c thay i JE WAITF1 ;ch thay i MOV AH,AL ;ct trng thi PB4 mi LOOP WAITF1 ;tip tc cho n khi CX v 0 POP AX RET WAITF ENDP Lu , trong cc my tnh IBM 286, 386, 486, Pentium v tng thch, cng B (cng 61H) c dng lm c cng vo v ra, khc vi cc my tnh IBM 8088/86, trong cng B ch l cng ra. Hin nay, d dng to ra thi gian tr bt k, khng ph thuc vo tn s ca CPU. V d, to tr 0,5 s, t CX=33.144 (33.144 x 15,085 s = 0,5 s), sau gi chng trnh con nh nu trn: MOV CX,33144 ; tr 1/2 s CALL WAITF V d 6.4

Nguyn nh Luyn

137

S dng chng trnh con WAITF ca BIOS, hy to tr 1,5s Gii: c tr 1,5 s, b m phi c t gi tr 99.436 (1,5/15,085 = 99.436). Gi tr ln nht ca CX l 65,536, do cn s dng phng php sau:

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

138

MOV BL,03 BACK: MOV CX,33144 ;tr 1/2s CALL WAITF DEC BL JNZ BACK 6.3 CC DNG SNG RA CA 8253 Phn ny s gii thiu tt c cc dng xung ra c 3 b m v cc ch ca 8253/54 ca IBM PC

Hnh 6.6 Biu thi gian Dng xung OUT 0 ca BIOS IBM Nh nu trn, BIOS IBM lp trnh b m 0 to ra ch 3, c dng xung vung. V b m 0 c np gi tr 65536 v chu k ng h ca tn s vo l 1/1,193 MHz = 838ns, nn chu k ca xung ra OUT 0 s bng 65536x838ns = 54,9ms (18,2 Hz). Nu s N np vo b m l chn th c xung cao v xung thp s c rng nh nhau ( N/2 x 838ns). Nu s N l l th xung cao s c rng l (N+1)/2 x 838ns cn xung thp s c rng l (N-1)/2 x 838ns. Ni cch khc, nu s np vo b m l l th phn cao ca xung vung ra s hi rng hn phn thp. Trong trng hp b m 0, BIOS np gi tr 65536 l s chn nn phn thp v phn cao ca xung vung bng nhau v bng 32.768 x 838ns. Mt lu quan trng khc l OUT 0 lin tc pht ra xung vung. Thc t l khi PC bt ngun , cc chng trnh BIOS np ngay

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn gi tr cho b m. Ngha l khng cn np li b m mi khi m n 0 v 8253/54 t ng np li gi tr 65536 khi b m m li v 0. Vic np li c thc hin t ng m khng cn s tr gip ca CPU 80x86. Lu l GATE0 lun t mc p cao do vy b m 0 lun c m. Dng xung OUT1 trong BIOS IBM BIOS IBM c lp trnh cho b m 1 ch 2, b chia tn vi gi tr np vo b m l 18. Mt chu k CLK1 l 838ns nn OUT1 c mc cao trong thi gian 17x838ns v s xung thp trong mt xung 838ns. Nh vy, chu k T ca OUT1 l 18x838ns. Cui xung th 18, b m 1 t np li gi tr ban u m khng cn s tr gip ca CPU 80x86 v qu trnh tip tc nu nh my vn c cp ngun. Lu l GATE1 lun mc cao lm b m 1 lm vic lin tc. Dng xung OUT2 ca BIOS IBM Nh gii thiu phn trn, nu s N np vo b m l chn th c xung cao v thp c di nh nhau l (N/2 x 838ns ) v xung thp l (N-1)/2 x 838ns. BIOS IBM np gi tr 1331 vo b m 2. V 1331 l l nn xung cao OUT2 c rng l (1331+1)/2 x838ns Cn xung thp l (1331 -1 )/2 x838ns Hnh 5.6 .Ni cch khc, h s y xung hi ln hn 50% , chu k T l 1331x838ns [(666+665)]x838ns.Phn sau y s trnh by 6 ch ca 8253/54. Cc ch lm vic ca 8253/54 8253/54 c tt c 6 ch cng tc, t ch 0 n ch 5. Su ch ny u c 3 b m ca 8253/54. Phn ny s trnh by tng ch . Lu l cc v d ny ch mang hm lm r khi nim ch lm vic, ch thc t bn khng cn lp trnh cc b m 8253/54 vi cc gi tr nh vy, mc du bn c th ni 8253/54 ti bus PC v kim tra cc v d ny. 6 ch ca 8253/54 c th phn thnh hai nhm : - Nhm th nht : Sau khi lp trnh cho b m, u ra OUT c tn hiu ra mong mun ch khi GATE = 1 . - Nhm th hai : Sau khi lp trnh cho b m, u ra OUT c tn hiu ra mong mun ch khi GATE chuyn t 0 ln 1 .Nhm th hai c gi l kch pht cng, hay lp trnh c. Sau y chng ta tm hiu tng ch . Ch 0 : Ngt khi m kt thc Trong ch ny, u tin tn hiu ra mc thp, sau mc ny tip tc c duy tr nu GATE =1. rng ca xung ra thp c tnh nh sau : rng ca xung ra thp = NxT.

Nguyn nh Luyn

139

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn Trong , N l s m c np vo b m, cn T l chu k ca tn hiu vo CLK. Khi m kt thc, li ra s chuyn ln cao v gi mc cao cho n khi t iu khin mi hoc s m mi li c np vo. V d 6.5 Gi s GATE1 = 1, CLK1 =1Mhz v s m N=1000. Xc nh tn hiu ra u ra OUT1 nu lp trnh ch 0. Gii : Chu k ca CLK1 l 1s; do trc khi chuyn ln mc cao, tn hiu ra OUT1 l thp trong khong thi gian 1000x1s =1ms.

Nguyn nh Luyn

140

ch ny, nu u vo GATE xung mc thp khi ang trong qu trnh m, th vic m s dng v u ra s tr v thp. Vic m c tip tc khi cng GATE tr li mc cao. Thi gian dng ny s cng tip vo tng thi gian m li ra mc thp (k t lc GATE ln mc cao ). V d 6.6 Trong v d 6.5, gi s GATE1 = 0 trong khong 400ms. rng xung thp ca OUT1 l bao nhiu ? Gii : rng xung thp ca OUT1 s l 1000s +400s =1400s

GATE1= 1

400 s

OUT1 WR

1400 s

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn Ch 1 : Ch 1 xung Ch ny cn c gi l ch mt xung kch pht bng phn cng . Vic kch pht c thc hin bng cch gi qua chn vo GATE mt xung t mc 0 ln 1 (sn dng). Trong cc ch c lp trnh ca 8253/54, v d nh ch 1, b m cn thc hin qua hai bc nh sau : 1. Np cc thanh ghi m. 2. Gi mt xung t 0 ln 1 n u vo GATE kch pht b m. V d 6.7 a.V tn hiu ra OUT1 nu CLK1=1MHz, N=500 v lp trnh ch 1. b. V dng sng ra OUT1 nu sau 150 xung ng h, GATE1 li c kch pht . Gii : a.Ch OUT1 s xung thp ch khi GATE1 t 0 ln 1 .

Nguyn nh Luyn

141

b.Nu GATE1 c kch pht sau 150 xung ng h, COUNT1 c np li gi tr N=500 v qu trnh m bt u li t u s to xung ra rng 650s nh hnh sau :

ch 0, b m to xung ra ngay sau khi b m c np, vi iu kin GATE1 =1. ch 1, sau khi sn dng c a n u vo GATE, u ra OUT xung thp v duy tr mc ny trong khong thi gian NxT, sau li chuyn ln mc cao cho n khi GATE c kch pht tr li.Ging nh mch a hi i, khi c kch pht th u ra s tr li trng thi tch cc trong mt thi gian, sau

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn tr li trng thi ngh. i vi 8253/54, chng ta c th lp trnh xc nh khong thi gian a hi i trng thi tch cc. rng xung thp u ra l NxT, trong T l chu k ca CLK cn N l s m. Nu trong qu trnh m, chn GATE li c kch pht th b m s c np li s m N v b m bt u qu trnh li t u (xem hnh v d 6.7) Lu trong ch ny vic m ch bt u khi sn dng (xung t 0 ln 1) t n u vo GATE. chnh l l do c tn gi lp trnh c hay kch pht cng. y cng l im khc vi nhiu ch khc, b m bt u vo lc np s m. Ni cch khc, trong kch pht cng, sau khi np s m , chng ta phi gi sn xung 0 ln 1 n u vo GATE kch pht b m. Ch 2 : My pht sng t l . Ch 2 cn c gi l b m chia cho N. Trong ch ny nu u vo GATE =1 th u ra OUT s mc cao trong khong thi gian NxT chu k, ri chuyn xung thp trong mt xung nhp, sau vic m c np li t ng v qu trnh c th tip tc. Kt qu l ch ny to thnh b m chia cho N. Mt chu k tn hiu ra OUT l (N+1)xT, trong tn hiu cao trong khong NxT , cn tn hiu thp ch trong 1 chu k T (xem v d 6.8) . V d 6.8 Cho CLK2 =1MHz, GATE2 =1 v N=750, v tn hiu ra OUT2 nu COUNT2 c lp trnh ch 2. Gii : Ch l s m c np li t ng v b m tip tc to ra OUT2.

Nguyn nh Luyn

142

Ch 3 : B to xung vung ch ny, nu GATE =1 th u ra OUT l xung vung vi rng xung cao bng rng xung thp khi N chn. Nh vy, phn cao v phn thp ca xung chim khong thi gian nh nhau v bng (N/2)xT, trong N l s m xung ng h, cn T l chu k ng h. Trong ch ny, s m c t ng np li khi m kt thc, do to ra dy xung vung lin tc c tn s l 1/N so vi tn s CLK. Ch 3 tng t nh ch 2 tuy nhin ch 3 h s y xung l 50%. Trng hp N l, s xung cao s c mt nhp di hn nh trnh by trn. Thc t, ch 3 chia CLK cho N to ra xung vung c dng ging nh xung u vo, ch khc v tn s. Ch ny c s dng

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn rng ri lm b chia tn v b to sng m tn (to tone) nh thy trong IBM PC. Trong ch ny, nu u vo GATE xung thp th qu trnh m li s ngng v vic m ch c tip tc khi GATE =1 (xem v d 6.9 ). V d 6.9 Nu CLK2 =1MHz , GATE1=1 v N=1000, v tn hiu ra OUT1 nu COUNT1 c lp trnh ch 3. Gii : V chu k nhp l 1s , OUT1 l cao trong 500s v thp trong 500s to ra xung vung c chu k 1ms. Dng tn hiu ra OUT1 nh sau :

Nguyn nh Luyn

143

Ch 4 : Xung kch pht bng phn mm Trong ch ny, nu GATE=1 th u ra s c mc cao trong khi np s m. Khong thi gian mc cao s l NxT, trong N l s m cn T l chu k ng h. Sau khi m n 0 (kt thc m), u ra s tr v thp trong mt xung ng h, sau tr li mc cao v li mc cao cho n khi np mt t lnh mi hoc s m mi. lp li xung trch mu, s m cn phi c np li. Ni cch khc , ch ny khng t ng np li s m khi kt thc m. Ch 4 tng t nh ch 2, ch c im khc l b m khng t ng np li. ch ny, nu u vo GATE xung thp th vic m d dng v u ra s mc cao. Vic m ch c tip tc khi GATE tr li ln mc cao khong thi gian b m b dng c cng vo tng thi gian u ra mc cao (xem v d 6.10 ). V d 6.10 Nu CLK0 = 1MHz, GATE0=1 v N=600, xc nh tn hiu ra OUT0 nu COUNT0 c lp trnh ch 4. Gii : Chu k CLK0 l 1s, sau khi s m c np, OUT0 mc cao trong khong 600s v s xung thp trong 1s, sau li ln mc cao v cho n khi b m c lp trnh li. u ra OUT0 c dng nh sau :

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

144

Cng cn phi lu l ch ny vic m c bt u ti thi im s m c ghi vo b m . y chnh l l do c tn gi kch pht bng phn mm. Ch 5 cng tng t nh ch 4, tr mt im l vic kch pht c thc hin thng qua u vo GATE. xem v d 6.11. V d 6.11 Nu CLK1 = 1MHz v N=400, v tn hiu ra OUT1 nu n c lp trnh ch 5. Gii: Vic m ch c bt u khi t sn xung 0 ln 1 n GATE1.

Ch 5 : Xung mu kch pht bng phn cng Ch ny tng t nh ch 4 ngoi tr kch pht phi c thc hin u vo GATE. Vic m ch bt u khi c sn dng (xung t 0 ln 1) a n u vo GATE. y l im khc vi ch 4 - vic m c bt u ngay khi np s m, min l GATE1 =1. Ni cch khc, i vi ch 5, sau khi s m c np, cn phi t sn dng n u vo GATE khi ng b m. V d 6.12 Trong v d 6.11 , gi s GATE1 c kch pht li sau 150 xung . V tn hiu ra OUT1. Gii : Nu GATE1 c kch pht li sau 150 xung ng h vo b m li, COUNT1 c np li s m N=400 v qu trnh m li bt u , lm cho xung ra ko di thm 150s na (tng cng 550s ). Khi tn hiu ra OUT1 s nh sau :

Nguyn nh Luyn

Bi ging K thut Vi X L Khoa K thut & Cng ngh - i Hc Quy Nhn

145

You might also like