Ngườibáocáo:NguynChíLinhTàiliu:TUT01.01.PVN
Ngày:9/8/2006Trang:1/32
TUT01.01.PVN
Giđến:www.picvietnam.com
Nidung:LptrìnhchoPICbngCCS ver3.242
MICROSOFTWORD
Tómtt:
TàiliuhướngdnsửdngtrìnhbiêndchCCScholptrìnhPIC.TìmhiutôngquanvềCCS
cáchtomtProjecttrongCCS.
ChươngtrìnhmuchoPIC16F877
Cácdụlptrìnhđơngin:quétLED,ADC,RS232…
1. TngquanvềCCS
1.1. saotasửdungCCS?
Sựrađờicamtloiviđiukhinđikèmvivicpháttrinphnmmứngdngcho
viclptrìnhchoconviđiukhinđó.Viđiukhinchỉhiulàmvicvihaiconsố0
1.BanđuđviclptrìnhchoVĐKlàmvicvidãycácconsố01.Saunàykhi
kiếntrúccaViđiukhinngàycàngphctp,sốlungthanhghilnhnhiulên,viclp
trìnhvidãycácsố01khôngcònphùhpna,đòihirađimtngônngữmithay
thế.ngônngữlptrìnhAssembly.ỞđâytakhôngnóinhiuđếnAssmebly.Saunàykhi
ngônngữCrađi,nhucudùngngônngữCđthaychoASMtrongvictảcáclnh
lptrìnhchoViđiukhinmtcáchngngndễhiuhơnđãdnđếnsựrađica
nhiuchươngtrìnhsonthobiêndchCchoViđiukhin:KeilC,HTPIC,MikroC,
CCS…
TôichnCCSchobàigiithiunàyCCSmtcôngcụlptrìnhCmnhchoVi
điukhinPIC.NhngưunhượcđimcaCCSsẽđượcđcpđếntrongcácphn
dướiđây.
1.2. GiithiuvềCCS?
CCStrìnhbiêndchlptrìnhngônngữCchoViđiukhinPICcahãngMicrochip.
Chươngtrìnhsựtíchhpca3trìnhbiêndichriêngbiếtcho3dòngPICkhácnhauđó
là:
PCBchodòngPIC12bitopcodes
PCMchodòngPIC14bitopcodes
PCHchodòngPIC1618bit
Ttcả3trìnhbiêndichnàyđuctíchhplivàotrongmtchươngtrìnhbaogmcả
trìnhsonthobiêndchCCS,phiênbnminhtPCWHCompilerVer3.227
Ngườibáocáo:NguynChíLinhTàiliu:TUT01.01.PVN
Ngày:9/8/2006Trang:2/32
GingnhưnhiutrìnhbiêndichCkhácchoPIC,CCSgiúpchongườisửdngnmbt
nhanhđưcviđiukhinPICsử dngPICtrongcácdựán.Cácchươngtrìnhdiu
khinsẽđượcthchinnhanhchóngđthiuqucaothôngquavicsửdngngôn
ngữlptrìnhcpcaoNgônngữC
Tàiliuhướngdnsửdngrtnhiu,nhưngchitiếtnhtchínhbnHelpđikèm
theophnmm(tàiliuTiếngAnh).Trongbntrợgiúpnhàsnxutđãtảrtnhiuvề
hng,biến,chỉthịtinxalý,cutrúccáccâulnhtrongchươngtrình,cáchàmtosncho
ngườisửdng…NgoàiravềTiếngVitcũngbndchcatácgiảTrnXuânTrường,
SVK2001DHBKHCM.TàiliunàydchtrêncơsởbnHelpcaCCS,tuyrngchưađầy
đủnhưngđâymttàiliuhay,nếubntìmhiuvềPICCCSthìnêntìmtàiliunày
vềđọc.ĐịachỉDownloadtàiliu:www.picvietnam.com‐>McnóivềCCS.
2. ToPROJECTđầutiêntrongCCS
ĐểtomtProjecttrongCCSnhiucách,thểdùngProjectWizard,ManualCreat,
hayđơngintomtFilesmithêmvàođócáckhaibáobanđucnthiết“bt
buc”.
Dướiđâysẽtrìnhbàycáchtomtprojecthplệtheocả3phươngpháp.Mtđiuta
cnchúýkhitomtProjectđólà:khitobtcứmtProjectnàomithìtanêntomt
thưmcmivitênliênquanđếnProjecttađnhlàm,rilưucácfilesvàođó.Khilp
trìnhbiêndch,CCSsẽtorartnhiufileskhácnhau,dođónếuđchungcácProject
trognmtthưmcsẽrtmtthigiantrongvictìmkiếmsaunày.Đâycũngquytc
chungkhitalàmvicvibtkỳphnmmnào,thiếtkếmchhaylptrình.
VicđầutiênbncnlàmkhiđộngmáytínhbtchươngtrìnhPICCCompiler.
2.1. TomtPROJECTsửdngPICWizard
TrướchếtbnkhiđngchươngtrìnhlàmvicPICCCompiler.Từgiaodinchương
trìnhbndichutchnProject‐>New‐>PICWizardnhnnúttráichutchn.
Ngườibáocáo:NguynChíLinhTàiliu:TUT01.01.PVN
Ngày:9/8/2006Trang:3/32
Saukhinhnchut,mtcasổhinraucubannhptênFilescnto.Bntomt
thưmcmi,vàothưmcđólưutênfilescntotiđây.
Hình2.0:CasổSaveAs
 Nhưvyxongbướcđầutiên.SaukhinhnnútSave,mtcasổNewProjecthinra.
TrongcasổnàybaogmrtnhiuTab,miTabtảvềmtvàitínhnăngcaconPIC.
TasẽchntínhnăngsửdngticácTabtươngứng.
 DướiđâysẽtrìnhbàyýnghĩatngmcchntrongmiTab.Cácmcchnnàychính
đcpđếncáctínhnăngcamtconPIC,tùytheotngloisẽcácTabtươngứng.
Đốivitngdựánkhácnhau,khitacnsửdngtínhnăngnàocaconPICthìtasẽchn
mcđó.Tngcng13Tabđtalưachn.TôigiithiunhngTabchínhthườnghay
đượcsửdng.
Ngườibáocáo:NguynChíLinhTàiliu:TUT01.01.PVN
Ngày:9/8/2006Trang:4/32
2.1.1. TabGeneral
TabGeneralchophéptalachnloiPICtasửdngmtsốlachn
khácnhưchntnsốthchanhdaođng,thiếtlpcácbitCONFIGnhmthiếtlp
chếđộhotđộngchoPIC.
Hình2.1:TabGeneral
Device:LitdanhsáchcácloiPIC12F,16F,18F…TasẽchntênViđiukhin
PICtasửdngtrongdựán.LydụchnPIC16F877A
OscilatorFrequency:Tnsốthchanhtasửdng,chn20MHz(tùytngloi)
Fuses:ThiếtlpcácbitConfignhư:Chếđộdaođộng(HS,RC,Internal),chếđộbo
vệCode,Brownoutdetected…
ChnkiucontrỏRAM16bithay8bit
2.1.2. TabCommunications
TabCommunicationslitcácgiaotiếpnitiếpmtconPIChỗtr,thường
RS232I2C,cùngvicáclachnđểthiếtlpchếđộhotđộngchotngloigiaotiếp.
GiaotiếpRS232
MimtViđiukhinPIChỗtrợmtcngtruynthôngRS232chun.Tabnày
chophéptalachnchânRx,Tx,tcđộBaud,Databit,BitParity…
GiaotiếpI2C
ĐểsửdngI2CtatíchvàonútchnUseI2C,khiđótacáclachn:Chân
SDA,SCL,Tcđộtruyn(Fast‐Slow),chếđộMasterhaySlave,địachỉchoSalve.
Ngườibáocáo:NguynChíLinhTàiliu:TUT01.01.PVN
Ngày:9/8/2006Trang:5/32
Hình2.2:TabCommunications
2.1.3.TabSPIandLCD
TabnàylitchongườidùngcáclachnđốivigiaotiếpnitiếpSPI,chun
giaotiếptcđcaoPIChỗtrợvềphncng.ChúýkhitadùngI2Cthìkhông
thểdùngSPIngượcli.Đểthểsửdngcảhaigiaotiếpnàycùngmtlúcthì
bucmttrong2giaotiếpphilptrìnhbngphnmm(gingnhưkhidùngI2C
chocácchipAT8051,khônghỗtrợphncngSSP).
PhncuhìnhchoLCDdànhchocácchípdòng18F30F.
Hình2.3:TabSPIandLCD
2.1.4.TabTimer
Litcácbộđếm/địnhthicácconPICdòngMidrangecó:Timer0,timer1,
timer2,WDT…