ktvxl_2_13_bo dinh thoi 8253 _c6_
TRANSCRIPT
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
1/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
125
CHNG VIB nh thi 8253/54
6.1. B nh thi 8253* Gii thiu
Trong my tnh PC ng i ta s dng mt ng h ng b hot ngca tt c cc chip ngoi vi ni ti CPU. Tn s ng h cao nht c dngcho b vi x l 80x86. Mt s thit b ngoi vi lm vic vi tn s thp hn. Bnh 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 (programmableinterval timer/counter). N thc hin chc nng chnh trong my tnh IBM-PCl mch iu khin thi gian, pht tn hiu ng h, kim sot one-shot, m skin, pht tn s v iu khin motor.* T chc s khi v b tr chn ca 8253A
Mch 8253 gm c ba b m 16 bits c th lp trnh v hot ng c lpvi 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
D0-D7
Data
RDWA0A1CS
count0
count1
count2
BUS d liu v iu khin ni bB mBUS d
liu
c ghilogic
Thanh ghit /k
CLK0Gate0Out0
CLK1Gate1
Out1
CLK2Gate2Out2
Hnh 7.1 S chc nng mch nh thi lp trnh ho 8253A
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
2/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
126
Register).- Bus ni b dng chuyn s liu v cc tn hiu iu khin gia u v
v u ra.- u ra gm c ba b m 16 Bits lm vic trong ch m ng c.
Khi B m BUS d liu - Data Bus Buffer: Gm cc u ra D0-D7 l cccng ba trng thi, c hai chiu c dng ni 8253 vi Bus h thngca my tnh. S liu s c pht hoc nhn nh cc lnh INPUT hocOUTPUT 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 iukhin 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 cccon 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 cs liu trn n.
Ba b m Counter #0, Counter #1, Counter#2Ba b m nh m t trn, mi
b m l 16 Bits c th t c, lmvic ch m li, theo m nh phnhoc BCD u vo v u ra c th lptrnh qua Control Word Register. Vic cni dung ca cc con m c th cthc hin nh lnh c.* B tr chn ca 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 chiatn s vo cho gi tr nm trong khong t 1 - 65536. Mi b m c gnmt a ch cng. Thanh ghi iu khin dng chung cho c 3 b m c a chcng ring. Nh vy, b nh thi 8253/54 c tng cng 4 cng. Cc cng ca ch ho bng cc chn A0, A1 vCS, nh gii thiu bng 6.1. Mi b
CS A1 A0 Cng0 0 0 B m 00 0 1 B m 10 1 0 B m 20 1 1 Thanh ghi iu khin1 x x Khng chn 8253/54
Bng 6.1. nh a ch cng ca8253/54
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
3/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
127
m c 3 chn l CLK (clock),GATE v OUT (hnh 6.2).
RD (chn 22) l tn hiu cmc tch cc thp dng bocho 8253 bit rng BVXL angc s liu t 8253.
WR (chn 23) l tn hiu cmc tch cc thp dng bocho 8253 bit rng BVXL angthc hin ghi s liu vo ccthanh gi ca 8253.
CLKCLK l tn s ng h vo.
i vi 8253, tn s ny c gi trtrong khong 0-2 MHz. Vi tn s trn 2 MHz cn s dng chip8254. 8254 c th lm vic cvi tn s n 8 MHz, cn 8254-2- 10 MHz.
OUTMc d tn s vo l xung
vung vi h s y xung 33%, nh ng 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, tuynhin khng c dng hnh sin hoc rng c a.
GATEChn 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 s n xung ln (t 0 ln 1) m b m.
D0-D7D0-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 chai thao tc c v ghi. Chn RD v WR (c hai u tch cc thp) c niti cc tn hiu iu khin IOR v IOW ca bus h thng.
1 242 233 224 215 206 19
7 188 179 1610 1511 1412 13
82
53
VccWRRDCSA1A0CLK2OUT2GATE2CLK1GATE1OUT1
D7D6D5D4D3D2
D1D0CLK0OUT0
GATE 0GND
D7-D0
WRRD
A0A1
CS
8253
CLK0GATE0OUT0
CLK1GATE1OUT1
CLK2GATE2OUT2
Hnh 7.2. S chc nng v b tr chnchip 8253
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
4/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
128
* Khi to 8253/54Ba b m ca 8253/54 u c lp trnh ring r. lp trnh cho tng
b m, tr c ht byte iu khin cn c ghi vo thanh ghi iu khin vimt 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 mca 8253/54. S chia ny c th ln, v d FFFF (16 bit), cn bus d liu cab nh thi 8253/54 ch c 8 bit, d nhin s chia mi ln ch gi c mtbyte. 8253/54 phi c khi to tr c khi s dng.* T iu khin
Hnh 6.3 gii thiu t iu khin 1 byte ca 8253/54. Byte ny c gi ti
thanh ghi iu khin, v gm cc bit nh sau:D0 cho php chn s chia l nh phn (0000-FFFFH) hay BCD (0000-
9999H). 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 phnv 10000 vi BCD), b m cn c np gi tr 0.
D1, D2 vD3: chn ch . C 6 ch xc nh dng tn hiu ra.Mode 0 Ngt khi m htMode 1 To 1 xungMode 2 B to h s y xungMode 3 B to xung vungMode 4 Xung c kch pht bng phn mmMode 5 Xung c kch pht bng phn cng
Hnh 7.3. T iu khin 8253/54
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
0 0 cht b m0 1 ch c/ti LSB1 0 ch c/ti MSB1 1 c/ti
LSB tr c,
0 0 chn b m 00 1 chn b m 11 0 chn b m 21 1 khng hp l
0 0 0 Mode 00 0 1 Mode 1x 1 0 Mode 2x 1 1 Mode 31 0 0 Mode 41 0 1 Mode 5
0 B m nh phn (16 bit)1 BCD (4 decades)
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
5/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
129
V d 6.1
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 lptrnh nh sau:MOV AL,00110110OUT 97H,AL
Gii:a) T bng 6.1 chng ta c:
CS A1A0 Cng a ch cng (hex)1001 01 00 B m 0 941001 01 01 B m 1 95
1001 01 10 B m 2 961001 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 lb m 0 v CS c gi tr l 00. RL bng 11 xc nh rng c/ghi byteLSB tr c v MSB sau. Chn ch l 011 nn y l ch 3 (xungvung) 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),nh ng s chia ca tn s vo c th ln (FFFFH). V th, RL0 v RL1 c s
dng ch kch th
c ca s chia. RL0 v RL1 c 3 tu chn: (1) ch c/vitbyte trng s cao (MSB), (2) ch c/vit byte trng s thp, (3) c/vit LSBtr c v MSB sau.
Nh vy, vi cc tu chn ca RL0 v RL1, lp trnh vin khng th ghigi tr ca s chia vo b nh thi 8253/54 song li c th c ni dung ca bm vo bt c lc no. Tt c cc b m u l m li v thanh ghi mgim, nn ni dung cc thanh ghi m c th c bt c lc no.
D6 vD7 c s dng chn trong 3 b m, b m 0, b m 1 hayb m 2 c khi to bng byte iu khin.
V d 6.2S 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 chiaCLK0 cho 4282 (BCD).b) B m 2 vi s m nh phn, ch 3 (to xung vung) v chiaCLK2 cho C26AH.
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
6/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
130
c) Tm tn s ti OUT0 v OUT2 tr ng hp (a) v (b) nu CLK0=1,2MHz 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, BCDOUT 97H,AL ;gi ti thanh ghi iu khinMOV AX,4282H ;np s chia (BCD)OUT 94H,AL ;gi byte thpMOV AL,AH ;n b m 0OUT 94H,AL ;v sau gi byte cao n b m 0
b) Bng cch t ng t:MOV AL,B6H ;b m 2, ch 3, nh phn (hex)
OUT 97H,AL ;gi ti thanh ghi iu khinMOV AX,C26AH ;np s chiaOUT 96H,AL ;gi byte thpMOV AL,AH ;n b m 2OUT 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 rngch ng trnh phn A s dng lnh MOV AX, 4282H do cc s BCD vHexa cng biu din mt s nh nhau cho n 9999. Vi OUT2, CLK2 l1,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 3b m u dng chung mt thanh ghi, song cc thanh ghi l u s chia uring cho tng b m - nh gii thiu v d 6.3.
V d 6.3S dng cc a ch cng v d 6.1, lp trnh cho b m 1 chia CLK1cho 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, BCDOUT 97H,AL ;gi n thanh ghi iu khinSUB AL,AL ;AL=0 np s chia l 10000OUT 95H,AL ;gi byte thp
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
7/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
131
OUT 95H,AL ;v sau gi byte cao n b m 1Nu 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 d5.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 bytecao ca s chia. 6.2. Ni ghp v lp trnh cho 8253/54
My tnh IBM PC s dng chip 74LS138 m ho a ch chn CS ca8253 nh gii thiu hnh 6.4. Cc a ch cng c chn nh bng 6.2, trong gi thit x l 0. Ch ng 4 trnh by chi tit vic chn la cc cng.
Bng 6.2. Xc nh a ch cng ca 8253/54 my tnh PC a ch nh phn (Binary)
CS A9 A8 A7 A6 A5 A4 A3 A2 A1 A0a ch
Hex Chc nng1 0 0 0 1 0 x x x 0 0 40 B m 01 0 0 0 1 0 x x x 0 1 41 B m 11 0 0 0 1 0 x x x 1 0 42 B m 21 0 0 0 1 0 x x x 1 1 43 Thanh ghi iu khin
Hnh 7.4. Chn cng 8253 my tnh PC/XT
A0A1
ABCY2G2B
G2A
A5A6A7A8A9
AEN
LS138
CSA0A1
8253
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
8/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
132
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 cachip 8284. Nh trnh by ch ng 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 2MHz. Do ng i ta s dng mch chia i l D 74LS175. Tn hiu ra camch D c a ti cc chn CLK ca 8253 (xem hnh 7.5). GATE0 vGATE1 c ni ti mc cao (5 V) cho php m b m 0 v b m 1 t ngng, v nh vy hai b m ny c m lin tc. GATE2 ca b m 2 c thcho 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 clm r.* S dng b m 0
CLK0 ca b m 0 c tn s 1,193 MHz v GATE0 lun c t mccao, 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 ccdch v khc). Cu hi tip theo l: IRQ0 c kch hot vi tn s l baonhiu? IRQ0 c kch hot 18,2 ln trong mt giy, hay ni cch khc - vitn s u ra OUT0 l 18,2 Hz. Tn s CLK0 l 1,193 MHz cn tn s ra l
+5v
+5v
1.19 M Hz
(Chia 2)74LS175
RESET
OUT0
OUT1
OUT2
+5
D liura loa
M PB0loa 8255 Port 61
+5v
74LS38
CLK0GATE0
8253
CLK1 GATE1
CLK2
GATE2
DCIKPr CLR
74LS74
18.2 Hzn IRQ0ca 8259
DREQ
ca DMA8237
n cassetten PC5ca 8255n mch K loa
Hnh 6.5. Ghp ni chip 8253
2.383MHzPCLK ca 8284
DACKBRD
D Q
CI Q
PB1 ca 8255Port 61
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
9/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
133
18,2 Hz, nh vy b m cn c lp trnh c s chia bng 65.536. Sngc dng xung vung (8253 ch 3). Ng i ta s dng s n d ng ca xungvung kch pht IR0 nhm trnh nhm ln vi tr ng hp ngt nhiu ln.Xem hnh 6.3 v vi nhng thng tin nu trn, c th tnh c t iu khinnh sau:
D0=0 cho tr ng hp s chia l nh phn hoc hexa. B m thc hin mli sau mi xung vo cho n khi t n 0 ri sau gi tr ban u li cnp li. Do chia tn s vo cho 65536, gi tr 0 c np cho c byte thpv byte cao.
D3D2D1=011, y l ch 3 cho ra xung vung vi tn s l 18,2 Hz.D4D5=11 c/ghi LSB tr c, MSB sau.
D7D6=00 chn b m 0.
Nh vy t iu khin s c gi tr:D7 D6 D5 D4 D3 D2 D1 D00 0 1 1 0 1 1 0 = 36H
Ch ng trnh ca b m 0 nh sau:MOV AL,36H ;t iu khinOUT 43H,AL ;n thanh ghi iu khin ca 8253MOV AL,00 ;LSB v MSB ca b chiaOUT 40H,AL ;LSB ti b m 0OUT 40H,AL ;MSB ti b m 0
Nn l u 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 ng idng vit cc ch ng trnh ng dng. Vi tn s 18,2 Hz (hay c mi 54,94ms), BIOS s kch hot ngt ny bng cch nhy ti INT 1CH ca bng vectorngt. Ng i dng cng c th nh ngha CS:IP ca ch ng trnh tr ti INT 1CH. Nu ng i dng khng s dng ngt ny, quyn iu khin s t ng trv BIOS.* S dng b m 1
b m 1, CLK1 c ni n tn s 1,193 MHz cn GATE c nitrc tip n ngun 5 V. u ra OUT1 to ra xung tun hon cn cho lm t ib nh DRAM. Qu trnh lm t i tng nh c thc hin ti thiu 15 s. my tnh IBM PC/XT nhim v lm t i DRAM l do DMA 8237 mnhim. Chip ny s dng b m 1 ca 8253 nh k thng bo cho DMA vthi gian lm t i. thc hin nhim v ny, OUT1 cung cp cho DMA xung
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
10/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
134
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 saoxung rng 15 s? V phi lm t i 128 hng ca cc DRAM 64Kbit v 256Kbit v nu c 15 s c lm t i mt ln th chu k lm t i s l 15 s x
128 = 1,92 ms (y l thi gian lm t i chp nhn c v yu cu khng v tqu 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.
Tm li t iu khin s nh sau:D7 ...D001010100 = 54H
Ch ng trnh b m 1 ca 8253 trong BIOS IBM (vi mt s thay i chod hiu) nh sau:
MOV AL,54H ;t iu khinOUT 43H,AL ;n thanh ghi iu khinMOV 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 PC5ca 8255. Trong cc my IBM PC/XT tr c y, chn ny cn c ni ticassette. Tuy nhin tu chn ny t lu khng cn c s dng. Cng cnl u l b m 2 trong IBM PC c dng pht nhc, do vy nhng ai quantm 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 vGATE2 c lp trnh qua PB0 ca cng 61H (cng B). BIOS dng b nhthi 2 to ting bp, tuy nhin bn c th thay i c th chi cc ntnhc - 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 (0533hex) l gi tr c np vo b m 2. Nh vy, ta c t iu khin nh sau:
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
11/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
135
D7D6D5D4D3D2D1D0 1 0 1 1 0 1 1 0 = B6H i vi tu chn nh phn, ch 3 (xung vung),
LSB tr c, MSB sau, b m 2.Ch ng trnh s nh sau:
MOV AL,0B6H ;t iu khinOUT 43H,ALMOV AL,33H ;byte thpOUT 42H,ALMOV AL,05 ;byte caoOUT 42H,AL
hoc ch ng trnh ca BIOS IBM:TIMER EQU.... ..........
MOV AL,10110110B ;t TIM 2, LSB, MSB, nh phnOUT TIMER+3,AL ;ghi vo thanh ghi ch MOV AX,533H ;s chia ng vi 896 HzOUT TIMER+2,AL ;ghi TIMER 2 CNT - LSBMOV AL,AHOUT TIMER+2,AL ;ghi TIMER 2 CNT - MSB
Bt loa dng PB0 v PB1 cng 61H tt c cc my tnh IBM PC v t ng 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 cthc hin nh PB0 ca cng 61H. u ra OUT2 ca b m 2 c ni vomch 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. Sauy l on ch ng trnh bt loa ku bp (ch ng trnh trong BIOS).
IN AL,61H ;nhn cc thit lp ca cng B
MOV AH,AL ;chuyn sang AH ctOR AL,00000011B ;thit lp PB0=1 v PB1=1OUT 61H,AL ;bt loa ku.{ku bao lu do on ny xc nh}MOV AL,AH ;tr li thit lp ban u ca cng BOUT 61H,AL ;tt loa
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
12/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
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 80x86Rt 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 nnchng ta s tm hiu ring.* To tr trong PC/XT 8088/86, PS/2 v t ng thch
Ch ng trnh con to thi gian tr l:MOV CX,N
AGAIN: LOOP AGAINi 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 hthng l 4,7 MHz (i vi PC/XT ban u T=210 ns), th thi gian tr skhong 28000 x 210 ns x 17 100 ms. Ni thi gian tr ch xp x v CPU vn"tm ng ng" mi khi cho php DMA lm t i b nh. Ni cch khc, thi giantr thc t c khc 100 ms cht t. Ch ng trnh ca BIOS PC/XT, do IBM vit s dng ph ng php trn to tr cho m bp nh sau:
SUB CX,CXG7: LOOP G7
DEC BLJNZ G7
Vi CX=65536, LOOP G7 cho tr 250 ms (210 ns x 65536 x 17 =234 ms), chim thi gian ng k lm t i b nh h thng. BL cha thigian tr 250 ms. Nu tn s cng tc 8088/86 l 8 MHz (nh trong IBM PS/225), 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 thucvo CPU, v trong 80286 lnh LOOP ch mt 8 chu k ng h (ch khngphi 17 chu k ng h nh trong CPU 8088/86). T ng t, lnh LOOP s l11 v 7 chu k ng h trong CPU 386 v 486 t ng ng . y l l do chothy 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)
Ph ng 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 t ng
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
13/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
137
thch. iu ny cng c ngha khi cc b x l sau ny va c tn s lm vickhc 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 ch ng trnh ca BIOS IBM PC/AT sau y. Tr c khi gich ng trnh con WAITF, thanh ghi CX phi l u thi gian tr l s ln ca15,085 s.
;(CX) = s ln 15,085 sWAITF PROC NEAR
PUSH AXWAITF1
:IN AL,61H
AND AL,10H ;kim tra PB4CMP AL,AH ;thc hin nu c thay iJE WAITF1 ;ch thay iMOV AH,AL ;ct trng thi PB4 miLOOP WAITF1 ;tip tc cho n khi CX v 0POP AXRET
WAITF ENDP L u , trong cc my tnh IBM 286, 386, 486, Pentium v t ng thch,
cng B (cng 61H) c dng lm c cng vo v ra, khc vi cc my tnhIBM 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 ch ng trnh con nh nu trn:
MOV CX,33144 ; tr 1/2 sCALL WAITF
V d 6.4
S dng ch ng trnh con WAITF ca BIOS, hy to tr 1,5sGii: 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 ph ngphp sau:
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
14/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
138
MOV BL,03BACK: MOV CX,33144 ;tr 1/2s
CALL WAITFDEC BLJNZ BACK
6.3 CC DNG SNG RA CA 8253Ph n ny s gii thiu tt c cc d ng xung ra c 3 b m v
cc ch ca 8253/54 c a IBM PC
Hnh 6.6 Biu thi gianDng xung OUT 0 ca BIOS IBMNh nu trn, BIOS IBM l p trnh b m 0 to ra
ch 3, c d ng xung vung. V b m 0 c n p gi tr 65536 v chu k ng h ca t n s vo l1/1,193 MHz = 838ns, nn chu k ca xung ra OUT 0 s bng65536x838ns = 54,9ms (18,2 Hz). N u s N n p vo b m l ch nth c xung cao v xung th p s c r ng nh nhau ( N/2 x 838ns).
Nu s N l l th xung cao s c r ng l (N+1)/2 x 838ns cn xungthp s c r ng l (N-1)/2 x 838ns. Ni cch khc, n u s np vob m l l th ph n cao c a xung vung ra s hi r ng h n ph nthp. Trong tr ng h p b m 0, BIOS n p gi tr 65536 l s ch nnn ph n th p v ph n cao c a xung vung b ng nhau v b ng 32.768x 838ns. M t lu quan tr ng khc l OUT 0 lin t c pht ra xungvung. Th c t l khi PC b t ngu n , cc ch ng trnh BIOS n p ngay
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
15/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
139
gi tr cho b m. Ngh a l khng c n n p li b m m i khi m n0 v 8253/54 t ng n p li gi tr 65536 khi b m m li v 0. Vi cnp li c th c hin t ng m khng c n s tr gip c a CPU80x86. L u l GATE0 lun t mc p cao do v y b m 0 lunc m .
Dng xung OUT1 trong BIOS IBMBIOS IBM c lp trnh cho b m 1 ch 2, b chia t n
vi gi tr np vo b m l 18. M t chu k CLK1 l 838ns nn OUT1c m c cao trong th i gian 17x838ns v s xung th p trong m t xung838ns. Nh vy, chu k T ca OUT1 l 18x838ns. Cu i xung th 18,b m 1 t np li gi tr ban u m khng c n s tr gip c a CPU80x86 v qu trnh ti p tc n u nh my v n c c p ngu n. Lu lGATE1 lun mc cao lm b m 1 lm vi c lin t c.
Dng xung OUT2 ca BIOS IBM
Nh gii thiu ph n trn, n u s N n p vo b m l ch n thc xung cao v th p c di nh nhau l (N/2 x 838ns ) v xung th pl (N-1)/2 x 838ns. BIOS IBM n p gi tr 1331 vo b m 2. V 1331 ll nn xung cao OUT2 c r ng l (1331+1)/2 x838ns Cn xung th pl (1331 -1 )/2 x838ns Hnh 5.6 .Ni cch khc, h s y xung h i lnhn 50% , chu k T l 1331x838ns [(666+665)]x838ns.Ph n sau ys trnh by 6 ch ca 8253/54.
Cc ch lm vic ca 8253/54 8253/54 c t t c 6 ch cng tc, t ch 0 n ch 5.
Su ch ny u c 3 b m c a 8253/54. Ph n ny s trnh by
tng ch . Lu l cc v d ny ch mang hm lm r khi ni mch lm vi c, ch thc t bn khng c n lp trnh cc b m8253/54 v i cc gi tr nh vy, m c d u b n c th ni 8253/54 t ibus PC v ki m tra cc v d ny. 6 ch ca 8253/54 c th phnthnh hai nhm :
- Nhm th nh t : Sau khi l p trnh cho b m, u ra OUT ctn hi u ra mong mu n ch khi GATE = 1 .
- Nhm th hai : Sau khi l p trnh cho b m, u ra OUT ctn hi u ra mong mu n ch khi GATE chuy n t 0 ln 1 .Nhmth hai c g i l kch pht c ng, hay l p trnh c. Sauy chng ta tm hi u tng ch .
Ch 0 : Ngt khi m kt thcTrong ch ny, u tin tn hi u ra mc th p, sau m c
ny ti p tc c duy tr n u GATE =1. r ng c a xung ra th p ctnh nh sau :
r ng ca xung ra th p = NxT.
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
16/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
140
Trong , N l s m c n p vo b m, cn T l chu k catn hi u vo CLK. Khi m k t thc, l i ra s chuy n ln cao v gi mc cao cho n khi t iu khi n m i ho c s m m i li c n pvo.
V d 6.5Gi s GATE1 = 1, CLK1 =1Mhz v s m N=1000. Xc nh tn hi ura u ra OUT1 n u lp trnh ch 0.Gii :Chu k ca CLK1 l 1 s; do tr c khi chuy n ln m c cao, tn hi ura OUT1 l th p trong kho ng th i gian 1000x1 s =1ms.
ch ny, n u u vo GATE xu ng m c th p khi angtrong qu trnh m, th vi c m s dng v u ra s tr v thp.Vic m c tip tc khi c ng GATE tr li mc cao. Th i gian d ngny s cng ti p vo t ng th i gian m l i ra mc th p (k t lcGATE ln m c cao ).
V d 6.6Trong v d 6.5, gi s GATE1 = 0 trong kho ng 400ms. r ng xungthp c a OUT1 l bao nhiu ?Gii : r ng xung th p c a OUT1 s l 1000 s +400 s =1400 s
400 s
1400 s
GATE1= 1
OUT1
WR
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
17/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
141
Ch 1 : Ch 1 xungCh ny cn c g i l ch mt xung kch pht b ng
ph n c ng . Vi c kch pht c th c hin b ng cch g i qua chnvo GATE m t xung t mc 0 ln 1 (s n d ng). Trong cc ch c lp trnh c a 8253/54, v d nh ch 1, b m c n th c hi nqua hai b c nh sau :1. N p cc thanh ghi m.
2. G i mt xung t 0 ln 1 n u vo GATE kch pht b m.
V d 6.7a.V tn hi u ra OUT1 n u CLK1=1MHz, N=500 v l p trnh ch 1.b. V dng sng ra OUT1 n u sau 150 xung ng h , GATE1 l ic kch pht .Gii :
a.Ch OUT1 s xung th p ch khi GATE1 t 0 ln 1 .
b.Nu GATE1 c kch pht sau 150 xung ng h , COUNT1c n p li gi tr N=500 v qu trnh m b t u li t u s toxung ra r ng 650 s nh hnh sau :
ch 0, b m t o xung ra ngay sau khi b m c n p,vi iu kin GATE1 =1. ch 1, sau khi s n d ng c an u vo GATE, u ra OUT xu ng th p v duy tr m c ny trongkho ng th i gian NxT, sau li chuy n ln m c cao cho n khiGATE c kch pht tr li.Ging nh mch a hi i, khi c kchpht th u ra s tr li tr ng thi tch c c trong m t thi gian, sau
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
18/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
142
tr li tr ng thi ngh . i vi 8253/54, chng ta c th lp trnh xcnh kho ng th i gian a hi i tr ng thi tch c c. r ng xungthp u ra l NxT, trong T l chu k ca CLK cn N l s m.Nu trong qu trnh m, chn GATE l i c kch pht th b m s c n p li s m N v b m b t u qu trnh l i t u (xem
hnh v d 6.7)Lu trong ch ny vi c m ch bt u khi s n d ng(xung t 0 ln 1) t n u vo GATE. chnh l l do c tn g ilp trnh c hay kch pht c ng. y c ng l im khc v i nhiuch khc, b m b t u vo lc n p s m. Ni cch khc,trong kch pht c ng, sau khi n p s m , chng ta ph i gi snxung 0 ln 1 n u vo GATE kch pht b m.
Ch 2 : My pht sng t l .Ch 2 cn c g i l b m chia cho N. Trong ch ny
nu u vo GATE =1 th u ra OUT s mc cao trong kho ng th i
gian NxT chu k , r i chuy n xu ng th p trong m t xung nh p, sau vic m c n p li t ng v qu trnh c th tip tc. K t qu lch ny t o thnh b m chia cho N. M t chu k tn hi u ra OUT l(N+1)xT, trong tn hi u cao trong kho ng NxT , cn tn hi u th p 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 hi u ra OUT2 n uCOUNT2 c lp trnh ch 2.Gii :Ch l s m c n p li t ng v b m tip tc to ra OUT2.
Ch 3 : B to xung vung ch ny, n u GATE =1 th u ra OUT l xung vung v i
r ng xung cao b ng r ng xung th p khi N ch n. Nh vy, ph n caov ph n th p c a xung chi m kho ng th i gian nh nhau v b ng(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 n p li khi m k t thc, do to ra dy xung vung lin t c c t n s l 1/N so v i tn s CLK.Ch 3 t ng t nh ch 2 tuy nhin ch 3 h s y xungl 50%. Tr ng h p N l , s xung cao s c m t nh p di h n nh trnh by trn.
Thc t , ch 3 chia CLK cho N to ra xung vung c d ngging nh xung u vo, ch khc v tn s . Ch ny c s dng
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
19/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
143
r ng ri lm b chia t n v b to sng m t n (to tone) nh thy trong IBM PC. Trong ch ny, n u u vo GATE xu ng th pth qu trnh m li s ngng v vi c m ch c tip t c khi GATE=1 (xem v d 6.9 ).V d 6.9
Nu CLK2 =1MHz , GATE1=1 v N=1000, v tn hi u ra OUT1nu COUNT1 c lp trnh ch 3.Gii :
V chu k nh p l 1 s , OUT1 l cao trong 500 s v th p trong500 s t o ra xung vung c chu k 1ms. D ng tn hi u ra OUT1 nh sau :
Ch 4 : Xung kch pht bng ph n mmTrong ch ny, n u GATE=1 th u ra s c m c cao trong
khi n p s m. Kho ng th i gian mc cao s l NxT, trong N ls m cn T l chu k ng h . Sau khi m n 0 (k t thc m),u ra s tr v thp trong m t xung ng h , sau tr li mc caov li mc cao cho n khi n p m t t lnh m i ho c s mmi. lp li xung trch m u, s m c n ph i c n p li. Ni cchkhc , ch ny khng t ng n p li s m khi k t thc m.
Ch 4 tng t nh ch 2, ch c im khc l b mkhng t ng n p li. ch ny, n u u vo GATE xu ng th pth vic m d dng v u ra s mc cao. Vi c m ch c tiptc khi GATE tr li ln m c cao kho ng th i gian b m b dngc c ng vo t ng th i gian u ra mc cao (xem v d 6.10 ).V d 6.10Nu CLK0 = 1MHz, GATE0=1 v N=600, xc nh tn hi u ra OUT0nu COUNT0 c lp trnh ch 4.Gii :Chu k CLK0 l 1 s, sau khi s m c n p, OUT0 mc cao trongkho ng 600 s v s xung th p trong 1 s, sau li ln m c cao v cho n khi b m c lp trnh l i. u ra OUT0 c d ng nh sau :
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
20/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
144
Cng c n ph i lu l ch ny vi c m c b t u tithi im s m c ghi vo b m . y chnh l l do c tn g ikch pht b ng ph n m m. Ch 5 c ng t ng t nh ch 4, tr mt im l vi c kch pht c th c hin thng qua u vo GATE.xem v d 6.11.V d 6.11
Nu CLK1 = 1MHz v N=400, v tn hi u ra OUT1 n u n clp trnh ch 5.Gii:Vic m ch c b t u khi t sn xung 0 ln 1 n GATE1.
Ch 5 : Xung mu kch pht b ng phn cngCh ny t ng t nh ch 4 ngo i tr kch pht ph i c
thc hin u vo GATE. Vi c m ch bt u khi c s n d ng(xung t 0 ln 1) a n u vo GATE. y l im khc v i ch 4 - vi c m c b t u ngay khi n p s m, mi n l GATE1 =1.Ni cch khc, i vi ch 5, sau khi s m c n p, c n ph it s n d ng n u vo GATE khi ng b m.V d 6.12Trong v d 6.11 , gi s GATE1 c kch pht l i sau 150 xung . V tn hi u ra OUT1.Gii :Nu GATE1 c kch pht l i sau 150 xung ng h vo b m li,COUNT1 c n p li s m N=400 v qu trnh m li bt u ,lm cho xung ra ko di thm 150 s n a (t ng c ng 550 s ). Khi tnhiu ra OUT1 s nh sau :
-
8/6/2019 KTVXL_2_13_Bo dinh thoi 8253 _C6_
21/21
Nguy n nh Luy n Bi gi ng K thut Vi X LKhoa K thut & Cng ngh - i Hc Quy Nh n
145