Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
1/47
BOOKn
o
03.02
Giđn:
ĐoànHip,DMĐ,ĐTA,MTĐ,www.picvietnam.com
Nidung:
TplnhPICMidrange
MICROSOFTWORD
Tómtt:
HngdnvtplnhcadòngPICMidrange
1. CácquyccangônngMPASM
[nhãn] LNH thams1, thams2
Mtdòngnhthnàyđcgilàmtdònglnh.ChngtrìnhMPASMđcchialàm4
ctrõràng.Ctthnhtđvitnhãn,ctthhaiđvittênlnhmunthchinmàchúngta
strìnhbàydikia,ctth3làthamsthnhtcalnh,ctthtlàthamsthhaica
lnh.Giathamsthnhtvàthamsth2luôncáchnhaumtduphy(,).Cácctđc
cáchnhaubngítnhtmtkýtTAB(khongtrngrng).Đdàicakhongtrngnàycó
thđcquyđnhsaochodnhìnvingilptrình.Giactth3vàctthtkhôngcn
cókhongTAB.Nhngđddàngchovicđclichngtrình,chúngtavnnêndùng
khongTABgiahaictnày.
NuđmcđnhnhkhicàiđtMPLAB,chúngtôiđnghsdnghìnhthcnhsau:
tab - tab
tab - tab
tab - tab
[nhan] LENH thamso_1, thamso_2
:++++++++;
:++++++++;
:++++++++;
Chúngtaphivitsaochochngtrìnhđcvitphiphânbitrõthànhtngct,va
đpmtkhitrìnhbày,vàdđclichngtrình.
1.1. [nhãn]
[nhãn]làmtchuikýtđđánhdumtđimnàođótrongchngtrình,thayvìphi
ghinhvtríđótrongbnh,chúngtathayvtríđóbngmtcái[nhãn].[nhãn]nàythng
đcgilibnglnhGOTOhocCALL.
Micâulnh,cóthcóhockhôngcó[nhãn].Tuynhiên,nênvitsaochos[nhãn]làít
nhtđtránhslmlnvàrimtkhilptrình.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
2/47
[nhãn]đcvittrongctthnhtcadònglnh.[nhãn]khôngđcbtđubngcácký
tđcbitnh:*,&,khongtrng,cáccons(0,1,2…)…Giacáckýtcanhãncễngkhông
đccócáckýtđcbit*,^,khongtrng,…
Đdàicamt[nhãn]khônggiihn,tuynhiên,chúngtaphivitsaocho[nhãn]luôn
nmtrongctthnhtcadònglnh,đdàinhãnvaphiđdquansát,đthôngtingi
nhvàthuntinkhilptrình.
Chúngtahoàntoàncóthkýhiucác[nhãn]làNHAN_1,NHAN_2…nhngnidung
thôngtincanhãnkhôngđđthhincôngvicsđcthchin,nhvysrtkhónh
khilptrình,nhtlàkhichngtrìnhcacácbndàivàcóđnhàngchchàngtrămnhãn
trongchngtrình.
Víd:
nhãnđúngvànhãnsai
HELLOnhãnđúng
hellonhãnđúng
good_byenhãnđúng
goodbye_1 nhãnđúng
2_hello nhãnsai(btđubngmtcons)
good^byenhãnsai(cókýtđcbittrongnhãn)
bonjournhãnsai(cókhongtrngtrongnhãn)
welcomenhãnsai(btđunhãnbngkýttrng)
1.2. LNHvàcácthams:
LNHlàtêncacáclnhginhđclitkêtheobngchcáiABCbêndi.LNH
đcvitvàoctthhai,midònglnhphicótênLNH,nukhôngcóthìskhôngbit
dònglnhđólàmvicgì.LNHthhincôngvicphilàmcadònglnh.
TùytheoLNHmàcóthcóthams1vàthams2,hocchcóthams1,hockhôngcó
thamsnàoht.Trongmtdònglnh,phivitđthamscaLNHđó.
Tplnhđccungcpphíacuichng.Ýđnhcachúngtôilàtrìnhbàysongsongtp
lnhvàphnchúgiinàyđcácbndđichiu,sosánh,tuynhiên,tgiycunsáchkhông
thgplàmđôi,chínhvìthchúngtôiđnghcácbnphotohocinthêmmtbngtplnh
dánlêntrcbànlàmvicđvađcphnnàyvasosánh,vàkhilptrìnhcóthddàng
tracu.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
3/47
Víd:
thamscamtLNH
Lnhcó2thams:
[nhãn] ADDWF F, d
[nhãn] BTFSSF, b
Lnhcó1thams:
[nhãn] CLRF F
[nhãn] ADDLW k
Lnhkhôngcóthams:
[nhãn] NOP
[nhãn] RETURN
[nhãn] SLEEP
1.3. Quyckíhiu:
W=Workingregister:thanhghiW.
F =Fileregister:thanhghiF
d =destination(đích):nud=0,ktquctvàoW.Nud=1,ktquctvàoF.
k =Literalvalue:làs8bithocmtđachtrongbnhchngtrình11bit.
b =bitaddress:đachcabittrong1byte(thanhghi)nàođó.
1.3.1. ThanhghiW:
Chúngtathyrng,bnchtcacácdònglnhđcthchintrênmáytínhlàcácphép
toánđcthaotáctrêncácthanhghi.Dovy,btkmtcâulnhnàocễngsthchinmt
phéptoánnàođó,vàktqucaphéptoánđóphiđcsdngchocáclnhtiptheo,nu
khôngdònglnhđótrnênmtdònglnhvônghĩa.
NgoitrlnhNOPlàlnhkhôngthchinthaotácgìvàtnđimtchukmáy,nhng
nócótácdngđcânbngthigianthchincácđonchngtrìnhtngđng.Chúngta
snóivviccânbngthigianthchinchngtrìnhbnglnhNOPtrongcácphnvgii
thutlptrìnhphíasau.
Vnđchúngtôiđcpđây,đólàvictínhtoánsđcxyranhthnàobêntrongvi
điukhin.NucácbnlàngiđãhclptrìnhPascal,C,hoccácngônngcpcaokhác,
cácbnsthyrngkhithchinphéptoáncnghaibinbvàc,sauđógánvàobina,các
bncóthlàmmtcáchtrctipnhsau:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
4/47
a:=b+c;
Tuynhiên,vicnàyđiviPICkhôngththchinđc,màchúngtaphithchintheo
tngbcnhsau,chuynbvàothanhghiW,sauđólyWcngvic,rigánlivàothanh
ghiW,sauđómichuynktquvàoa.Côngvicđcthchinbngmtchuilnhsau:
CONG MOVF b, W ;W:=b
ADDWF c, W ;W:=W+c
MOVWF a ;a:=W
Nhvy,đây,PICchchophéptrongmtthiđimtngtácvi1thanhghi(haymt
bin).Nucncóstngtácgiahaihaynhiuthanhghi,phithôngquathanhghiWnh
làmtthanhghiđm.Chínhvìvy,ccómtlnhtngtácvithanhghi,thìdngnhs
cómtlnhtngngtngtácvithanhghiW.
Víd:
tplnhtngtácthanhghiW
ADDLW:W=W+k ADDWF:d=W+F
ANDLW:W=Wandk ANDWF:d=WandF
CLRW:xóathanhghiW CLRF:xóathanhghiF
IORLW:W=Work IORWF:d=WorF
MOVLW:W=k MOVF:d=F
MOVWF:F=W
SUBLW:W=k–W SUBWF:d=F–W
XORLW:W=Wxork XORWF:d=WxorF
1.3.2. Đíchd:
Ngoàira,cácbncóththyrngdchcóthlà0,hoc1.Khid=0,cónghĩalàktquli
đcluvàothanhghiW.Nhvy,thanhghiWvacóthcoilàmtthanhghitm,liva
cóthcoilàmtthanhghihotđngliêntctrongquátrìnhchychngtrìnhcabn.Bn
cễngluônluônnhrngtimithiđimthchinmtdònglnh,chđcphépthaotác
vimtthanhghiduynht,và(hoc)thanhghiW.Khôngcómtlnhnàochophéptng
tácvihaithanhghikhácnhaumàmttronghaithanhghiđókhôngphithanhghiW.Điu
thhaicnghinh,đólàccómtlnhtngtácvithanhghiW,thìscómtlnhtng
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
5/47
ngtngtácvithanhghi(bin)F.Điungclikhôngđúng.Nhngnucómtlnhnào
tngtácvithanhghiF,thìktquđucóthđcghivàothanhghiWhocthanhghiF.
Hãychúýtictbênphicabngtrênd(đích)cóthlàthanhghiWhocthanhghiF.
Luý:Chúngtahòantoàncóththaythdtngngvi0làWvà1làFđdnh.Chng
trìnhdchMPASMchophépghinhvy.
Víd:haicâulnhnàylàtngđng
TANG_1 INCF BIEN_1, 1
TANG_1 INCF BIEN_1, F
ChaicâulnhnàyđutăngBIEN_1lên1đnvvàctgiátrtănglênđóvàoliBIEN_1.
NuvitbngPascal,câulnhtrênsnhsau:
BIEN_1:=BIEN_1+1;
1.3.3. Đachbitb:
Điuchúngtasquantâmđâylàthamsbtrên.Thamsbchxuthintrong4lnh
tngtácbit:BCF,BSF,BTFSS,BTFSC.Thamsnàychcógiátr0,1,2,3,4,5,6,7.Ngoàira
khôngthmangbtkmtgiátrnàokhác.Vìsaonhvy?Vìchúngtađanglàmvicvivi
điukhinPIC8bit,cónghĩalàdliuđctínhtoántrongviđiukhinchcó8bitvàđc
đánhsnhsau:
ThanhghiF:
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
Chínhvìvy,chsblàvtríbit,chonênchcóthmanggiátrt0đn7.Cácbnxemví
dsau:
Víd:
QuansátthanhghiđcđttênlàAcógiátr10110110
[nhãn] BCF A, 5 ;xóabit5cathanhghiA
Saukhithchinlnhnày,thanhghiAscógiátr:10010110
[nhãn] BSF A, 6 ;btbit6cathanhghiA
Saukhithchinlnhnày,thanhghiAscógiátr:11010110
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
6/47
1.3.4. Chúthích:
À,vàmtđiunaxuthin,đólàcácbnthysaukhichúngtôivitdònglnhvídtrên
đây,phíabênphi,chúngtôiđánhdu«;»vàvitmtsghichúchocâulnh.Đâylàmt
chunđúngchkhôngphichúngtôivitchúthíchchocunsáchmàvitthêmvào.
MPASMcễngnhcácngônnglptrìnhkhác,chophépngilptrìnhvitchúthích
chomidònglnhhocmtđoncácdònglnhđsaunàydkimtra,sacha,hocgiúp
chongikháccóthđcđcddànghncácnidungmìnhvit.
Ttccácchúthíchđuphinmtrênmtdòngvànmsauduchmphytrêndòngđó.
Nuchúthíchnàodàihnmtdòngthìphicóduchmphyđucácdòngbêndi
Víd:
;
;Chúngtathchinmtvídtínhtoán
;theocôngthca:=b+c
;bngngônngMPASM
;
CONG MOVF b, W ;chuyngiátrtthanhghibvàoW
ADDWF c, W ;cnggiátrWvàc,ghilivàoW
MOVWF a ;ghigiátrtngvàoa
;tisaochúngtaphilàmthnày?
;tivìkhôngthlàmkhác!
;
;Ktthúctínhtoán
;
Ttccácchúthích,cáckýtbtkđcvitphíasaudu“;”trêncùngmtdòngđuvô
nghĩađivichngtrìnhdch,vàchngtrìnhdchskhôngdchttcnhnggìnmphía
sauduchmphytrongdòngđó.
Vnđnysinhvivicvitchúthíchđólàphivitlàmsaovađđcóthddàng
kimtralisaunày,vàkhôngvitquánhiusphimtnhiuthigianvitchúthíchhnlà
vitlnhthcthi.Chnghnvídvvicvitchúthíchnhtrênkialàquátha,vàchúngta
khôngcnphivitquánhiunhth.
Hãythvitthnàythìsao?
CONG MOVF b, W
ADDWF c, W
MOVWF a ;a:=b+c
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
7/47
Chđnginnhvythôi,bnsđmtcôngvitchúthích,vàscungcpđnidung
chobnkhibnđclichngtrình.VitchúthíchtheonhtrongcunsáchThcVisual
C++trong21ngàycễngchínhlàmtnghthut.Vìvy,cácbncễngnêntpvitchúthích
chohiuquđiviMPASM.Trongquátrìnhthchincácbàitp,chúngtôiscgng
truynchobncácýtngkhivitchúthích,vàchúngtôimongcácbntipnhnnó,vàs
dngnóđchúngtascócùngmththngvitchúthích,tđóvsauchúngtasdđc
vàhiunhauhn.
Cuicùng,chúngtôiđaramtvàiconsthngkêmàcóthnósgiúpíchchocácbn
dhìnhdungtrongquátrìnhhctplnhcaPIC.TngcngdòngPICMidRangecó35
lnh.Milnhthngchim1chukmáy,trcáclnhvđiukhincontrchngtrình.
Có16lnhtngtácbyte(baogmthanhghiFbtkvàthanhghiW),chcó4lnhtng
tácbitvà15lnhđiukhin.
2. Đdàimãlnhvàchukmáy
Nhnthymtthctrng,cácbnsinhviênmilàmquenviviđiukhinthnglm
lnvhaikháinimschukmáythchinlnhvàđdàimãlnh.Dođó,trongphnnày,
chúngtôichcgnggiithíchsquađcácbncóthphânbithaivnđtrênthtrõràng.
2.1. Chukmáy
Xuyênsuttptàiliunày,chúngtôichmunhngdncácbnmtcáchtoradao
đngchoPICbngthchanhbivìnhngcáchtodaođngkhácđucósntrongdatasheet.
(chavitxong)
2.2. Đdàimãlnh
ĐdàimãlnhcadòngPICmidrangelà14bitvàđcđánhsnhsau:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
Hình1:MãlnhcadòngPICmidrange
Cễngnhchúngtađãnóitrên,tplnhPICmidrangecóthđcchiathành3loich
yu,lnhtngtácbyte,lnhtngtácbitvàcáclnhđiukhin.Skhácnhaucacáclnh
nàylàgì?
Cácbnchúýrng,vilnhtngtácbyte,thìchúngtaluôncó2thôngslàFvàd,trong
đóFlàđachthanhghi,haynóingngnlàthanhghi,vàdlàbitđchnxemktquđc
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
8/47
lungclivàoFhayluraW.Trongkhiđó,lnhtngtácbitcncó3bitđmãhoávtrí
cabittrongmtthanhghinàođó(t0đn7,nghĩalàt000đn111).
Vicáclnhđiukhinvàtínhtoán,thìchúngtacócácgiátr8bitk(t0đn255),vàhai
lnhđcbitCALLvàGOTOthìgiátrklà11bit(t0đn2047).
ChúngtasxemxétcáchtchcmãlnhcadòngPICmidrangecácmcdiđây.
2.2.1. Cáclnhtngtácbyte
13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 OPCODE dĐachcaFtrongbnh
Hình2:Mãlnhcacáclnhtngtácbyte
Cácbnchúýmtđiurng,đachcamtthanhghi,chcó7bitthôi,vànmtbit0
đnbit6.Mithanhghimcdùcó8bit,nhngđachcanóchcó7bit.
PhnOPCODEđâylàgì?Chínhlàphnmãhoáccáclnhmàchúngtavitnh
ADDWF,ANDWF,….Khivitnhthnày,làchúngtavitbngcácmãginh,trongkhi
đó,viđiukhinhiucáclnhnàydidngbit.Vìvy,nóphiđcmãhoáđviđiu
khinhiu.
Mtđimluýlàđivicáclnhtngtácbyte,phnmãhoácanódài6bit,nmtbit
8đnbit13.Trongđó,bit12–bit13=00(nhhình2.2)
Ktqu,chúngtathyrng,phnOPCODEcó6bit,nhnghaibitđutiênđãlà00,chính
vìvy,chcònli4bitđphânbitcáclnhvinhauvàchúngtachcótiđa16lnhtng
tácbyte.
2.2.2. Cáclnhtngtácbit
13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 OPCODE b b bĐachcaFtrongbnh
Hình3:Mãlnhcacáclnhtngtácbit
Tngtnhtrên,bitquyđnhđachcathanhghiFtrongcáclnhtngtácbitlà7bit,
nmtbit0đnbit6.Cácbitnmtbit7đnbit9dùngđquyđnhvtrícabitt0đn7
trongthanhghi(nghĩalàt000đn111).
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
9/47
PhnOPCODEcacáclnhtngtácbitcómãhoábtđubng01ngvibit12và13.
Chínhvìvy,phncònliđphânbitcáclnhkhimãhoáchcònli2bit,nênchcóthmã
hoáđc4lnh.Dođó,chúngtathyrngchcó4lnhtngtácbitlàBCF,BSF,BTFSCvà
BTFSS.
2.2.3. Cáclnhđiukhin
13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 OPCODE k(8bit)
Hình3:Mãlnhcacáclnhđiukhin
Chúngtathyrng,mãlnhcacáclnhđiukhincễngchcó6bit,8bitcònliđc
dànhchophngiátrknhpvào.Khácvicáclnhtngtácbytecó7bitdùngđchđach
mtthanhghivà1bitddùngđchnvtríđíchcaphéptính.
Haibit12và13canhómlnhnàyđcmcđnhlà11.PhnOPCODE6bitchcònli4
bitđphânbitcáclnhtrongnhómnày.Tuynhiên,trongnhómlnhnày,ngitakhông
dùnght16lnhmàchdùng6lnhlà:ADDLW,ANDLW,IORLW,MOVLW,SUBLWvà
XORLW
2.2.4. LnhGOTOvàCALL
13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 CALLk(11bit)
1 0 1 GOTOk(11bit)
Hình4:MãlnhcalnhCALLvàGOTO
Hailnhnàylàhailnhđcbit,phnOPCODEchcó3bit,cònli11bitlàđachcav
trícnnhyti(k).
2.2.5. Cáclnhđiukhinđcbit
Cáclnhđiukhinđcbit,làcáclnhkhôngtngtácvicácthanhghicóđachtrong
bnhdliu,baogmcáclnh:CLRWDT,NOP,RETURN,RETFIE,SLEEP
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
10/47
Cáclnhnàyvìkhôngchacácthanhghitrongmãlnh,nênphnđuOPCODEcanós
là000000(6bittbit13đnbit8đulà0).Nhhìnhsau:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0
0 Phnmãhoáđphânbitcáclnh
Hình5:Mãlnhcacáclnhđiukhinđcbit
Vymtđiulàmchúngtathcmclà,làmsaocáclnhnàyphânbitđcvilnh
MOVWF,vìlnhMOVWFcễngcóphnOPCODElà000000nhsau:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0
1 ĐachcaFtrongbnh
Hình6:MãlnhcalnhMOVWF
CácbnluýrnglnhMOVWFthìđíchtiđghiktquslàF,dođóvtríbitd(bit
7)slà1.Trongkhiđó,cáclnhđiukhinđcbit,mãlnhcanótivtríbit7slà0.
Nhvy,cáclnhđcmãhoámtcáchhoàntoàn.Trongphntiptheocachngnày,
chúngtôisđcpđntnglnhvàcáchsdngcáclnhnày.Tuynhiên,chúngtôikhông
nhclicthmãlnhcatnglnh,bivìthitnghĩrngnókhôngcnthitnavìmc
đíchcachúngtôilàvitcunsáchhngdncbn,chkhôngđisâuvàovnđnghiên
cumãcodeđpháttrinsâuvPIC.
2.3. Schukcamtlnh:
(chavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
11/47
3. Giithíchtplnh
Phnnàychúngtôicgnggiithíchtnglnhmtcáchthtklng,đcácbncóth
hiurõvàsdngchínhxáctnglnh.
Ngoàira,vìlýdohngdnvàgiúpcácbnlàmquenvitplnhcaPICmtcách
nhanhchóng,chúngtôiquytđnhđovtrícamtslnhtrongtplnh,nhmgiúpcho
cácbnddàngghinhhn.
Trongphntplnhnày,phnghichúchomilnhlàrtquantrng.Nólàphnchúng
tôimuntrìnhbàyv
(chavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
12/47
[nhãn] ADDLW k ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú:
Đvitmtshthpphân(hcs10)cácbnvitd’XXX’,đvitmtstheohnh
phân(cs2)cácbnvitb’XXXXXXXX’,vàvitmtshthplcphân(cs16)các
bnvith’XX’hoc0xXX.
Víd:d’50’,d’103’,b’01101101’,b’11011011’,h’C3’,0xA8,0x44…
DòngPICmàchúngtatìmhiulàcácMCU8bit.Dovy,khôngthnàomtthanhghi
dliucóthchamtsmàgiátrcanólnhngiátrcóththhinbng8bit.
Nhc li rng, mt s 8 bit ch có th th hin mt s nh phân t b’00000000’đn
b’11111111’,haymtsthpphântd’0’đnd’255’vàsthplcphânt0x00đn
0xFF.Mtkhiphéptoáncnglàmtràn8bit,nóchcóthgiliktqulà8bit,còngiá
trtrànsbbqua.Tuynhiên,cácbittrngtháiC,Z,DCsbáochochúngtabitrng
thanhghibtràn.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
13/47
[nhãn] ADDWF F, d ;NidungcathanhghiW
;đccngvinidungcathanhghiF,
;ktquđcctlivàod.
Thchinlnh:d=W+F
Cácbittrngtháibnhhng:C,DC,Z
Nud=W(0)thìktqusđcctvàoW,nud=F(1)thìktqusđccttrlivàoF.
Nukhôngvitdphíasau,xemnhmcđnhd=F.
Víd:
Banđu: W =200 BIEN =50 C =? DC =? Z =?
CONG_3ADDWF BIEN, W ;W=200+50
Ktqu: W =250 BIEN =50 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_4ADDWF BIEN, F ;BIEN=250+50
Ktqu: W =200 BIEN=44 C = DC = Z =
Ghichú:Làmthnàođđttênchomtthanhghi?Chúngtacónhiucáchđttêncho
mtthanhghi.
Cáchthnhtdùng
ORG
0x20
BIEN RES 1 ;BIENcóđdàilà1bytebtđutđach
BIEN_2 RES 2 ;0x20.Haynóicáchkhác,BIENchínhlà
;thanhghicóđach0x20.Cáchnàydùngđ
;đttênchohànglotbinliêntipnhau.
;BIEN_2scóđdài
2bytebtđut0x21
Cáchthhaidùngcblock.Cáchthbadùng#DEFINEđđttênchohngshocđt
tênchobincóđachđcđnhsn.Haicáchsauchúngtasnhctitrongphn
DIRECTIVE
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
14/47
[nhãn] ANDLW k ;“And”nidungcathanhghiW
;vis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=Wandk
Cácbittrngtháibnhhng:Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =0xA3Z =?
AND_1 ANDLW 0x5F ;W=0xA3and0x5F
Ktqu: W =0x03 Z =0
Ghichú:
Zthayđikhivàchkhiktquđctrvcógiátrb’00000000’.Cácbnghinhnó
mtcáchrtđnginZ=ZERO.Khiktqucamtphéptínhtoánnàođóbng
ZEROthìbitZ=1,vànukhôngphilàZEROthìbitZ=0.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
15/47
[nhãn] ANDWF F, d ;NidungcathanhghiW
;đcandvinidungcathanhghiF,
;ktquđcctlivàod.
Thchinlnh:d=WandF
Cácbittrngtháibnhhng:Z
Nud=W(0)thìktqusđcctvàoW,nud=F(1)thìktqusđccttrlivàoF.
Nukhôngvitdphíasau,xemnhmcđnhd=F.
Víd:
Banđu: W =0x17 REG =0xC2 Z =?
AND_2 ANDWF REG, F ;REG=0x17and0xC2
Ktqu: W =0x17 REG =0x02 Z =0
Ghichú:
Zthayđikhivàchkhiktquđctrvcógiátrb’00000000’.Cácbnghinhnó
mtcáchrtđnginZ=ZERO.Khiktqucamtphéptínhtoánnàođóbng
ZEROthìbitZ=1,vànukhôngphilàZEROthìbitZ=0.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
16/47
[nhãn] BCF F, b ;XoábitthbcathanhghiF
;
;
Thchinlnh:F(b)=0
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
Víd:
Banđu: REG =b’11000111’
BIT_1 BCF REG, 7 ;REG(7)=0
Ktqu: REG =b’01000111’
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
17/47
[nhãn] BSF F, b ;ĐtbitthbcathanhghiF
;lên1
;
Thchinlnh:F(b)=1
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
Víd:
Banđu: REG =b’01000111’
BIT_2 BSF REG, 7 ;REG(7)=1
Ktqu: REG =b’11000111’
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
18/47
[nhãn] BTFSC F, b ;NubitthbcathanhghiF
;cógiátr0,thìnhycáchramt
;dònglnh
Thchinlnh:ifF(b)=0,bqualnhtiptheo
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
Víd:
Banđu: REG =b’01000111’
BIT_3 BTFSC REG, 7 ;REG(7)=0
FALSE_3 GOTO LAMVIEC_1 ;bqualnhnày,thchinNOP
TRUE_3 GOTO LAMVIEC_2 ;thchinlnhnàygotoLAMVIEC_2
Ktqu: ThchinlnhnhãnTRUE_3,chkhôngthchinlnhnhãn
FALSE_3
Cácbnxemtipthídnày
Banđu: REG =b’11000111’
BIT_4 BTFSC REG, 7 ;REG(7)=1
FALSE_4 BCF REG, 0 ;thchinlnhnàyREG(0)=0
TRUE_4 GOTO LAMVIEC_2 ;thchinlnhnàygotoLAMVIEC_2
Ktqu: REG =b’11000110’,sauđólnhnhãnTRUE_4vnđcthchintip
theo.
Ghichú:
Nunhlnhkimtralàsai,cónghĩabitbcathanhghiFlà1,lnhtiptheosđc
thchinnhtrongvídBIT_4.Khiđó,lnhBTFSCchtn1chukmáy
Tuynhiên,nuktqukimtralàđúng,cónghĩalàbitbcathanhghiFlà0,thayvì
thchinlnhtiptheonhvídBIT_4,nósthchinmtlnhNOP(khônglàmgì
c),sauđónónhyxungTRUE_3gingnhthídBIT_3.
ChínhvìthchinmtlnhNOP,chonêntrongtrnghpkimtrađúng,chúngta
cóthcoinhlnhBTFSCtn2chukmáy,vàtrongtrnghpkimtrakhông
đúng,nóvnchtn1chukmáy.
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
19/47
[nhãn] BTFSS F, b ;NubitthbcathanhghiF
;cógiátr1,thìnhycáchramt
;dònglnh
Thchinlnh:ifF(b)=1,bqualnhtiptheo
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
Víd:
Banđu: REG =b’11000111’
BIT_5 BTFSS REG, 7 ;REG(7)=1
FALSE_5 GOTO LAMVIEC_3 ;bqualnhnày,thchinNOP
TRUE_5 GOTO LAMVIEC_4 ;thchinlnhnàygotoLAMVIEC_4
Ktqu: ThchinlnhnhãnTRUE_5,chkhôngthchinlnhnhãn
FALSE_5
Cácbnxemtipthídnày
Banđu: REG =b’01000111’
BIT_6 BTFSS REG, 7 ;REG(7)=1
FALSE_6 GOTO LAMVIEC_3 ;thchinlnhnàygotoLAMVIEC_3
TRUE_6 GOTO LAMVIEC_4 ;contrđãnhysangLAMVIEC_3
Ktqu: NhyđnLAMVIEC_3
Ghichú:
VídBIT_6làmtvídđinhìnhtronglnhrnhánhđiukin.Nukimtramt
điukhinnàođóđúnghaysai,bnskimtramtbitđbitđúnghaysai.Thông
thng,vicrnhánhnàythngđcthchinvicácbittrngtháinhZ,DC,C…
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
20/47
[nhãn] CALL k ;Gimtchngtrìnhcon
Thchinlnh:(PC)+1>TOS
k>PC(10:0)
(PCLATH(4:3))>PC(12:11)
Cácbittrngtháibnhhng:Khôngbitnàobnhhng
kchcóthlàscógiátrtngđngmtsthpphânt0đn2047
(chavitxong)
Víd:
Ghichú:
(phncáclnhchavitxong)
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
21/47
[nhãn] CLRF F ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
22/47
[nhãn] CLRW;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
23/47
[nhãn] CLRWDT;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
24/47
[nhãn] COMF F, d ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú:
Ngibáocáo:
ĐoànHip
Tàiliu:
BOOK03.02
Ngày:
10/31/2005
Trang:
25/47
[nhãn] DECF F, d ;NidungcathanhghiW
;đccngvis8bitk,
;ktquđcctlivàoW.
Thchinlnh:W=W+k
Cácbittrngtháibnhhng:C,DC,Z
kchcóthlàscógiátrtngđngmtsthpphânt0đn255
Víd:
Banđu: W =200 C =? DC =? Z =?
CONG_1 ADDLW d’50’ ;W=200+50
Ktqu: W =250 C = DC = Z =
Nubâygichúngtatiptcthchinphépcngnhsau
CONG_2 ADDLW d’20’ ;W=250+20
Ktqu: W =14 C = DC = Z =
Ghichú: