Professional Documents
Culture Documents
COM
Su tm v bin son:linhnc308@yhoo.com
Su tm v bin son:linhnc308@yhoo.com
Su tm v bin son:linhnc308@yhoo.com
C bn v pic
Di y l hnh mch chy ca PIC16F84A, PIC16F628A v PIC16F88. Tt c cc PIC ny u c v tr chn tng ng nhau, v thm ch c th ni PIC16F628A tng thch PIC16F84A v PIC16F88 tng thch vi hai loi cn li. C ngha l trong cc ng dng ca PIC16F84A, khi thay i bng PIC16F88, hay PIC16F628A u c.
Tt nhin, 3 loi vi dng PIC trn y c th tng thch vi nhiu dng PIC c hn, nhng v th trng PIC Vit Nam ph bin vi 3 loi PIC ny, cho nn chng ti ch cp n 3 loi PIC ny m thi. Sau khi cc bn c mch np, chng trnh np, MPLAB IDE, CCS C hoc HT PIC, cc bn lm mch chy ny. K t y khi thit k cch mch test, hoc cc thit b ngoi vi khc, cn th nghim, cc bn ch vic thit k mch ngoi, sau cm vo cc chn ra v chy th. Khi mch chy tt, cc bn mun thit k c hon chnh, cc bn ch vic copy mch chy t Orcad v dn vo mch nguyn l ca thit b ca bn. Xo cc chn header i, v ni dy vo trong mch chy PIC. Nh vy, chng ta khng phi tn thi gian thit k cho PIC na. Mt vi im lu v mch nh sau: - Ngun ch dng cho PIC, tuyt i khng dng b ngun ny cho thit b ngoi vi. Nu thit b ngoi vi cn ngun, cc bn thit k b ngun ring. Mt s thit b ngoi vi qu n gin, v tn t dng, cc bn c th dng ngun chung (khong 100mA) - Ti khng khuyn khch dng dao ng ni ca PIC, bi v dao ng ni ch chy c 4MHz, v khng n nh nh dng thch anh ngoi. Mt s ti cng nghip, h dng thch anh chun cng nghip 4 chn, nn chng ta cng to thi quen dng thch anh ngoi, khng cn qu tn dng 2 chn ca PIC. - Mch reset ny l mch reset n gin nht ca PIC, v to ch reset power on. Mt s ng
Su tm v bin son:linhnc308@yhoo.com
Su tm v bin son:linhnc308@yhoo.com
Cc dng ca LED c ni vi in tr, in tr c ni vi cc chn vi iu khin. Cc m ca LED c ni vi GND ca vi iu khin. Nh vy, khi chn vi iu khin mc cao, tc l 5V, n LED s sng. Khi chn vi iu khin mc thp (0V) n LED s tt. Lu trong hnh: Gi tr ca in tr c xc nh da vo dng ti a ca vi iu khin, in p v dng in ti a ca n LED. Nh vy, gi tr nh nht ca in tr c dng c tnh ton nh trong hnh. R = 125 Ohm. Tuy nhin, m bo hot ng ca n LED, chng ta nng gi tr in tr ln thnh 200 Ohm. n LED khi sng qu, ch cn s tay vo n, hoc cc va chm mnh, hoc trng hp b tnh in, n LED c th b h ngay. Hin tng ny d thy nht l cc LED cc sng dng trong cc bng hiu hoc bin bo giao thng, cc n LED cc sng ch cn chm tay vo, s c hin tng tnh in v n ngay. Vi cc LED thng v dng trong th nghim, kh xy ra hin tng ny, tuy nhin cht lng sn xut ca cc n LED cng khng m bo, do vy chng ta chn gii php an ton l trn ht. Hn na, chng ta cng khng cn n LED qu sng. bt u bi tp 1, chng ta tm hiu s qua v cu trc mt chng trnh vit bng MPASM nh sau: Bt c mt chng trnh ASM no, cng c bt u bng vic gii thiu v chng trnh, tn chng trnh, ngi thc hin chng trnh, ngy thc hin chng trnh, ngy hon tt, ngi kim tra li chng trnh, ngy kim tra chng trnh, phin bn ca chng trnh, m t phn cng ca mch giao tip v mt s ch thch. V vy, ti a ra y mt form m ti cho rng hp l, t y v sau, cc bn ch cn ct dn form ny, thay i ni dung tng mc lm phn m u. Chng ta quy nh mt s quy c sau: ;========== dng phn cch cc phn chnh ca chng trnh ;---------------- dng phn cch cc chng trnh con ca chng trnh
Su tm v bin son:linhnc308@yhoo.com
;================================================= ======= ; Ten chuong trinh : Mach test den LED_1 ; Nguoi thuc hien : Falleaf ; Ngay thuc hien : 23/05/2005 ; Phien ban : 1.0 ; Mo ta phan cung : Dung PIC16F628A - thach anh 10MHz ; : LED giao tiep voi PORTB ; : Cuc am cua LED noi voi GND ; : RB0 - RB7 la cac chan output ;---------------------------------------------------------------; Ngay hoan thanh : 23/05/2005 ; Ngay kiem tra : 23/05/2005 ; Nguoi kiem tra : Doan Hiep ;---------------------------------------------------------------; Chu thich : Mo ta cac diem khac nhau cua cac phien ban khac nhau ; : hoac cac chu thich khac ; : vd, dung che do Power On Reset, PORTB = 00000000 ; : hoac, chuong trinh viet cho PIC Tutorial ; : hoac, chuong trinh nay hoan toan mien phi va co the dung cho ; : moi muc dich khac nhau ;================================================= ======= Mc d cha chc rng on ch thch ny c th ngn hn chng trnh cc bn vit, v nh vy vic vit ch thch di hn vic vit chng trnh? Khng, thc s cc ch thch ny rt quan trng, v sau 1, 2, 3 nm, cc bn nhn li, cc bn s vn cn hiu c mnh lm g. C th khi mi bt u, cc bn thy cng vic ghi ch ny l nhm chn, chnh v vy, ti cung cp form ca ghi ch ny, cc bn sau ch cn ct v dn. Ti hy vng rng cc bn nn to thi quen a on ch thch ny vo chng trnh cc bn tr nn chuyn nghip hn khi lm vic vi vi iu khin, c th y l PIC. Tt nhin, y l bi hc u tin, do vy cc ch thch s c ghi rt chi tit, nht l khi m t phn cng. Sau ny, vi cc mch phc tp hn, cc bn khng th ghi ch qu chi tit nh th ny c, cc bn ch ghi ch nhng im chnh thi. Cng tt nhin, khi lp trnh vi CCS C hay HT PIC, cc bn cng nn ghi ch nh vy trong chng trnh chnh, nhng chng ta cha bn n CCS C v HT PIC y. Phn th hai cc bn cn hc, l khi to PIC. Phn ny l phn bt buc theo sau phn ghi ch, bi v chng trnh dch cn phi hiu bn ang lm vic vi con PIC no, lm vic vi n nh th no?
Code:
;================================================= ====== TITLE "Mach test LED_1" PROCESSOR P16F628A INCLUDE <P16F628A.inc> __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC ;================================================= ====== Cc bn s thy rng c mt s t kho nh sau: TITLE: dng cc bn ghi ch thch tn chng trnh. TITLE l ten chng trnh chnh. C php ghi TITLE nh trn. Nh phi c du nhy kp khi vit tn chng trnh. PROCESSOR: dng khai bo dng vi iu khin m cc bn s dng. Cc bn lu , trong MPLAB quy nh, khng vit y tn PIC16F628A m ch vit P16F628A, v trong chng trnh dch quy nh nh vy. INCLUDE: dng a thm vo cc file m bn vit trong chng trnh. Mc nh, trong MPLAB ng dn n th mc cha file P16F628A.inc c sn. Nu bn t file ni khc khng phi
Su tm v bin son:linhnc308@yhoo.com
NHN
LNH
thamso1,
thamso2
By gi chng ta dnh cht thi gian cho l thuyt, cc bn m datasheet PIC16F628A trang 15, Section 4. Memory Organization Chng ta s thy rng t chc b nh chng trnh ca PIC c chia ra lm my phn nh sau: - Pointer - Stack - Interrupt vector - Program memory
Su tm v bin son:linhnc308@yhoo.com
;================================================= ORG 0x0000 GOTO MAIN ORG MAIN ..... END. ;================================================= 0x0005
===================
===================
y s l cu trc mt chng trnh m chng ta s thc hin. Directive ORG dng xc nh a ch m chng ta s lm vic. By gi chng ta xem tip n trang 16 ca datasheet. Chng ta thy rng, b nh d liu ca PIC16F628A c chia ra thnh 4 BANK, hay chng ta gi ting Vit l 4 BNG. Trong 4 bng ny, chng ta thy r n c chia lm 3 phn. Phn th nht l phn cc thanh ghi c a ch xc nh (c ghi ch bn cnh) v c tn tui r rng. Nhng thanh ghi ny c gi l nhng thanh ghi c bit ca PIC. Tn ca chng, thc ra khng c, mt thanh ghi ch c xc nh bng a ch ca thanh ghi m thi. Tuy nhin, chng ta lm ng tc include file P16F628A.inc, file ny nh ngha sn tn cc thanh ghi ny, v l quy c ca MPLAB, ng thi cng l quy c chung cho tt c ngi dng PIC. Chng ta c th thay i, sa cha nhng nh ngha ny, tuy nhin vic lm va khng cn thit, li va gy ra rt nhiu kh khn khi lm vic nhm. Vy cc bn phi hiu, nhng tn thanh ghi ny xem nh l khng thay i trong PIC, v chng ta s dng n nh n tn ti vi chc nm nay. Phn th hai, l phn General Purpose Register. Chng ta gi n l cc Thanh Ghi Dng Chung. Nhng thanh ghi ny cha c nh ngha, v v th n cng khng c tn. Nhng thanh ghi ny c gi tr nh cc bin trong chng trnh m chng ta s s dng. Phn th ba, l cc thanh ghi nm a ch 70h n 7Fh, v v tr tng ng ca n bng 1, 2, 3. Cc thanh ghi tng ng bank1, 2, 3 s tng thch vi cc thanh ghi t 70h n 7Fh bng 0. Tuy nhin, chng ta tm thi cha quan tm n phn ny. By gi chng ta hc vit chng trnh
Code:
==============================
Su tm v bin son:linhnc308@yhoo.com
; rb0 = 1 ; RB0 = 5V GOTO $ ; dung chuong trinh tai day ; vong lap tai cho^~ ; khong bao gio ket thuc END. ; lenh bat buoc de ket thuc ;================================================= =============================== Ri, nh vy, chng ta thc hin xong mt chng trnh vit bng MPASM cho PIC16F628A. Phn tch chng trnh, chng ta s thy, mi khi ng, chng trnh gp lnh goto main, n s nhy n nhn MAIN. nhn MAIN, n gp lnh banksel, tc l lnh bank select. C ngha l n s chuyn sang hot ng bng c cha thanh ghi TRISB. V sao? Bi v ban u khi ng, PIC lun nm bng 0. Nhng thanh ghi TRISB li nm bng 1, v th cn phi chuyn sang bng 1 lm vic. Thc ra chng ta cng c cch yu cu PIC chuyn sang bng 1 mt cch ch danh, ch khng phi l chuyn sang bng c thanh ghi trisb nh chng ta va lm. Nhng vic ny l khng cn thit, c hai vic lm u ging nhau. Chnh v vy, chng ta chn cch vit no cho d nh l c. Sau khi chuyn sang bng 1. Chng ta dng lnh CLRF xo thanh ghi TRISB. Tc l TRISB = 00000000 Chng ta lu mt iu rng, thanh ghi TRISB c cng dng quy nh PORTB s c nhng chn no l chn xut, chn no l chn nhp. Chng ta nh thm mt iu na, s 0 ging ch O, v s 1 ging ch I. Nh vy, khi TRISB = 00000000 tc l PORTB s l OOOOOOOO, tc c ngha l tt c cc chn ca portB u l Output. Nu TRISB = 01010101 th PORTB s l OIOIOIOI. C ngha l RB0 s l Input, RB1 l Output, RB2 l Input, RB3 l Output.. c nh th cho n RB7 l Output. Lu rng RB0 n RB7 c tnh t phi sang tri. Sau , chng ta li thc hin lnh Banksel portb, tc l chng ta li nhy v bng 0 (bng cha thanh ghi portb). Tt c cc lnh lm thay i gi tr ca thanh ghi portb, s lm thay i tn hiu in bn ngoi chn ca PORT B. Sau khi chuyn sang bng 0, chng ta thc hin lnh BSF PORTB,0. C ngha l chng ta set bit v tr 0 ca portb, tc l chng ta cho RB0 = 1. C ngha l ngoi chn RB0 s mang gi tr in p 5V. Khi , n LED ni vi RB0 s sng. Cc bn s thy mach ngoi hot ng nh th ny: Khi bt in ln, PIC c reset. N lp tc bt sng n LED RB0, ri sau gi nguyn nh vy, khng lm g c. By gi cc bn lu chng trnh va vit thnh LED_1.asm vo mt th mc no . Nhn Alt - F10, chng trnh s dch LED_1.asm thnh LED_1.hex Cc bn dng mch np PG2C v chng trnh np IC-PROG np vo PIC (tham kho Hng dn mch np Falleaf PG2C - PIC Tutorial). Cng vic ca cc bn nh sau: 0) Chy th chng trnh ban u 1) Thay i lnh BSF PORTB, 0 bng lnh BSF PORTB, 1. Np li chng trnh mi vo PIC. Bn s thy by gi n LED khng sng v tr RB0 na m sng v tr RB1. 2) Thay lnh BSF PORTB,0 bng on lnh MOVLW b'11110000' MOVWF PORTB Bn s thy cc cc chn t RB0 n RB3 s tt n, v cc chn t RB4 n RB7 n s sng. 3) Bn thay lnh CLRF TRISB bng on lnh CLRF TRISB BSF TRISB, 0 v gi nguyn lnh BSF PORTB, 0 Cc bn s thy rng n LED trong trng hp ny s khng sng na. Bi v cc bn lm cho TRISB = 00000001. Nh vy, RB0 tr thnh chn Input. Khi RB0 tr thnh chn Input, th lnh BSF PORTB, 0 s khng cn tc dng na. RB0 lc ny khng th thay i gi tr bng chng trnh, n ch c th nhn gi tr in p t bn ngoi vo.
PORTB, 0
Su tm v bin son:linhnc308@yhoo.com
10
Kt lun: Qua bi hc ny, cc bn hc c cc ni dung sau: - Lm mt mch chy PIC - Cu trc mt chng trnh PIC - Lp trnh t my tnh, np vo PIC, v cho PIC hot ng - Hiu c hot ng xut nhp ca PIC, chc nng ca thanh ghi TRISA, TRISB, PORTA, PORTB, hiu c cc lnh CLRF (xo thanh ghi bt k), MOVLW (ghi mt gi tr bt k vo thanh ghi W), MOVWF (ghi gi tr ca thanh ghi W vo mt thanh ghi khc), BSF (bt mt bit trong mt thanh ghi bt k), GOTO (nhy n mt nhn bt k), GOTO $ (nhy ti ch), BANKSEL (chon bng trong b nh chng trnh, cha mt thanh ghi bt k), ORG nh a ch trong b nh chng trnh. Hin nay cc bn cha hc n lm th no Input, nhng c th cc bn s thc hin d dng bng vic thay LED bng mt nt bm. Hoc gi, cc bn mun n LED nhp nhy, v nguyn tc cc bn c th thc hin bt tt lin tc n LED bng lnh BSF v BCF. Nhng lm nh th n nhy qu nhanh, khng th thy c. Bi hc sau, chng ta s hc cch vit hm Delay, v cc bn c th thc hin vic lm cho n LED nhp nhy, lm cho dy n t RB0 n RB7 chy qua chy li... Chc cc bn may mn trong bi hc u tin, v chc cc bn thnh cng vi PIC!
*******
&&& *******
Thanh ghi W
Trong bi ny, chng ta ni i nt v thanh ghi W cc bn nm r hn phng thc hot ng ca PIC. Khi nim thanh ghi W: Thanh ghi W l thanh ghi lm vic (Working register), v hu ht mi lnh ca PIC u lin quan n thanh ghi W ny, ly th d nh ADDLW (cng mt s vo gi tr c trong thanh ghi W), SUBWF (tr gi tr ca thanh ghi W cho mt thanh ghi khc), XORLW (ly XOR ca mt s v thanh ghi W)... V cc bn rng, tng s lnh c th tng tc vi thanh ghi W l 23/35 lnh, gn nh chim ton b tp lnh ca PIC. Vy chng ta ghi nhn iu th nht, khi PIC lm vic, gn nh lun lun tng tc vi thanh ghi W. iu th hai, cc bn nhn trong bn b nh d liu ca PIC, cc bn s thy l thanh ghi W l thanh ghi khng c mt bt k bng no ca b nh d liu, trong khi thanh ghi STATUS c mt c 4 bng. Cc bn li thy mt iu rng, thanh ghi W v thanh ghi STATUS c th c truy nht t tt c cc bng, v t bt k u trong chng trnh, v v vy chng tr thnh nhng thanh ghi ton cc nht. im khc bit gia chng ra sao? u l s khc bit gia thanh ghi W v cc thanh ghi khc? im th ba, trong tp lnh ca PIC, khng c lnh no cho php tng tc trc tip gia mt thanh ghi trong b nh d liu dng chung vi mt gi tr thm vo, m u phi thng qua thanh
Su tm v bin son:linhnc308@yhoo.com
11
Vi c im ny, chng ta s phn tch v sao cn phi c thanh ghi W, v sau chng ta s phn tch tt c cc hot ng ca thanh ghi W trong mt chng trnh vit bng PIC, nu c th. Nhng g cn li, chng ta s xem trong bi tp lnh ca PIC midrange. V sao cn phi c thanh ghi W? Bn s lm th no tnh php ton sau: ly gi tr a ca thanh ghi A cng vi gi tr b ca thanh ghi B v t vo thanh ghi A? Mt gii hn ca tp lnh PIC l khng cho php cng hai thanh ghi v t vo mt thanh ghi khc. Do , cc bn s phi thc hin thao tc sau: Chuyn gi tr b t thanh ghi B vo thanh ghi W, sau ly gi tr ca thanh ghi W (lc ny l b) cng vi gi tr a thanh ghi A, sau gn li vo thanh ghi A. on code c thc hin nh sau:
Code:
Khi cc thanh ghi A v B khng nm trong cng mt bng, khi thao tc vi tng thanh ghi, cc bn ch vic i v bng cha cc thanh ghi l xong. Mt on lnh hon chnh c th thc hin cho bt k 2 thanh ghi no c vit nh sau:
Code:
B, A,
W F
on chng trnh ny cng minh ho lun cho vic thanh ghi W l mt thanh ghi ton cc, khi chng ta thao tc vi thanh ghi B mt bng b k, nhng khi chuyn gi tr b t thanh ghi B vo thanh ghi W ri, th chng ta khng cn quan tm rng gi tr nm u, ch cn chuyn v bng cha thanh ghi A th lnh cng s c thc hin mt cch d dng. Mt th d khc v lnh cng, nhng khng phi l cng gi tr nm trong 2 thanh ghi, m l cng gi tr a ca thanh ghi A vi mt s k cho trc no , gi s k = 5 v lu vo thanh ghi A. Chng ta thy rng, hon ton trong tp lnh khng c lnh cng trc tip mt thanh ghi vi mt s, m ch c lnh cng mt s vi thanh ghi W. Nh vy chng ta phi thc hin thao tc sau: chuyn gi tr a t thanh ghi A vo thanh ghi W, cng thanh ghi W vi hng s k = 5, sau chuyn gi tr mi ca thanh ghi W tr li thanh ghi A. iu ny c thc hin nh sau:
Su tm v bin son:linhnc308@yhoo.com
12
A, d'5' A
Trong th d ny, chng ta s khng thy W l mt bin tm na, m tr thnh mt thanh ghi dng lu kt qu cng vi mt con s. n by gi, th chng ta s gi thch r hn v sao chng ta phi lm nh vy. Chng ta thy r rng rng, mt dng lnh ca PIC midrange, c m t bng 14 bit. iu ny c ngha l, khi thc hin mt lnh cng, khng th no dng lnh va lu a ch ca thanh ghi A, va lu gi tr 8 bit ca hng s k c, v mt thanh ghi trong dng PIC midrange cn ti thiu 7 bit biu din a ch thanh ghi, v mt hng s chim 8 bit. N vt qu con s 14 bit cho php m ho lnh. Chnh v vy, khng th thc hin lnh cng trc tip t mt thanh ghi vi mt s c. Quay li th d trn, chng ta cng thy rng khng th thc hin vic cng hai thanh ghi vi nhau, nu nh cn lu 2 a ch thanh ghi, chng ta s mt 14 bit, v nh vy khng c cc bit m ho m t lnh cn thc hin l g. y chnh l im khc bit gia tp lnh RISC v tp lnh CISC. Tp lnh CISC c th thc hin lnh phc, v n c th to ra mt lnh di 8 bit, 16 bit, 24 bit... v l b s ca 8 bit. Do , nu cn cng 2 thanh ghi 8 bit, n hon ton c th to ra mt lnh di 24 bit, trong 8 bit dng m ho, 8 bit dnh cho a ch ca thanh ghi th nht, 8 bit dnh cho a ch cua thanh ghi th 2. Trong khi , tp lnh RISC l tp lnh rt gn, cho d n l lnh g, n cng lun lun ch c 14 bit (i vi PIC midrange). Thanh ghi W ging nh mt thanh ghi mc nh duy nht, v vy, khi thc hin, b x l trung tm c th gii m c nu lnh c cn thao tc vi thanh ghi W hay khng, m khng cn lu a ch ca thanh ghi W bn trong on m lnh. Chng ta xem hnh di y bit c b x l logic hot ng nh th no vi thanh ghi W.
Vy chng ta thy r s cn thit ca thanh ghi W, bi v chng ta cn c mt thanh ghi tm cho cc cng vic tnh ton, v chng ta cn m ho thanh ghi m khng cn tn qu nhiu bit, vy th thanh ghi W va l thanh ghi c tnh ton cc, va l thanh ghi tm, va l thanh ghi khng cn thit nhiu bit biu din a ch. Cc bn bit v sao chng ta phi cn thanh ghi W, by gi chng ta cn bit thanh ghi W hot ng nh th no trong cc chng trnh ca PIC.
Su tm v bin son:linhnc308@yhoo.com
13
Thch anh to dao ng trn cc chn OSC, a vo bn trong PIC. PIC s m 4 nhp trn dao ng thch anh, v thc hin mt lnh. Nh vy, thi gian thc hin mt lnh chnh l 4 nhp dao ng ca thch anh. Chng ta thng gi thi gian thc hin mt lnh ca PIC l mt chu k my (on s 2 trn hnh). Vy mt chu k my bng bao nhiu, nu chng ta s dng thch anh 10MHz cho PIC?
Code:
Tn s dao ng ca thch anh: F_osc = 10MHz Chu k ca dao ng thch anh: T_osc = 1/10.000.000 s Chu k my T_instruction = 4 * T_osc = 4/10.000.000 s = 0.0000004 s = 0.0004 ms = 0.4 us = 400 ns
Nh vy, mt lnh my c thc hin trong vng 0.4 micro giy, hay 400 nano giy. Tng t, khi cc bn dng thch anh 4MHz, chu k my s l 1us, v dng thch anh 20MHz, chu k my s l 200 nano giy. Quay tr li vi vic nu chng ta cn thc hin mt vic g ging nh nhp nhy n LED, th chng ta cn PIC phi dng li, khng lm g c ch chng ta. Nu nh lnh NOP (lnh khng lm g) s gip chng ta ch 0.4 us, m chng ta cn ch 1 giy, th chng ta vit bao nhiu lnh NOP cho ? Thay v nh vy, chng ta vit mt vng lp cho vi iu khin lm mt vic v thng v pht no N ln, v mi ln nh vy n tn T chu k my. Nh vy, sau khi kt thc vic lm v thng v pht , vi iu khin ch chng ta N * T chu k my. vit mt vng lp nh vy, trc tin chng ta hc cch t bin. Mt bin c t trong PIC, thc cht l mt tn gi chung cho mt hoc nhiu thanh ghi cc gi tr. Trong phn ny, chng ta ch n gin lm t bin c ngha l t tn cho mt thanh ghi. Thc ra, chng ta hon ton khng cn t tn, m c th gi trc tip a ch ca thanh ghi, nhng nu lm nh vy, sau ny, khi chng trnh phc tp dn ln, chng ta s d b ln ln cc bin. Khi t bin, thanh ghi ny nm u? N s nm trong b nh chng trnh v c th,
Su tm v bin son:linhnc308@yhoo.com
14
=================
;=================================================
=================
Cc bn va lm g? Directive ORG dng xc nh a ch vng nh. Cc bn lu rng, khi xc nh a ch vng nh y, chnh l cc bn xc nh a ch vng nh d liu, ch khng phi a ch vng nh lp trnh. Nhng g cc bn vit pha bn di, s gip cho trnh dch hiu c rng cc bn ang lm vic trong vng nh lp trnh, hay vng nh d liu Directive RES quy nh vic t bin. S 1 pha sau xc nh rng bin c tn COUNT_L chim 1 thanh ghi 8 bit, tc l 1 byte. Tip theo, cc bn li t bin tn l COUNT_H. Nh vy, bin COUNT_H cng chim 1 byte. Cu hi t ra l cc thanh ghi ny nm u? Cc bn lu , khi cc bn dng directive ORG, l cc bn xc nh ni bt u t bin. Nh vy, bin COUNT_L s c di 1 byte, v c t a ch 0x020 tc l a ch u tin ca vng nh d liu dng chung trong bng 0 (20h) V COUNT_L chim 1 byte. Do , bin COUNT_H s chim byte tip theo, v a ch u tin ca COUNT_H s l 21h, nhng COUNT_H cng ch c 1 byte, cho nn n chnh l thanh ghi a ch 21h. n bin COUNT_N, tng t, a ch u tin ca n s l 22h. Bin COUNT_N chim 3 thanh ghi, nh vy, bin COUNT_N s nm t 22h, 23h n 24h. Nu tip tc t thm cc bin khc, cc bin s bt u t a ch 25h, c nh th. Nu hiu nm na theo cch ny, bn c th s d hiu n hn, mt hng l mt gi tr. Gi tr c th nm trong thanh ghi d liu (b nh d liu), nhng cng c th nm trong lnh iu khin (b nh chng trnh). iu ny khng nh rng, hng l mt gi tr. Mt khi bn t mt tn no , i din cho mt hng s, c ngha l thay v bn vit ci gi tr , th bn vit ci tn i din , d nh. Chng hn, bn vit ch pi, i din cho hng s c gi tr 3.1415926.... Trong khi , nu bn t mt bin pi, th c ngha l bn xc nh a ch ca thanh ghi d liu no , m mi khi bn truy xut n bin pi, c ngha l bn ang thao tc vi thanh ghi a ch m bin pi i din. V d: bn t bin pi thanh ghi 0x20 chng hn. iu c ngha l khi ban lm g vi bin pi, chnh l bn ang lm vic vi thanh ghi a ch 0x20. Nhng bn s thy rng, vy bin pi v hng s pi c g khc nhau? By gi bin pi v hng pi cng u mang gi tr c. Nhng cc bn nn nh, trong cu lnh lc no v tr ca bin (thanh ghi) F, v v tr ca hng s k (trong cu trc mt cu lnh MPASM, ti s post li bi ny t dddt). c s phn bit r rng. Vy ty theo v tr bn t n u, n s l bin, hoc l hng. Nu l bin, n ch mang gi tr ca da ch ca thanh ghi nm trong b nh d liu, nu l hng, n nm u cng c k c b nh d liu v b nh chng trnh. Vy mun t bin cc bng khc th lm th no? Cc bn c ly a ch u ca vng nh d liu dng chung ca bng v vit nh sau:
Code:
Su tm v bin son:linhnc308@yhoo.com
15
;================================================= ;----------------------------------; Bien nam o Bank0 ;----------------------------------ORG 0x020 COUNT_L RES COUNT_H RES 1 1
======================
;================================================= ; Phn ch thch ban u ; ;================================================= ; Phn khi to vi iu khin TITLE PROCESSOR INCLUDE __CONFIG ;================================================= ; Phn t bin ;------------------------------------; Bin bng 0 ;------------------------------------ORG 0x020 ;-----------------------------------; Bin bng 1 ;-----------------------------------ORG 0x0A0 ;-----------------------------------; Bin bng 2 ;-----------------------------------ORG 0x120
======================= =======================
=======================
Su tm v bin son:linhnc308@yhoo.com
16
Nh vy, chng ta bit cch vit mt chng trnh y dnh cho vi iu khin PIC bng ngn ng MPASM. Cc bn cn ch thm, nu pha trn ch bin bng 2, cc bn khng t bin g c, th cc bn c nguyn nh vy, v ngay bn di, cc bn t li a ch 0x0000, n chng nh hng g n chng trnh. Cng ging nh, nu bn khng vit g on ORG 0x0000 v GOTO MAIN, m bn ngay dng ORG 0x0005 th chng trnh vn chy bnh thng. n gin l t on 0x0000 n 0x0004, PIC s khng lm g c. Chng ti ang c gng tng bc hnh thnh cho bn kt cu chng trnh vit bng MPASM, mi ngy mt hon thin hn, cc bn nm r l do v sao cc chng trnh c vit nh vy, v chng ta cng thng nht vi nhau im ny khi vit chng trnh. Nu cc bn tin tng vo vic to ra mt chun vit chng trnh MPASM cho Vit Nam, th cc bn l ngi ang t nn mng cho n. Ti cng c tham vng ny, cho nn cc quy cch k hiu ti c gng dng mt chun thng nht, v mong rng cc bn cng ti lm vic ny, sau ny tt c mi ngi khi lm vic cng vi nhau c th hiu v truyn ti tng mt cch nhanh nht. K t nay, cc bn bit cch t bin, bit cch vit phn khi to, chng ta s ch cn bn ti vic vit phn chng trnh chnh nh th no na m thi.
Code:
===========================
BANKSEL TRISB CLRF MOVLW MOVWF LOOP BANKSEL PORTB BSF CALL BCF CALL GOTO
; t portb l output
D'255' COUNT_L ; COUNT_L l 1 byte PORTB, 0 DELAY PORTB, 0 DELAY LOOP ============================ ============================ F
;================================================= ; Cc chng trnh con ;================================================= DELAY DECFSZ COUNT_L, GOTO DELAY RETURN ;================================================= GOTO $
============================
Su tm v bin son:linhnc308@yhoo.com
17
Cc bn va lm g vi on chng trnh trn? im th nht cc bn nn ch , l vic ti thm phn cc chng trnh con vo trong phn chng trnh chnh. Phn cui chng trnh ti vn lun l GOTO $ v kt thc vi lnh END. Tm thi cc bn c vit nh vy kho chng trnh dng GOTO $, khi chng trnh nhy n , n s thc hin vng lp v cng ti ch, cn lnh END l lnh bt buc. Vic ny gip chng ta phn tch rch ri phn chng trnh con v chng trnh chnh trnh nhm ln. Bi v y chng ta mi bt u cc bi hc c bn, cho nn ti cho rng cc chng trnh ca cc bn vit l ngn, nn chng ta cha i xa hn v vic phn b v tr ny. Cc bn ch n gin hiu l chng ta cn phi b on chng trnh con u , v chng ta nn tch thm mt phn na dnh ring cho vic vit chng trnh con. Vic lm ny v sau s rt c li, nhng tm thi chng ta khoan bn ti, v chng ta c vit nh vy . Phn tch v on chng trnh con ny, chng ta thy chng trnh con lun bao gm nh sau:
Code:
[NHN] cc cu lnh RETURN Lu rng trn, chng ta gi chng trnh con CALL DELAY. Nh vy, vic gi hm c thc hin bng lnh CALL [NHN]. Con tr chng trnh s nhy v [NHN] c gi. N thc hin cc lnh nm t nhn tr i. Thc hin cho n khi gp lnh RETURN, n s quay tr v v thc hin lnh tip theo ngay bn di lnh CALL. y, chng ta gp phi mt vn , l khi nim Top of Stack. Tuy nhin, chng ta tm gc n li cho bi hc sau, cn by gi cc bn ch cn nm c vic thc hin lnh CALL bao gi cng i km vi mt nhn. Con tr nhy ti nhn v thc hin cc lnh bn trong , n khi gp lnh RETURN th n nhy tr v v tr nm sau lnh CALL v thc hin tip cng vic ang lm. V b qua khi nim Top of Stack, cho nn ngh cc bn khng t ra cu hi nu trong cc lnh thc hin, n li c mt lnh CALL gi i ch khc th lm th no? Chng ta s gii quyt vn ny phn sau. Th bn trong hm DELAY chng ta lm nhng g? Lu rng, trn chng trnh chnh, sau khi khi to PORTB l ng output, cc bn thy chng ta ghi gi tr d'255' vo bin COUNT_L. Cch vit gi tr nh sau: b'11001010' xc nh s nh phn d'234' xc nh s thp phn 0xF3 xc nh s thp lc phn Lu : S nh phn ch c cc gi tr 0 v 1, v ti a di 8 bit. S thp phn ch c th c gi tr t 0 n 255, v s thp lc phn ch c gi tr t 00 n FF Quay tr li, bin COUNT_L ang mang gi tr 255. Khi thc hin hm DELAY, cc bn thc hin lnh DECFSZ (DECrement File, Skip if Zero), c ngha l n s gim gi tr ca mt thanh ghi no mt n v. Nu sau khi gim xong, m kt qu l 0, th n s nhy cch ra mt nh trong b nh chng trnh, v thc hin lnh tip theo . Nu gi tr sau khi gim mt n v cha bng 0, th n s thc hin lnh lin k vi n. Nh vy, vng lp c thc hin nh sau:
Code:
COUNT_L = 255 ( trn t) DELAY COUNT_L = COUNT_L - 1 if COUNT_L <> 0 GOTO DELAY if COUNT_L = 0 RETURN
Su tm v bin son:linhnc308@yhoo.com
18
Lnh DECFSZ
[File], F/W
Nu pha sau du phy, chng ta W, th kt qu s lu vo thanh ghi W, v [File] khng thay i gi tr g ht. Nhng y, chng ta mun thc hin nh on m gi trn, nn chng ta phi l F. COUNT_L s gim dn t 255 n 1, trong qu trnh n c chy ln DELAY, ri gim COUNT_L mt n v, xong li nhy v DELAY, li thc hin vic gim 1 n v ca COUNT_L Khi COUNT_L = 1 n li gim 1 n v, lc ny COUNT_L = 0. V n khng thc hin lnh GOTO na, m thay bng lnh NOP, sau n thc hin lnh RETURN, c ngha l quay v li lnh CALL trn. Nh vy, cc bn hiu r hm DELAY ri. Nhng quan trng nht l lm sao tnh ton c thi gian hao tn ca on vng lp ny k t khi bt u thc hin lnh CALL, v thc ra chng ta mun l mun bit chnh xc thi gian thc hin lnh ca n. Thi gian thc hin ca lnh CALL DELAY l bao lu? Lnh CALL khi thc hin tn 2 chu k my, nh vy chng ta ghi ch l (2) y. Lnh DECFSZ tn 1 chu k my khi gi tr tr v khc 0. Nh vy, trong qu trnh thc hin gim t 255 xung 1, n thc hin 255 - 1 = 254 ln. Mi ln th ny n tn 1 chu k my, chng ta k hiu (254) y. Khi thc hin lnh GOTO, lnh GOTO tn 2 chu k my, vy n cng thc hin 254 ln, chng ta k hiu (254 x 2 = 506) y. Khi COUNT_L = 1, n vn thc hin lnh DECFSZ, vy n tn thm 1 chu k my na (1). Sau khi thc hin lnh ny, kt qu tr v l 0, vy n s thc hin mt lnh NOP (1), v sau thc hin lnh RETURN, lnh RETURN tn 2 chu k my (2) Kt qu: (2) + (254) + (508) + (1) + (1) + (2) = 768 chu k my Nu chng ta dng thch anh 10MHz, 1 chu k my tn 0.4 us, c ngha l lnh CALL DELAY tn 768 * 0.4 us tc l khong 1/3000 giy. Chng ta khoan bn n vic xa hn, vy th chng ta bit cch tnh thi gian hao tn ca hm DELAY ri. Nhng nu tnh nh th ny th qu mt cng, chng ta c th chuyn n thnh cng thc c th nh sau: CALL = 2 DELAY (COUNT_L) = [COUNT_L - 1] * (DECFSZ + GOTO) + 1 + 1 RETURN = 2 Cc bn nn nh cng thc ny sau ny pht trin ln tnh cc cng thc khc. C l hm nay chng ta tm dng bi hc y Cc bn lu , ti c tnh sai mt on pha trn, v qung g hay sao , tnh t 255 xung 1 gim ch c 253 ln. ng l phi 254 ln. Nh t 2 gim xung 1 th ch c 1 ln thi. Xin thnh tht co li vi cc bn.
Tng kt Cc bn hc c g ngy hm nay? - Cc bn hiu c khi nim chu k my, dao ng thch anh to ra, PIC s thc hin 1 lnh trong vng 4 dao ng ca thch anh. Nh vy, chu k my ca PIC s l chu k dao ng ca thch anh nhn vi 4, hay tn s PIC s bng tn s thch anh chia 4. - Cc bn hc c cch t bin trong mt chng trnh vit bng MPASM, cc bn c th t bin bt k bng no cc bn mun - Sau , cc bn b sung phn t bin ny vo trong sn chng trnh ln trc hc, cc bn hon thin hn sn mt chng trnh vit bng MPASM - Cc bn li thm vo sn chng trnh phn cc chng trnh con, vy ti thng bo vi cc bn rng cc bn ch cn thiu 2 phn na l ngt (Interrupt) v bng (Table) na, l cc bn c th c mt sn chng trnh vit bng MPASM hon chnh. Cc bn s khng phi i lu hon tt sn chng trnh ny. - Cc bn hc c cch dng hm CALL v RETURN, n lun lun i km tng cp vi nhau. - Cc bn hc thm cc lnh: BCF, CALL, RETURN, DECFSZ Ti liu tham kho:
Su tm v bin son:linhnc308@yhoo.com
19
Bi 3: Ngt (interrupt)
Su tm v bin son:linhnc308@yhoo.com
20
Hnh 1: Cc ngun ngt ca dng PIC Midrange Chng ta ch n mt s im sau: 1) Trong hnh c cc k hiu cng logic AND v OR
y l cng AND, c ngha l ch khi u vo ca hai cng ny u c gi tr l 1, th u ra mi c gi tr l 1. Chng ta quan st mt gc hnh bn tri pha di TXIF v TXIE, chng i qua cng AND, ch khi no bit TXIE bt ln, v bit TXIF cng c bt ln, th lc ng ra ni vo cng OR pha trn mi c gi tr.
y l cng OR, c ngha l ch cn mt trong cc tn hiu ng vo c gi tr l 1, th ng ra s c gi tr l 1. Nh vy, nu c TXIE v TXIF u c gi tr 1, th ng ra sau cng AND ca chng s c gi tr 1 v ng ra sau cng OR cng c gi tr 1, bi v t nht cng OR y cng c 1 ng vo c gi tr 1. Chng ta c tip tc nh vy m suy ra. 2) im th hai, l cc ch ui IE v IF: IE y l vit tt ca ch Interrupt Enable, v IF y vit tt ca Interrupt Flag. IE c ngha l chng ta cho php kch hot mt loi ngt no xy ra hay khng. y l tn hiu m chng ta c th quy nh ngay t ban u. Mc nh, tt c chng u c gi tr 0, ch khi no chng ta cho php mt ngt no xy ra, th v sau n mi xy ra ngt thi. Cng ging nh, ban u trn b rung c dy ro chn, th con b khng th no hc bn t c, nu bn b hng ro ra, th nu c con b hc bn, bn s t. Nguyn l ny n gin nh vy thi. IF y l cc c ngt. Tc l khi bn b b hc, th c mt ngi cm c gi ln bo l
Su tm v bin son:linhnc308@yhoo.com
21
;================================================= ORG 0x0000 GOTO MAIN ORG 0x0004 GOTO INTERRUPT ORG 0x0005 MAIN ; y l phn chng trnh chnh ca cc bn ;=================================================
==================
==================
Su tm v bin son:linhnc308@yhoo.com
22
Nh vy, mt ln na, chng ta b sung sn chng trnh ca chng ta mt cch chi tit hn. Chng ta va thm vo mt on chng trnh con INTERRUPT. Thc ra, gi INTERRUPT l mt chng trnh con cng khng sai, nhng v n kh c bit, nn chng ta c tch ri n ra. Khi to v kt thc ngt: Ti cung cp di y on chng trnh khi to v kt thc ngt y cho PIC, t nay v sau, khi mun s dng ngt, cc bn ch cn copy v paste on code ny li, hon ton khng cn sa cha g v c th s dng. Ti s dnh cho cc bn t cu hi v phn ny t cc cu hi, c th gii thch r hn v sao chng ta li vit nh vy, tng im mt. Nu khng, ti khng th c thi gian vit tt c mi vn v ngt ra y c.
Code:
;================================================= =========================================== INTERRUPT ;------------------------------------------;Doan ma bat buoc de vao ngat ;------------------------------------------MOVWF for remainder of handler STATUS ) MOVF MOVWF CLRF MOVF MOVWF here! ;----------------------------------;Doan chuong trinh ngat ;----------------------------------; cac ban se viet chuong trinh ngat o day ;-------------------------------------------------;Doan ma bat buoc de ket thuc ngat ;-------------------------------------------------MOVF MOVWF FSR_SV, W FSR ; FSR = MOVF PCH_SV, MOVWF PCLATH SWAPF STAT_SV, FSR_SV W ; PCLATH = PCH_SV W ; STATUS = 0 PCLATH, W PCH_SV ; PCH_SV = PCLATH PCLATH ; PCLATH = 0 FSR, W FSR_SV ; FSR_SV = FSR ; 10 cycles from interrupt to W_SAVE SWAPF CLRF MOVWF STAT_SV ;W_SAVE(bank unknown!) = W STATUS, W STATUS ; force bank 0 ; STAT_SV = swap_nibbles(
Su tm v bin son:linhnc308@yhoo.com
23
SWAPF W_SAVE, W
Nh vy, chng trnh ngt c chia lm 3 phn chnh. Phn th nht l phn bt u vo ngt, y l on chng trnh bt buc, tt nhin khng hon ton nghim ngt nh vy, v thc t nhiu khi bn khng dng n tt c cc lnh ny, nhng v mc ch cung cp cc khi nim c s, v cng c lm vic y , ti cung cp cho bn chng trnh ngt chi tit. Phn th hai l phn chng trnh ngt ca bn. Khi xy ra ngt, bn mun lm ci g, th bn bt u vit t phn ny tr i. Phn th ba l phn kt thc ngt, bn c vit nguyn bn nh vy khng cn sa i. Tm thi, s khng c cc phn tch chi tit ging nh cc bi hc trc, cc bn c th t tm hiu thm, nu khng, c th t cu hi, v chng ta s t t tm hiu r hn v ngt ca PIC. Thi gian ti y, c l ti hi bn, cho nn ti khng th vit bi lin tc c, mong rng cc bn c gng tm hiu v hc tt PIC. n giai on ny, cc bn c th dng con PIC, ging nh mt con 89C51 thng thng. V cc bn thy y, thc s PIC ch cn 1 ngy hc. Chng ta va hc xong 3 bi hc c bn nht ca mt con vi iu khin: iu khin port, vit hm delay v vit chng trnh ngt. Phn th t ca bi vit chng trnh ngt, s i chi tit vo cc ngt v gii thch r ngha tng ngt. Nhng thit ngh, ti nn kt hp bi hc ny y, v kt hp phn th t vo bi hc sau: Nt bm v cc ng vo ca PIC. Ti liu tham kho: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en 011006
Bi 4. Nt bm
Cc bn va bit khi nim ngt, v bit chng trnh ngt c vit nh th no. Vy by gi chng ta chuyn n bi tip theo v nt bm. Cng dng ca nt bm Nt bm l mt hnh thc ra lnh ph bin nht trn th gii. Bn gi mt ci thang my, bn bm nt, bn ku ca th bm chung, bn bt n th bm nt cng tc, v ti ang ngi vit cho bn bng cch bm nt bn phm... Nh vy, bn bit cng dng ca ci nt bm. By gi cc bn s hc cch lm mt ci nt bm!!! iu ny c v bun ci, nhng vi vi iu khin, v my tnh, kh nng x l cc lnh rt a ng. Bn c th bm cng mt nt, nhng lnh s khc nhau mi thi im, v mi trng thi. V d, nh bn nhp chut my tnh, thc ra cng l bn nhp nt bm, nhng bn thy r rng rng, nhng v tr di chuyn chut khc nhau, nt bm ca chut s a ra cc mnh lnh khc nhau cho my tnh thc hin. Mt s trng thi nt bm thng dng Trng thi nt bm ra lnh tc thi, l khi bn bm nt, lp tc mi trng thi phi c kim tra v chng trnh dng li thc hin lnh t nt bm ca bn. C ngha l bn ra lnh ti thi im bm nt, v my hiu rng bn bm nt. Cn vic x l th no th hi sau phn gii. Trng thi ch nt bm, l chng trnh bn ang chy, n mt giai on no , n cn phi c s ra lnh ca bn bng nt bm, v chng trnh ch bn bm nt chy tip, hoc bt u mt cng vic no sau khi ch. Nhc li thao tc bm nt mt cht, ci nt ca bn ang trn cao, bn bm n xung th n s c mt giai on nt bm i xung, khi chm vo mch in, hin nhin bn mun hay khng mun th cng phi c mt khong thi gian bn gi cho nt bm tip xc vi mch in, sau l giai on bn th nt bm ra.
Su tm v bin son:linhnc308@yhoo.com
24
Theo di hnh trn, chng ta thy. Khi bm nt, c qu trnh i xung ca nt bm, v qu trnh i ln ca nt bm. Nhng thc t, i vi mch in trong nt bm, n ch c th nhn c trng thi tip xc hoc khng tip xc, nn tn hiu nhn c s nh ng mu xanh trong hnh di. Chng ta ch quan tm n trng thi ca ng mu xanh trong cc ng dng ca nt bm. Vy, trng thi nt bm li c thm 3 trng thi na l trng thi bm xung, trng thi gi nt bm, v trng thi nh nt bm ln. Kt hp vi 2 trng thi iu khin trn, chng ta c 6 trng thi ph bin ca nt bm. Cc bn lu rng, chng ta c 6 trng thi ch khng phi ch c 4 trng thi, v thc ra rt nhiu ngi cho rng ch c 4 trng thi khi cho rng trng thi ch trong lc gi nt bm khng phi l trng thi ph bin. Nhng nu cc bn tng dng in thoi di ng th cc bn thy s ngi dng trng thi ch ca nt bm cng khng phi l con s nh. y, ti mun tn dc mt cht rng, khi cc bn lm vic v khoa hc k thut, v n mt khi cc bn kh c th tm ra ng hng suy ngh gii quyt mt vn khoa hc k thut, hy tm mi lin h vi n trong khoa hc x hi. Chnh v vy, cc bn thng thy ti hay a ra nhng v d x hi minh ho cho vn k thut cn c gii quyt. Ti s dnh vic ng dng tng trng thi nt bm ph bin trong cc ng dng cho cc bn, cn y, ti ch mun nhn bi hc ny tip tc bi hc v interrupt m chng ta b d trc . Vy chng ta ch xt trng thi khi bm nt, lp tc lnh s c thc hin, tc trng thi tc thi ca nt bm. Cc bn hy lm bi tp thc hnh, thc hin mt mch in t nh hnh sau chun b cho bi hc ca chng ta.
Su tm v bin son:linhnc308@yhoo.com
25
Trong mch in ny, chng ta thy c mt vi im c bit khi c 1 nt bm ni gia chn ca PIC v ngun, cn cc nt bm khc li ni chn ca PIC vi t. Gia ngun v t lun c mt in tr 10K. V sao chng ta phi ni mch in nh vy? Chng ta tm dng bi hc v nt bm y v theo di bi hc c bn v in t tip theo.
Su tm v bin son:linhnc308@yhoo.com
26
in t c bn
Chng ta cho rng ng vo ca PIC, cng ging nh ng vo ca mt linh kin in t thng dng l 74HC04. Thay v v mt ci chn PIC, th chng ti v hnh mt con 74HC04 cho n n gin, v cc bn d hnh dung. Nu mt con PIC ln mt hnh th qu phc tp hnh nh, v li khng cn thit. Hn na, bi vit ny c tham kho t ti liu Very Basic Circuits ca Encoder, v trong trang web ny, ngi ta s dng 74HC04 lm th d, ti tn trng v d ny nn khi vit li bi vit cng s dng 74HC04 ging nh h. Cc bn thy, nu nh nt bm c nhn xung, th ng vo ca 74HC04 hay PIC c ni vi Mass. Nh vy, lc PIC c th c gi tr 0. Tuy nhin, nu nt nhn c th ra, chng ta thy rng ng vo ca PIC chng c ni vi mt linh kin no, vy l in p chn ca PIC s tri ni khng xc nh c. Nu khng may mn, in p tri ni ny ri vo vng logic 0, ri li nhy sang vng logic 1... th cc bn thy r rng chng ta khng th xc nh c nt bm c c bm hay khng?!! V vy, m bo, nu khi khng bm nt, PIC phi c in p tham kho l 5V, sau khi bm nt th in p s gim xung 0V, nh vy mc logic mi tht r rng, khng th tri ni nh hnh trn. Vy chng ta c hnh di y
Cng dng ca in tr ko ln Cc bn li thy, nu by gi khng bm nt, th in p ng vo ca PIC s l 5V. Nhng nu bm nt mt ci, r rng chng ta gy ra ngn mch khi ni trc tip t ngun xung t. Chnh v vy, chng ta phi a thm vo mt in tr gia t, nt bm v ngun.
Su tm v bin son:linhnc308@yhoo.com
27
Cc bn s bc mnh ngay rng, ng l thng ngc mi t in tr nh th ny, bi v nu t in tr nh vy, d bn c bm nt hay khng bm nt th in p ng vo vn lun lun l 5V, vy nt bm tr nn v ngha. Th th ch cn mt cch t in tr nh hnh tip theo y(H.a):
(H.a) (H.b) Vy vn cn li l gi tr in tr bng bao nhiu? Cc bn s thy, PIC hot ng 20mA v 5V trn cc chn. V vy, khi cha bm nt, ngun 5V c ni vi in tr v i vo chn ca PIC. Nu nh trong mt trng hp no chn ca PIC chuyn t ch input sang output, th vn xy ra l dng trn chn phi m bo nh hn hoc bng 20mA. Nh vy, trong thit k trn, chng ta xem dng ti chn PIC nu PIC t 0V l: I = U/R = 5V/ 10000 Ohm = 5mA Nh vy, thit k ny m bo cho hot ng ca PIC c an ton. Khi ng nt bm dng 5mA ny s i xung t, v chn ca PIC c ni vi t. Cc bn xem tip hnh sau(H.b) Trng hp ny, nt bm c ni vi ngun 5V. in tr ni gia chn ca PIC vi t s khng lm cho PIC c hin tng tri ni in p, v khi ng nt bm th dng vn 5mA. Tng kt: Qua bi hc ny, cc bn hiu c c bn v khi nim in tr ko ln (trng hp in tr ni vi ngun), v in tr ko xung (trng hp in tr ni vi t). Gi tr in tr c t y nhm loi b hin tng ngn mch, v m bo ng vo ca PIC khong 20mA. Khi an ton, cn thit k sao cho ng vo nh.
To be continue
Su tm v bin son:linhnc308@yhoo.com
28