You are on page 1of 30

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 dng ca PIC yu cn mch brownout reset, cc bn c th tham kho
trong datasheet. Nhng ti thit ngh, nhng ti thng thng, khng cn dng
mch brownout reset ny.

Chng ta thng nht chun thit k cho cc header l ni vo cc chn ca PIC


theo th t hai chn ngoi cng l Rx0 v GND. Mc ch l khi chy mch in,
chn GND c th c xp ra pha ngoi, chn Rx0 quy nh cho tt c cc
port khc nhau, v c port ch c 3 chn, c port 5 chn, 8 chn... Nu ly chn
RB7 lm chun chng hn, th s rt kh gii thch khi ly chn RA4 t ra pha
ngoi. V vy RA0 v RB0 chng ta ly lm chun. iu ny cng c thc
hin trong mt s tutorial, v gn nh l quy c bt thnh vn khi thc hin cc
mch pht trin cho vi iu khin. Chn VDD (5V) c ni vo, nhm s dng
cho cc ng dng cn c in p ng vo, nhng khng cao lm nh trn ni
(100mA). Tuyt i khng thit k chn VSS (GND) v chn VDD (5V) hai
u ca header, trnh tnh trng i khi chng ta khng cm nhm, c th
lm hng PIC, hoc hng lun c thit b ngoi vi.

Cc nt bm v cng tc, ti thit k l cc nt bm 4 chn, v hin nay trn th


trng hu nh ch bn loi nt bm ny, v loi nt bm ny chc chn hn loi
2 chn trc y. Cc bn cng lu sau ny khi thit k nt bm cng nn thit
k nt bm 4 chn.

Con n p 78L05 khc vi con 7805. N l dng TO92, tc l n ging nh con


transistor thng thng, nn rt nh, ch khng phi dng 3 chn v c tm tn
nhit pha sau nh con 7805. Do vy, mch thit k s nh i kh nhiu.

y, ti khng chy ra mch in, v rng ti mun dnh cng vic ny cho cc
bn sinh vin mi hc. Sau khi cc bn lm xong mch in, nu cc bn c th chia
s vi chng ti th tht l tuyt vi. Ch c mt iu lu l, chng ta thng
khng cm trc tip vi iu khin vo mch hn, m chng ta cm qua mt
socket c th g ra lp trnh li, v m bo khng b chy PIC khi hn. Do
vy, khi cm socket, cc bn s c th nht hai t ni thch anh vo bn trong
socket, khi cm PIC ln, n s che hai ci t i, v mch ca cc bn s gn
gng hn. Socket loi 18 chn khng th nht thch anh
v in tr ni t chn MCLR n VDD vo bn trong c, nhng sau ny khi
dng PIC 28 hoc 40 chn, cc bn nn nht tt c vo bn di socket cho
mch gn gng hn.
Mt im cui cng, chng ti khng thit k phn np bng ICSP, bi v chng
ti khng mun lm cho cc bn mi hc PIC cm thy bi ri. Chng ta s thc
hin mch chy PIC vi cc chn ICSP v bootloader sau.

Bi tp 1: Bt tt n LED

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

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:

c 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 trong th mc bn ang lm vic, hoc cc file include khong
phi l file .inc c sn ca MPLAB, th cc bn phi ch ng dn r rng. Lu rng,
MPASM dch c, cc bn phi t ng dn t th mc gc n ht tn file (k c
phn m rng ca file) khng c qu 60 k t.
__CONFIG: dng thit lp cc ch hot ng ca PIC. Cc bn c th xem hiu
thm v cc ch hot ng ny trong ti liu
PICmicro
Mid Range MCU Family
Reference Manual
Section 27. Device Configuration Bits
Table 27-1 page 27-7
Ti liu ny c th download trn trang web ca microchip www.microchip.com,
keyword: MidRange Manual.
Mi directive t ch , cch nhau mt k t &.
Nu ghi ch hot ng vo y, cc ch hot ng s trng thi mc nh khi
khi ng.
Cc bn cng c cch khc t ch hot ng bng cch tc ng trc tip vo cc
thanh ghi khi to. Tuy nhin, vic ny l vic lm khng cn thit, khi chng ta c
cc directive vit tt.
Nh vy, chng ta t y ch _CP_OFF, tc l khngt ch bo v source code
khi np vo PIC, sau khi np vo s c th c ngc li t PIC ra. Chng ta khng cn
bo v chng trnh ny, bn c th c ngc bng IC-PROG v kim tra li.

Ch _PWRITE_ON, tc l cho timer 0 chy khi Power On Reset. Thc ra timer0 c


chy hay khng cng khng quan trng, v n chng lin quan g n cng vic ca
chng ta. Nu sau ny mun dng timer0, th cc bn vn phi khi to li gi tr cho n,
ch u th s dng gi tr ngu nhin ca n c, thnh ra c cho n chy, sau ny
cn dng khi phi khi to.
_WDT_OFF, ti thi im ny, ti tt Watch Dog Timer v l do cc bn cha nn tm
hiu phn ny vi.
_HS_OSC, chng ta dng thch anh 10MHz, tc l chy ch dao ng HS. Tham
kho ti:
datasheet PIC16F628A
Section 14. Special Features of the CPU
14.2. Oscillator Configuration
Page 95
Mt im lu cui cng l cc bn phi s dng phm TAB phn cch cc ct ca
mt chng trnh vit bng MPASM. Cc dng khi to ny c vit ct th 3. Cc
directive __CONFIG, TITLE, PROCESSOR, INCLUDE c vit vo ct th 3. Cn chi
tit khi to c vit vo ct th t.
Ct th nht dng vit cc [NHN], ct th hai vit m lnh, ct th ba li dng
vit chi tit cc tham s ca lnh, v ct th t b trng to khong cch vi ct th
nm. Ct th nm dng vit cc ch thch.
Cc ch thch bt u bng du chm phy (. Trn mt dng, tt c cc k t vit sau du
chm phy u v ngha. Chnh v vy, khi vit phn ch thch ban u, cc bn thy
rng tt c ni dung u bt u bng du chm phy. Nh vy, mt dng lnh c
c th nh sau:

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

Chng ta tm thi cha bn n pointer v stack.


Interrupt vector c t a ch 0x0004
Program memory c t a ch 0x0005
Vy t a ch 0x0000 n a ch 0x0003 chng ta lm c g?
Khi PIC c reset, n lp tc nhy v a ch 0x0000. Ri c sau mt chu k my, n
nhy n a ch tip theo, xem xem trong a ch yu cu n lm g, n thc hin vic
, xong ri li nhy tip. C lm nh th cho n khi ht chng trnh. Tt nhin, khi
chng ta thc hin mt s lnh iu khin v tr nhy, th n s nhy khng theo th t
na, nhng vic ny cha bn vi. Chng ta trc mt ch cn bit rng n c nhy nh
vy cho n ht chng trnh.
Nh vy, nu khng s dng ngt, th chng ta vit chng trnh t a ch 0x0000 lun,
v n c th l nhy t 0x0000 khi khi ng, cho n ht chng trnh. Tuy nhin, nu
lm nh vy, sau ny chng ta s dng chng trnh ngt, th chng ta s gp trc trc v
thi quen vit t a ch 0x0000.
Chnh v vy, chng ta nn t chng trnh trong phn Program Memory nh thit
k PIC.
Vy, chng trnh ca chng ta s vit nh sau:

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

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.
4) Trong trng hp mch ny, cc bn s lm th no?

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!

BI 2: Hm DELAY
Qua bi hc th nht, chng ta hc v cch bt tt mt n LED. By gi nu mun
lm cho n LED nhp nhy, c ngha l chng ta bt n LED, sau ch mt khong
thi gian, v tt n led i, sau li ch mt khong thi gian na v li bt n led
ln. Mun thc hin vic ny, chng ta phi tm cch lm mt hm delay (delay - ting
Anh c ngha l tr, chm li)
Hm DELAY l mt hm rt thng dng khi lp trnh thi gian thc. Nguyn l ca hm
delay l dng thi gian thc hin cc lnh ca vi iu khin lm thi gian tr. Nh cc
bn bit (nu cha bit th by gi bit.. hihi), mi lnh ca vi iu khin, khi thc
hin, cn phi tn mt khong thi gian no . Nu mt vic lm m khng tn thi
gian th ng l v l. Vy thi gian thc hin mt lnh ca PIC l bao lu?
Nh trong bi hc u tin chng ta cp, chng ta s dng thch anh t 4MHz n
10MHz v n 20MHz. Thch anh ny to ra cc dao ng xung nhp chnh xc duy
tr nhng khong thi gian xc nh cho vi iu khin hot ng.
Chng ta xem hnh sau hiu c nguyn l to dao ng bn trong vi iu khin:
Hnh 1:

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?
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,
n s nm trong vng nh dng chung m chng ta cp trong bi hc trc.
Vy lm th no t bin? C rt nhiu cch t bin, v trong phn ny, ti s hng
dn cc bn cch t bin m ti cho rng r rng nht.

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.
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:

Tm li, chun ho mt chng trnh, cc bn chp on code ny vo, v sau


khng bao gi cn phi vit li na:

Nh vy, mt chng trnh tng qut by gi s tr thnh nh th no?


Code:

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.

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:

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:

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, mi 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.
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:
Cc bn tham kho datasheet PIC16F84A, PIC16F628A v PIC16F88 bit thm chi
tit v cu trc b nh d liu, v c ci th c bng 2, c ci khng c, c ci li c bng
3, bng 4.... Nh ch phn tp lnh c hiu thm v cc lnh va hc (Instruction
Set)

Cc bn c th dng keyword: DELAY tm trong trang www.piclist.com nhng on


chng trnh con vit v hm DELAY, lm th no vit hm DELAY di hn?...
Lu cui cng, l cc bn ang chun b tr thnh mt ngi vit PIC chuyn
nghip, do , cc bn cn phi nh cc chn no ca PIC thit k mch v iu khin,
cc bn nn in hnh s chn ca PIC ra dn ln trc bn lm vic. Cc bn c th
download bn in ti y (c trong datasheet, nhng ti mun gi trc tip cho cc bn
cc bn mt cng).
Bi tp lm thm:
1) Cc bn thy rng, nu thi gian DELAY qu ngn, trn thc t cc bn s kh thy
n LED nhp nhy. V vy, thay v vit mt hm CALL DELAY, cc bn vit mt dc
20 dng CALL DELAY lin tip nhau, cc bn s thy s khc bit
2) Nhng nu vit 20 dng CALL DELAY th cng nh vit 20 dng lnh NOP, vy c
ngha l cc bn vn c th thc hin mt vng lp, trong lp li 20 ln, v trong vng
lp cc bn thc hin hm DELAY. Nh vy, cc bn phi vit mt hm
DELAY_NGOAI bn trong thc hin hm DELAY_TRONG. Chnh v vy, ti gi
cho cc bn tm trong trang web www.piclist.com tm cc source code hm DELAY,
v cc bn s bit phi lm sao vit hm DELAY ch lu hn. Quan trng nht l cc
bn phi ch ra c cng thc tnh ton thi gian ca hm DELAY m cc bn vit. (bi
tp tnh im)
3) By gi cc bn c th iu khin mt n LED, vy nu mun 8 n LED nhy theo
th t no chng hn, cc bn s lm th no? (bi tp tnh im)
Ghi ch: (bi tp tnh im) l nhng bi tp m chng ti s cng n vo tng PIC
cho cc bn no tham gia gii bi nh thng bo v vic bn PIC.

Bi 3: Ngt
Khi nim ngt l mt khi nim rt ph bin trong tt c cc h thng vi iu khin, vi
x l v my tnh. Vy ngt l g?
Cc bn hnh dung hnh nh chng ta ang i xe my trn b rung, con ng i rt di
v rt thng, bng nhin c mt con b chy ngang, hc chng ta xung rung. C xe v
ngi lao xung rung. Chng ta lm cm b dy, phi qun o, chi ng ln mt ci v
chng bit chi ai, th l chng ta em ng tri ra chi. Sau , chng ta dt xe my ln
b rung, ti ci ch m chng ta b hc t xung, ri chng ta ly xe chy tip. Nu l
c mt con b no khc, li hc chng ta.. th....
Hot ng ngt cng ging nh vy, khi chng ta ang chy mt chng trnh chnh no
, bng nhin c mt s kin xy ra, chng ta phi dng vic chng ta ang lm li, v

gii quyt ci s vic xy ra . Cui cng, chng ta li quay tr v ci ch m chng ta


tm dng li lc ny v tip tc cng vic ang lm.
Khi nim ngt ch n gin nh vy, tuy nhin, i vi vi iu khin ni chung, v PIC
ni ring, ngt c th do rt nhiu ngun xy ra, v vi mi ngun ngt khc nhau, chng
ta c th nh trc rng trong ngt chng ta s lm vic g. Cng nh khi i trn b
rung, chng ta c th b b hc, cng c th b tru hc, cng c th b vp cc , cng
c th b lt g... V nu nh b b hc th chng ta chi ng tri, b tru hc chng ta
mng ng trng, b vp cc chng ta t trch mnh xui xo, v n khi vp g... th
chng ta v nh thng...
Cc ngun ngt trong PIC:
S lng v loi ngun ngt trong PIC rt a dng, v rt khc nhau mi dng PIC. Do
vy khng th lit k ht ra y tt c cc dng PIC v tt c cc loi ngt trong tng
dng c. Chng ta ch a ra y s tng qut ca cc ngun ngt, v i su vo
mt s loi ngt ph bin.

Hnh 1: m t tt c 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
bn b b hc, nhng ngi di rung reo h...hihi... V tt nhin, khi bn khng
ph ro cn th ngi trn rung vn c. V khi con b lao vo bn, th ngi ta cng
pht c ln nh thng, nhng b ci ro cn nn bn c thoi mi m i con ng ca
bn, chng phi quan tm n vic t xung, chi bi hay tro ln lm g.
Ci ro cn chnh l IE v ci s vic cui cng m bn vn i hay lm cm b dy
chnh l ci cng AND m chng ta va ni trn kia.
3) im th ba, cc lp ngt:

Bn thy rng, trong hnh, r rng c 2 lp ngt. Lp th nht nm bn tay tri ngoi
cng, lp th hai nm gia hnh. Lp th ba ch c mt cng AND nn chng ta khng
k ti lm g.
Lp th nht c gi l lp ngt ngoi vi.
Thc cht lp ny v c qu nhiu ngun ngt, v cc ngun ngt ny u l mt s
chun giao tip, hoc chc nng c bit ca PIC, cho nn ngi ta phn ra lm lp ngt
ngoi vi. cc ngt ngoi vi hot ng, trc tin chng ta phi cho php ngt ngoi vi,
tc l bt bit PIE ln. Cn c th mun cho ngt ngoi vi no hot ng, th chng ta bt
ngt ln. Trn s cc bn cng thy r thng qua cc cng AND v OR.
Lp th hai tm gi l lp ngt ph thng.
Khi mun dng cc ngun ngt ph thng, chng ta ch vic bt cc bit IE ca ngun
ngt ny. Tt nhin, cui cng, chng ta phi bt ngt ton cc GIE th ngt mi c
php xy ra (k c ngt ngoi vi v ngt ph thng. Khi , PIE c coi l mt ngun
ngt ph thng.
iu ny cng ging nh khi bn chy xe trn b rung, mt hng ro di chy dc theo
con ng, chnh l ngt ton cc GIE. Lp bn ngoi th hai l lp ngt ph thng, bao
gm lun c ngt ngoi vi PIE. V ngoi cng l cc hng ro thuc lp ngt ngoi vi.
Nu cc bn bt cc ngun ngt, m khng bt ngt ton cc GIE th cho d ngt c xy
ra, th chng trnh vn khng dng thc hin ngt, ging nh con b c th lao qua
hng ro ngoi cng c m, nhng vn cn hng ro trong cng.
Nh vy, cc bn hiu mt cch tng quan v hot ng ngt ca PIC, nhng nguyn
tc phi bt hay tt ngt.
im lu cui cng, l ti mun gii thiu vi cc bn rng, ch k hiu trong bng,
l tn cc bit lin quan n vic bt tt ngt. VD: bit PIE, INTE.. nm trong thanh ghi
INTCON (ngt ph thng), cc bit quy nh ngt ngoi vi nm trong cc thanh ghi PIR v
PIE.
Vect ngt ca PIC:
Nh ln trc gii thiu, vect ngt ca PIC nm v tr 0x0004 cc bn xem li hnh
sau:
Khc vi khi bn b t rung, bn t xung ngay ti ch bn b hc, i vi vi iu khin,
khi xy ra interrupt, n s nhy v mt a ch c nh, v thc hin cng vic ti . Sau
khi thc hin xong, n s quay tr v v tr m t n thot ra. V tr c nh m n
s nhy v khi xy ra ngt l v tr 0x0004.
Chng trnh ngt:

Li quay v th d t rung, c l ti thch ci th d ny v n c th gip bn hnh dung


mi th. By gi cc bn hy chia giai on t khi b b hc, t xung rung, ri bn
chi ng ln, ri bn lm cm b ln. Vy cho d bn b b hc, hay b vp g, th ch
c giai on bn chi ng ln l khc nhau, cn li, giai on bn t xung rung l t
xung rung, v sau th bn cng b ln.
Vy ngt cng ging th, khi nhy vo ngt, bn s c mt giai on cn phi nhy vo
ngt, v mt giai on nhy ra khi ngt, cn bn trong ngt cc bn lm ci g l ni
dung cn thc hin ca tng ngun ngt.
Ti cung cp ra y on chng trnh ngt chun, t nay v sau, cc bn ch cn copy
on chng trnh ny v s dng:

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
;------------------------------------------MOVWFW_SAVE
;W_SAVE(bank unknown!) = W
SWAPF STATUS,W
CLRF STATUS ; force bank 0 for remainder of handler
MOVWF STAT_SV; STAT_SV = swap_nibbles( STATUS )
; STATUS = 0
MOVFPCLATH,W
MOVWFPCH_SV ; PCH_SV = PCLATH
CLRF PCLATH ; PCLATH = 0
MOVF FSR,W
MOVWFFSR_SV; FSR_SV = FSR
; 10 cycles from interrupt to here!
;----------------------------------;Doan chuong trinh ngat
;----------------------------------; cac ban se viet chuong trinh ngat o day
;-------------------------------------------------;Doan ma bat buoc de ket thuc ngat
;-------------------------------------------------MOVFFSR_SV,W
MOVWF FSR; FSR = FSR_SV
MOVF PCH_SV,W
MOVWFPCLATH; PCLATH = PCH_SV
SWAPFSTAT_SV,W
MOVWF STATUS ; STATUS = swap_nibbles( STAT_SV )
SWAPF W_SAVE,F
SWAPF W_SAVE,W; W = swap(swap( W_SAVE )) (no change Z bit)
BSFINTCON,GIE
RETFIE
;=================================================
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.
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.

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.

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.

Phn 4: in t c bn

y l phn rt c bn v in t, m cc bn khi bt u lm vic vi vi iu khin cn


phi nm r. Nh ni, PIC to ra dng in khong 20mA v in p khong 5V,
tng t nh vy, nu dng ng vo qu cao so vi 20mA v in p ng vo qu cao so
vi 5V, th PIC s b h.
V vy, bi hc ny trang b cho cc bn mt s khi nim c bn v in t, cc bn
c th nm vng nguyn l thit k mch v tnh ton cc gi tr in tr cn thit. ng
l bi hc ny cn c thc hin ngay t u, tuy nhin, ti cho rng bi tp n LED
qu n gin, cc bn cha bit g cng c th hiu c, nhng nay, nu nh cc bn
mi hc v in t v vi iu khin khng c trang b kin thc c bn ny, c th lm
cho cc bn lng tng v mt s im khng c lm r trong mch in t.
Hin tng tri in p

You might also like