1. Trang chủ
  2. » Luận Văn - Báo Cáo

tổng quan về vi điều khiển

189 483 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 189
Dung lượng 6,58 MB

Nội dung

Hiệnnaytrênthịtrườngcórấtnhiềuhọviđiềukhiểnnhư8051,Motorola68HC,AVR,ARM,...Ngoàihọ8051đượchướngdẫnmộtcáchcănbảnởmôitrườngđạihọc,bảnthânngườiviếtđãchọnhọviđiềukhiểnPICđểmởrộngvốnkiếnthứcv

Trang 1

Tổngquanvềviđiềukhiển

Trang 2

1.1PICLÀGÌ??

1.2TẠISAOLÀPICMÀKHÔNGLÀCÁCHỌVIĐIỀUKHIỂNKHÁC??1.3KIẾNTRÚCPIC

Trang 5

1.1PICLÀGÌ??

PIClàviếttắtcủa“ProgramableIntelligentComputer”,cóthểtạmdịchlà“máytínhthôngminhkhảtrình

”dohãngGenenralInstrumentđặttênchoviđiềukhiểnđầutiêncủahọ:PIC1650đượcthiếtkếđểdùnglàmcácthiếtbịngoạivichoviđiềukhiểnCP1600.ViđiềukhiểnnàysauđóđượcnghiêncứupháttriểnthêmvàtừđóhìnhthànhnêndòngviđiềukhiểnPICngàynay

1.2TẠISAOLÀPICMÀKHÔNGLÀCÁCHỌVIĐIỀUKHIỂNKHÁC??

Hiệnnaytrênthịtrườngcórấtnhiềuhọviđiềukhiểnnhư8051,Motorola68HC,AVR,ARM, Ngoàihọ8051đượchướngdẫnmộtcáchcănbảnởmôitrườngđạihọc,bảnthânngườiviếtđãchọnhọviđiềukhiểnPICđểmởrộngvốnkiếnthứcvàpháttriểncácứngdụngtrêncôngcụnàyvìcácnguyênnhânsau:

HọviđiềukhiểnnàycóthểtìmmuadễdàngtạithịtrườngViệtNam.Giáthànhk

hôngquáđắt

Cóđầyđủcáctínhnăngcủamộtviđiềukhiểnkhihoạtđộngđộclập

Làmộtsựbổsungrấttốtvềkiếnthứccũngnhưvềứngdụngchohọviđiềukhiểnmangtínhtruyềnthống:họviđiềukhiển8051

SốlượngngườisửdụnghọviđiềukhiểnPIC.HiệnnaytạiViệtNamcũngnhưtrênthếgiới,họviđiềukhiểnnàyđượcsửdụngkhárộngrãi.Điềunàytạonhiềuthuậnlợitrongquátrìnhtìmhiểuvàpháttriểncácứngdụngnhư:sốlượngtàiliệu,sốlượngcácứngdụngmởđãđượcpháttriểnthànhcông,dễdàngtraođổi,họctập,dễdàngtìmđượcsựchỉdẫnkhigặpkhókhăn,…

Sựhỗtrợcủanhàsảnxuấtvềtrìnhbiêndịch,cáccôngcụlậptrình,nạpchươngtrìnhtừđơngiảnđếnphứctạp,…

CáctínhnăngđadạngcủaviđiềukhiểnPIC,vàcáctínhnăngnàykhôngngừngđượcpháttriển

1.3KIẾNTRÚCPIC

Cấutrúcphầncứngcủamộtviđiềukhiểnđượcthiếtkếtheohaidạngkiếntrúc:kiếntrúc

VonNeumanvàkiếntrúcHavard

Trang 6

TổchứcphầncứngcủaPICđượcthiếtkếtheokiếntrúcHavard.ĐiểmkhácbiệtgiữakiếntrúcHavardvàkiếntrúcVon-Neumanlàcấutrúcbộnhớdữliệuvàbộnhớchươngtrình

ĐốivớikiếntrúcVon-Neuman,bộnhớdữliệuvàbộnhớchươngtrìnhnằmchungtrongmộtbộnhớ,dođótacóthểtổchức,cânđốimộtcáchlinhhoạtbộnhớchươngtrìnhvàbộnhớdữliệu.TuynhiênđiềunàychỉcóýnghĩakhitốcđộxửlícủaCPUphảirấtcao,vìvớicấutrúcđó,trongcùngmộtthờiđiểmCPUchỉcóthểtươngtácvớibộnhớdữliệuhoặcbộnhớchươngtrình.NhưvậycóthểnóikiếntrúcVon-

Neumankhôngthíchhợpvớicấutrúccủamộtviđiềukhiển

ĐốivớikiếntrúcHavard,bộnhớdữliệuvàbộnhớchươngtrìnhtáchrathànhhaibộnhớriêngbiệt.DođótrongcùngmộtthờiđiểmCPUcóthểtươngtácvớicảhaibộnhớ,nhưvậytốcđộxửlícủaviđiềukhiểnđượccảithiệnđángkể

MộtđiểmcầnchúýnữalàtậplệnhtrongkiếntrúcHavardcóthểđượctốiưutùytheoyêucầukiếntrúccủaviđiềukhiểnmàkhôngphụthuộcvàocấutrúcdữliệu.Vídụ,đốivớiviđiềukhiểndòng16F,độdàilệnhluônlà14bit(trongkhidữliệuđượctổchứcthànhtừngbyte),cònđốivớikiếntrúcVon-

Neuman,độdàilệnhluônlàbộisốcủa1byte(dodữliệuđượctổchứcthànhtừngbyte).Đặcđiểmnàyđượcminhhọacụthểtronghình1.1

1.4RISCvàCISC

Nhưđãtrìnhbàyởtrên,kiếntrúcHavardlàkháiniệmmớihơnsovớikiếntrúcVon-Neuman.Kháiniệmnàyđượchìnhthànhnhằmcảitiếntốcđộthựcthicủamộtviđiềukhiển.Quaviệctáchrờibộnhớchươngtrìnhvàbộnhớdữliệu,buschươngtrìnhvàbusdữliệu,CPUcóthểcùngmộtlúctruyxuấtcảbộnhớchươngtrìnhvàbộnhớdữliệu,giúptăngtốcđộxửlícủaviđiềukhiểnlêngấpđôi.Đồngthờicấutrúclệnhkhôngcònphụthuộcvàocấutrúcdữliệunữamàcóthểlinhđộngđiềuchỉnhtùytheokhảnăngvàtốcđộcủatừngviđiều

Trang 7

cầnhaichukìxungđồnghồ).ĐiềunàycónghĩatậplệnhcủaviđiềukhiểnthuộccấutrúcHavardsẽítlệnhhơn,ngắnhơn,đơngiảnhơnđểđápứngyêucầumãhóalệnhbằngmộtsốlượngbitnhấtđịnh

ViđiềukhiểnđượctổchứctheokiếntrúcHavardcònđượcgọilàviđiềukhiểnRISC(ReducedInstructionSetComputer)hayviđiềukhiểncótậplệnhrútgọn.ViđiềukhiểnđượcthiếtkếtheokiếntrúcVon-NeumancònđượcgọilàviđiềukhiểnCISC(ComplexInstructionSetComputer)hayviđiềukhiểncótậplệnhphứctạpvìmãlệnhcủanókhôngphảilàmộtsốcốđịnhmàluônlàbộisốcủa8bit(1byte)

1.5PIPELINING

ĐâychínhlàcơchếxửlílệnhcủacácviđiềukhiểnPIC.Mộtchukìlệnhcủaviđiềukhiểnsẽbaogồm4xungclock.Vídụtasửdụngoscillatorcótầnsố4MHZ,thìxunglệnhsẽcótầnsố1MHz(chukìlệnhsẽlà1us).Giảsửtacómộtđoạnchươngtrìnhnhưsau:

Hình1.2:Cơchếpipelining

Trang 8

øyđượcthựchiệntươngtựchocáclệnhtiếptheocủachươngtrình

Thôngthường,đểthựcthimộtlệnh,tacầnmộtchukìlệnhđểgọilệnhđó,vàmộtchukìxungclocknữađểgiảimãvàthựcthilệnh.Vớicơchếpipeliningđượctrìnhbàyởtrên,mỗilệnhxemnhưchỉđượcthựcthitrongmộtchukìlệnh.ĐốivớicáclệnhmàquátrìnhthựcthinólàmthayđổigiátrịthanhghiPC(ProgramCounter)cầnhaichukìlệnhđểthựcthivìphảithựchiệnviệcgọilệnhởđịachỉthanhghiPCchỉtới.SaukhiđãxácđịnhđúngvịtrílệnhtrongthanhghiPC,mỗilệnhchỉcầnmộtchukìlệnhđểthựcthixong

Trướchếtcầnchúýđếnsốchâncủaviđiềukhiểncầnthiếtchoứngdụng.Cónhiều

viđiềukhiểnPICvớisốlượngchânkhácnhau,thậmchícóviđiềukhiểnchỉcó8chân,ngoàiracòncócácviđiềukhiển28,40,44,…chân

Trang 9

Saucùngcầnchúýđếnbộnhớchươngtrìnhmàviđiềukhiểnchophép

NgoàiramọithôngtinvềcáchlựachọnviđiềukhiểnPICcóthểđượctìmthấytrongcuốnsách“SelectPICguide”donhàsảnxuấtMicrochipcungcấp

1.7NGÔNNGỮLẬPTRÌNHCHOPIC

NgônngữlậptrìnhchoPICrấtđadạng.NgônngữlậptrìnhcấpthấpcóMPLAB(đượccungcấpmiễnphíbởinhàsảnxuấtMicrochip),cácngônngữlậptrìnhcấpcaohơnbaogồmC,Basic,Pascal,…

NgoàiracòncómộtsốngônngữlậptrìnhđượcpháttriểndànhriêngchoPICnhưPICBasic,MikroBasic,

1.8MẠCHNẠPPIC

ĐâycũnglàmộtdòngsảnphẩmrấtđadạngdànhchoviđiềukhiểnPIC.CóthểsửdụngcácmạchnạpđượccungcấpbởinhàsảnxuấtlàhãngMicrochipnhư:PICSTARTplus,MPLABICD2,MPLABPM3,PROMATEII.CóthểdùngcácsảnphẩmnàyđểnạpchoviđiềukhiểnkhácthôngquachươngtrìnhMPLAB.DòngsảnphẩmchínhthốngnàycóưuthếlànạpđượcchotấtcảcácviđiềukhiểnPIC,tuynhiêngiáthànhrấtcaovàthườnggặprấtnhiềukhókhăntrongquátrìnhmuasảnphẩm

Ngoàiradotínhnăngchophépnhiềuchếđộnạpkhácnhau,còncórấtnhiềumạchnạpđượcthiếtkếdànhchoviđiềukhiểnPIC.CóthểsơlượcmộtsốmạchnạpchoPICnhưsau:

JDMprogrammer:mạchnạpnàydùngchươngtrìnhnạpIcprogchophépnạpcácviđiềukhiểnPICcóhỗtrợtínhnăngnạpchươngtrìnhđiệnápthấpICSP(InCircuitSerialProgramming).Hầuhếtcácmạchnạpđềuhỗtrợtínhnăngnạpchươngtrìnhnày

WARP-13AvàMCP-USB:haimạchnạpnàygiốngvớimạchnạpPICSTARTPLUSdonhàsảnxuấtMicrochipcungcấp,tươngthíchvớitrìnhbiêndịchMPLAB,nghĩalàtacóthểtrựctiếpdùngchươngtrìnhMPLABđểnạpchoviđiềukhiểnPICmàkhôngcầnsửdụngmộtchươngtrìnhnạpkhác,chẳnghạnnhưICprog

P16PRO40:mạchnạpnàydoNigelthiếtkếvàcũngkhánổitiếng.Ôngcònthiếtkếcảchươngtrìnhnạp,tuynhiêntacũngcóthểsửdụngchươngtrìnhnạpIcprog

Trang 10

PICnhưP16PRO40

Cácmạchnạpkểtrêncóưuđiểmrấtlớnlàđơngiản,rẻtiền,hoàntoàncóthểtựlắprápmộtcáchdễdàng,vàmọithôngtinvềsơđồmạchnạp,cáchthiếtkế,thicông,kiểmtravàchươngtrìnhnạpđềudễdàngtìmđượcvàdownloadmiễnphíthôngquamạngInternet.Tuynhiêncácmạchnạptrêncónhượcđiểmlàhạnchếvềsốviđiềukhiểnđượchỗtrợ,bêncạnhđómỗimạchnạpcầnđượcsửdụngvớimộtchươngtrìnhnạpthíchhợp

1.9BOOTLOADERVÀICP(InCircuitProgramming)

Trang 11

2.1SƠĐỒCHÂNVIĐIỀUKHIỂNPIC16F877A

Hình2.1ViđiềukhiểnPIC16F877A/PIC16F874Avàcácdạngsơđồchân

Trang 12

ĐâylàviđiềukhiểnthuộchọPIC16Fxxxvớitậplệnhgồm35lệnhcóđộdài14bit.Mỗilệnhđềuđượcthựcthitrongmộtchukìxungclock.Tốcđộhoạtđộngtốiđachophéplà

20MHzvớimộtchukìlệnhlà200ns.Bộnhớchươngtrình8Kx14bit,bộnhớdữliệu368x8byteRAMvàbộnhớdữliệuEEPROMvớidunglượng256x8byte.SốPORTI/Olà5với33pinI/O

Trang 13

Hình2.2SơđồkhốiviđiềukhiểnPIC16F877A

Trang 14

CấutrúcbộnhớcủaviđiềukhiểnPIC16F877Abaogồmbộnhớchươngtrình(Programmemory)vàbộnhớdữliệu(DataMemory)

Trang 15

Hình2.4SơđồbộnhớdữliệuPIC16F877A

Trang 16

ĐâylàcácthanhghiđượcsửdụngbởiCPUhoặcđượcdùngđểthiếtlậpvàđiềukhiểncáckhốichứcnăngđượctíchhợpbêntrongviđiềukhiển.CóthểphânthanhghiSFRlàmhailọai:thanhghiSFRliênquanđếncácchứcnăngbêntrong(CPU)vàthanhghiSRFdùngđểthiếtlậpvàđiềukhiểncáckhốichứcnăngbênngoài(vídụnhưADC,PWM,

…).Phầnnàysẽđềcậpđếncácthanhghiliênquanđếncácchứcnăngbêntrong.Cácthanhghidùngđểthiếtlậpvàđiềukhiểncáckhốichứcnăngsẽđượcnhắcđếnkhitađềcậpđếncáckhốichứcnăngđó.ChitiếtvềcácthanhghiSFRsẽđượcliệtkêcụthểtrongbảngphụlục2

Trang 17

Stackkhôngnằmtrongbộnhớchươngtrìnhhaybộnhớdữliệumàlàmộtvùngnhớđặcbiệtkhôngchophépđọchayghi.KhilệnhCALLđượcthựchiệnhaykhimộtngắtxảyralàmchươngtrìnhbịrẽnhánh,giátrịcủabộđếmchươngtrìnhPCtựđộngđượcviđiềukhiểncấtvàotrongstack.KhimộttrongcáclệnhRETURN,RETLWhatRETFIEđượcthựcthi,giátrịPCsẽtựđộngđượclấyratừtrongstack,viđiềukhiểnsẽthựchiệntiếpchươngtrìnhtheođúngquitrìnhđịnhtrước

BộnhớStacktrongviđiềukhiểnPIChọ16F87xAcókhảnăngchứađược8địachỉvàhoạtđộngtheocơchếxoayvòng.NghĩalàgiátrịcấtvàobộnhớStacklầnthứ9sẽghiđèlêngiátrịcấtvàoStacklầnđầutiênvàgiátrịcấtvàobộnhớStacklầnthứ10sẽghiđèlêngiátri6cấtvàoStacklầnthứ2

Cầnchúýlàkhôngcócờhiệunàochobiếttrạngtháistack,dođótakhôngbiếtđượckhinàostacktràn.BêncạnhđótậplệnhcủaviđiềukhiểndòngPICcũngkhôngcólệnhPOPhayPUSH,cácthaotácvớibộnhớstacksẽhoàntoànđượcđiềukhiểnbởiCPU

Trang 18

Cổngxuấtnhập(I/

Oport)chínhlàphươngtiệnmàviđiềukhiểndùngđểtươngtácvớithếgiớibênngoài.Sựtươngtácnàyrấtđadạngvàthôngquaquátrìnhtươngtácđó,chứcnăngcủaviđiềukhiểnđượcthểhiệnmộtcáchrõràng

Mộtcổngxuấtnhậpcủaviđiềukhiểnbaogồmnhiềuchân(I/

Opin),tùytheocáchbốtrívàchứcnăngcủaviđiềukhiểnmàsốlượngcổngxuấtnhậpvàsốlượngchântrongmỗicổngcóthểkhácnhau.Bêncạnhđó,doviđiềukhiểnđượctíchhợpsẵnbêntrongcácđặctínhgiaotiếpngoạivinênbêncạnhchứcnănglàcổngxuấtnhậpthôngthường,mộtsốchânxuấtnhậpcòncóthêmcácchứcnăngkhácđểthểhiệnsựtácđộngcủacácđặctínhngoạivinêutrênđốivớithếgiớibênngoài.ChứcnăngcủatừngchânxuấtnhậptrongmỗicổnghoàntoàncóthểđượcxáclậpvàđiềukhiểnđượcthôngquacácthanhghiSFRliênquanđếnchânxuấtnhậpđó

ViđiềukhiểnPIC16F877Acó5cổngxuấtnhập,baogồmPORTA,PORTB,PORTC,PORTDvàPORTE.Cấutrúcvàchứcnăngcủatừngcổngxuấtnhậpsẽđượcđềcậpcụthểtrongphầnsau

2.5.1PORTA

PORTA(RPA)baogồm6I/

Opin.Đâylàcácchân“haichiều”(bidirectionalpin),nghĩalàcóthểxuấtvànhậpđược.ChứcnăngI/OnàyđượcđiềukhiểnbởithanhghiTRISA(địachỉ85h).MuốnxáclậpchứcnăngcủamộtchântrongPORTAlàinput,ta“set”bitđiềukhiểntươngứngvớichânđótrongthanhghiTRISAvàngượclại,muốnxáclậpchứcnăngcủamộtchântrongPORTAlàoutput,ta“clear”bitđiềukhiểntươngứngvớichânđótrongthanhghiTRISA.ThaotácnàyhoàntoàntươngtựđốivớicácPORTvàcácthanhghiđiềukhiểntươngứngTRIS(đốivớiPORTAlàTRISA,đốivớiPORTBlàTRISB,đốivớiPORTClàTRISC,đốivớiPORTDlàTRISDvàđốivớiPORTElàTRISE).BêncạnhđóPORTAcònlàngõracủabộADC,bộsosánh,ngõvàoanalogngõvàoxungclockcủaTimer0vàngõvàocủabộgiaotiếpMSSP(MasterSynchronousSerialPort).Đặctínhnàysẽđượctrìnhbàycụthểtrongphầnsau

CấutrúcbêntrongvàchứcnăngcụthểcủatừngchântrongPORTAsẽđượctrìnhbàycụthểtrongPhụlục1

Trang 19

CấutrúcbêntrongvàchứcnăngcụthểcủatừngchântrongPORTBsẽđượctrìnhbàycụthểtrongPhụlục1

CấutrúcbêntrongvàchứcnăngcụthểcủatừngchântrongPORTCsẽđượctrìnhbàycụthểtrongPhụlục1

CấutrúcbêntrongvàchứcnăngcụthểcủatừngchântrongPORTDsẽđượctrìnhbàycụthểtrongPhụlục1

Trang 20

PORTE(RPE)gồm3chânI/

O.ThanhghiđiềukhiểnxuấtnhậptươngứnglàTRISE.CácchâncủaPORTEcóngõvàoanalog.BêncạnhđóPORTEcònlàcácchânđiềukhiểncủachuẩngiaotiếpPSP

CấutrúcbêntrongvàchứcnăngcụthểcủatừngchântrongPORTEsẽđượctrìnhbàycụthểtrongPhụlục1

CácthanhghiliênquanđếnPORTEbaogồm:

PORTE :chứagiátrịcácchântrongPORTE

TRISE :điềukhiểnxuấtnhậpvàxáclậpcácthôngsốchochuẩngiaotiếpPSP.ADCON1:thanhghiđiềukhiểnkhốiADC

Chitiếtvềcácthanhghisẽđượctrìnhbàycụthểtrongphụlục2

2.6TIMER0

ĐâylàmộttrongbabộđếmhoặcbộđịnhthờicủaviđiềukhiểnPIC16F877A.Timer0làbộđếm8bitđượckếtnốivớibộchiatầnsố(prescaler)8bit.CấutrúccủaTimer0chophéptalựachọnxungclocktácđộngvàcạnhtíchcựccủaxungclock.NgắtTimer0sẽxuấthiệnkhiTimer0bịtràn.BitTMR0IE(INTCON<5>)làbitđiềukhiểncủaTimer0.TMR0IE=1chophépngắtTimer0tácđộng,TMR0IF=0khôngchophépngắtTimer0tácđộng.SơđồkhốicủaTimer0nhưsau:

Hình2.5SơđồkhốicủaTimer0

Trang 21

MuốnTimer0hoạtđộngởchếđộcountertasetbitTOSC(OPTION_REG<5>).KhiđóxungtácđộnglênbộđếmđượclấytừchânRA4/

TOCK1.BitTOSE(OPTION_REG<4>)chophéplựachọncạnhtácđộngvàobộtđếm.CạnhtácđộngsẽlàcạnhlênnếuTOSE=0vàcạnhtácđộngsẽlàcạnhxuốngnếuTOSE=1

KhithanhghiTMR0bịtràn,bitTMR0IF(INTCON<2>)sẽđượcset.ĐâychínhlàcờngắtcủaTimer0.Cờngắtnàyphảiđượcxóabằngchươngtrìnhtrướckhibộđếmbắtđầuthựchiệnlạiquátrìnhđếm.NgắtTimer0khôngthể“đánhthức”viđiềukhiểntừchếđộ

sleep

Bộchiatầnsố(prescaler)đượcchiasẻgiữaTimer0vàWDT(WatchdogTimer).ĐiềuđócónghĩalànếuprescalerđượcsửdụngchoTimer0thìWDTsẽkhôngcóđượchỗtrợcủaprescalervàngượclại.PrescalerđượcđiềukhiểnbởithanhghiOPTION_REG.BitPSA(OPTION_REG<3>)xácđịnhđốitượngtácđộngcủaprescaler.CácbitPS2:PS0(OPTION_REG<2:0>)xácđịnhtỉsốchiatầnsốcủaprescaler.XemlạithanhghiOPTION_REGđểxácđịnhlạimộtcáchchitiếtvềcácbitđiềukhiểntrên

CáclệnhtácđộnglêngiátrịthanhghiTMR0sẽxóachếđộhoạtđộngcủaprescaler.KhiđốitượngtácđộnglàTimer0,tácđộnglêngiátrịthanhghiTMR0sẽxóaprescalernhưngkhônglàmthayđổiđốitượngtácđộngcủaprescaler.KhiđốitượngtácđộnglàWDT,lệnhCLRWDTsẽxóaprescaler,đồngthờiprescalersẽngưngtácvụhỗtrợchoWDT

CácthanhghiđiềukhiểnliênquanđếnTimer0baogồm:

TMR0(địachỉ01h,101h) :chứagiátrịđếmcủaTimer0

INTCON(địachỉ0Bh,8Bh,10Bh,18Bh):chophépngắthoạtđộng(GIEvàPEIE).OPTION_REG(địachỉ81h,181h):điềukhiểnprescaler

Chitiếtvềcácthanhghisẽđượctrìnhbàycụthểtrongphụlục2

2.7TIMER1

Timer1làbộđịnhthời16bit,giátrịcủaTimer1sẽđượclưutronghaithanhghi(TMR1H:TMR1L).CờngắtcủaTimer1làbitTMR1IF(PIR1<0>).BitđiềukhiểncủaTimer1sẽlàTMR1IE(PIE<0>)

TươngtựnhưTimer0,Timer1cũngcóhaichếđộhoạtđộng:chếđộđịnhthời(timer)vớixungkíchlàxungclockcủaoscillator(tầnsốcủatimerbằng¼tầnsốcủaoscillator)vàchếđộđếm(counter)vớixungkíchlàxungphảnánhcácsựkiệncầnđếmlấytừbênngoài

Trang 22

T1CKI(cạnhtácđộnglàcạnhlên).Việclựachọnxungtácđộng(tươngứngvớiviệclựachọnchếđộhoạtđộnglàtimerhaycounter)đượcđiềukhiểnbởibitTMR1CS(T1CON<1>).SauđâylàsơđồkhốicủaTimer1:

Hình2.6SơđồkhốicủaTimer1

NgoàiraTimer1còncóchứcnăngresetinputbêntrongđượcđiềukhiểnbởimộttronghaikhốiCCP(Capture/Compare/PWM)

KhibitT1OSCEN(T1CON<3>)đượcset,Timer1sẽlấyxungclocktừhaichânRC1/T1OSI/CCP2vàRC0/T1OSO/

T1CKIlàmxungđếm.Timer1sẽbắtđầuđếmsaucạnhxuốngđầutiêncủaxungngõvào.KhiđóPORTCsẽbỏquasựtácđộngcủahaibitTRISC<1:0>vàPORTC<2:1>đượcgángiátrị0.KhiclearbitT1OSCENTimer1sẽlấyxungđếmtừoscillatorhoặctừchânRC0/T1OSO/T1CKI

Timer1cóhaichếđộđếmlàđồngbộ(Synchronous)vàbấtđồngbộ(Asynchronous).Chếđộđếmđượcquyếtđịnhbởibitđiềukhiển (T1CON<2>)

Khi =1xungđếmlấytừbênngoàisẽkhôngđượcđồngbộhóavớixungclockbêntrong,Timer1sẽtiếptụcquátrìnhđếmkhiviđiềukhiểnđangởchếđộsleepvàngắtdoTimer1tạorakhibịtràncókhảnăng“đánhthức”viđiềukhiển.Ởchếđộđếmbấtđồngbộ,Timer1khôngthểđượcsửdụngđểlàmnguồnxungclockchokhốiCCP(Capture/Compare/Pulsewidthmodulation)

Khi =0xungđếmvàoTimer1sẽđượcđồngbộhóavớixungclockbêntrong.Ở

chếđộnàyTimer1sẽkhônghoạtđộngkhiviđiềukhiểnđangởchếđộsleep.Cácthanhghil

iênquanđếnTimer1baogồm:

INTCON(địachỉ0Bh,8Bh,10Bh,18Bh):chophépngắthoạtđộng(GIEvàPEIE).PIR1(địachỉ0Ch):chứacờngắtTimer1(TMR1IF)

Trang 23

Timer2làbộđịnhthời8bitvàđượchỗtrợbởihaibộchiatầnsốprescalervapostscaler.ThanhghichứagiátrịđếmcủaTimer2làTMR2.BitchophépngắtTimer2tácđộnglàTMR2ON(T2CON<2>).CờngắtcủaTimer2làbitTMR2IF(PIR1<1>).Xungngõvào(tầnsốbằng¼tầnsốoscillator)đượcđưaquabộchiatầnsốprescaler4bit(vớicáctỉsốchiatầnsốlà1:1,1:4hoặc1:16vàđượcđiềukhiểnbởicácbitT2CKPS1:T2CKPS0(T2CON<1:0>))

Hình2.7SơđồkhốiTimer2

Timer2cònđượchỗtrợbởithanhghiPR2.GiátrịđếmtrongthanhghiTMR2sẽtăngtừ00hđếngiátrịchứatrongthanhghiPR2,sauđóđượcresetvề00h.KhIresetthanhghiPR2đượcnhậngiátrịmặcđịnhFFh

NgõracủaTimer2đượcđưaquabộchiatầnsốpostscalervớicácmứcchiatừ1:1đến

1:16.Postscalerđượcđiềukhiểnbởi4bitT2OUTPS3:T2OUTPS0.Ngõracủapostscalerđóngvaitròquyếtđịnhtrongviệcđiềukhiểncờngắt

NgoàirangõracủaTimer2cònđượckếtnốivớikhốiSSP,dođóTimer2cònđóngvaitròtạoraxungclockđồngbộchokhốigiaotiếpSSP

CácthanhghiliênquanđếnTimer2baogồm:

INTCON(địachỉ0Bh,8Bh,10Bh,18Bh):chophéptoànbộcácngắt(GIEvàPEIE).PIR1(địachỉ0Ch):chứacờngắtTimer2(TMR2IF)

PIE1(địachị8Ch):chứabitđiềukhiểnTimer2(TMR2IE).TMR2

(địachỉ11h):chứagiátrịđếmcủaTimer2

T2CON(địachỉ12h):xáclậpcácthôngsốchoTimer2

Trang 24

Chitiếtvềcácthanhghisẽđượctrìnhbàycụthểtrongphụlục2.Tacómộtva

øinhậnxétvềTimer0,Timer1vàTimer2nhưsau:

Timer0vàTimer2làbộđếm8bit(giátrịđếmtốiđalàFFh),trongkhiTimer1làbộđếm16bit(giátrịđếmtốiđalàFFFFh)

Timer0,Timer1vàTimer2đềucóhaichếđộhoạtđộnglàtimervàcounter.Xungclockcótầnsốbằng¼tầnsốcủaoscillator

XungtácđộnglênTimer0đượchỗtrợbởiprescalervàcóthểđượcthiếtlậpởnhiềuchếđộkhácnhau(tầnsốtácđộng,cạnhtácđộng)trongkhicácthôngsốcủaxungtácđộnglênTimer1làcốđịnh.Timer2đượchỗtrợbởihaibộchiatầnsốprescalervàpostcalerđộclập,tuynhiêncạnhtácđộngvẫnđượccốđịnhlàcạnhlên

Timer1cóquanhệvớikhốiCCP,trongkhiTimer2đượckếtnốivớikhốiSSP.Mộtvàisosa

ùnhsẽgiúptadễdànglựachọnđượcTimerthíchhợpchoứngdụng

2.9ADC

ADC(AnalogtoDigitalConverter)làbộchuyểnđổitínhiệugiữahaidạngtươngtựvàsố.PIC16F877Acó8ngõvàoanalog(RA4:RA0vàRE2:RE0).HiệuđiệnthếchuẩnVREFcóthểđượclựachọnlàVDD,VSShayhiệuđiệnthểchuẩnđượcxáclậptrênhaichânRA2vàRA3.Kếtquảchuyểnđổitừtíntiệutươngtựsangtínhiệusốlà10bitsốtươngứngvàđượclưutronghaithanhghiADRESH:ADRESL.KhikhôngsửdụngbộchuyểnđổiADC,cácthanhghinàycóthểđượcsửdụngnhưcácthanhghithôngthườngkhác.Khiquátrìnhchuyểnđổihoàntất,kếtquảsẽđượclưuvàohaithanhghiADRESH:ADRESL,bit (ADCON0<2>)đượcxóavề0vàcờngắtADIFđượcset

Quitrìnhchuyểnđổitừtươngtựsangsốbaogồmcácbướcsau:

1.ThiếtlậpcácthôngsốchobộchuyểnđổiADC:

Chọnngõvàoanalog,chọnđiệnápmẫu(dựatrêncácthôngsốcủathanhghi

ADCON1)ChọnhkênhchuyểnđổiAD(thanhghiADCON0)

ChọnhxungclockchokênhchuyểnđổiAD(thanhghiADCON0).ChophépbộchuyểnđổiADhoạtđộng(thanhghiADCON0)

2.ThiếtlậpcáccờngắtchobộADClear

bitADIF

SetbitADIE.SetbitPEIE.SetbitGIE

Trang 26

INTCON(địachỉ0Bh,8Bh,10Bh,18Bh):chophépcácngắt(cácbitGIE,PEIE).PIR1(địachỉ0Ch):chứacờngắtAD(bitADIF)

PIE1(địachỉ8Ch):chứabitđiềukhiểnAD(ADIE)

ADRESH(địachỉ1Eh)vàADRESL(địachỉ9Eh):cácthanhghichứakếtquảchuyểnđổiAD.ADCON0(địachỉ1Fh)vàADCON1(địachỉ9Fh):xáclậpcácthôngsốchobộchuyểnđổiAD.PORTA(địachỉ05h)vàTRISA(địachỉ85h):liênquanđếncácngõvàoanalogở

CơchếhoạtđộngcủabộComparatornhưsau:

Trang 27

IN-vàtínhiệuởngõrabộsosánhsẽthayđổitươngứngnhưhìnhvẽ.KhiđiệnápởchânVIN+lớnhơnđiệnápởchânVIN+ngõrasẽởmức1vàngượclại

Dựavàohìnhvẽtathấyđápứngtạingõrakhôngphảilàtứcthờisovớithayđổitạingõvàomàcầncómộtkhoảngthờigiannhấtđịnhđểngõrathayđổitrạngthái(tốiđalà10us).Cầnchúýđếnkhoảngthờigianđápứngnàykhisửdụngbộsosánh

CựctínhcủacácbộsosánhcóthểthayđổidựavàocácgiátrịđặtvàocácbitC2INV

vàC1INV(CMCON<4:5>)

Hình2.10Nguyênlíhoạtđộngcủamộtbộsosánhđơngiản

Trang 28

CácbitC2OUTvàC1OUT(CMCON<7:6>)đóngvaitròghinhậnsựthayđổitínhiệuanalogsovớiđiệnápđặttrước.Cácbitnàycầnđượcxửlíthíchhợpbằngchươngtrìnhđểghinhậnsựthayđổicủatínhiệungõvào.CờngắtcủabộsosánhlàbitCMIF(thanhghiPIR1).Cờngắtnàyphảiđượcresetvề0.BitđiềukhiểnbộsosánhlàbitCMIE(TranhghiPIE)

Trang 29

-của2bộsosánhC1vàC2(xemchitiếtởhình2.10).TrongkhiđóđiệnápđưavàongõVIN+sẽđượclấytừmộtbộtạođiệnápsosánh.Sơđồkhốicủabộtạođiệnápsosánhđựơctrìnhbàytronghìnhvẽsau:

Hình2.12Sơđồkhốibộtạođiệnápsosánh

Bộtạođiệnápsosánhnàybaogồmmộtthangđiệntrở16mứcđóngvaitròlàcầuphânápchianhỏđiệnápV

DDthànhnhiềumứckhácnhau(16mức).MỗimứccógiátrịđiệnápkhácnhautùythuộcvàobitđiềukhiểnCVRR(CVRCON<5>).NếuCVRRởmứclogic1,điệntrở

8Rsẽkhôngcótácdụngnhưmộtthànhphầncủacầuphânáp(BJTdẫnmạnhvàdòngđiện

Trang 30

ThanhghiCVRCON(địachỉ9Dh):thanhghitrựctiếpđiềukhiểnbộsosánhđiệnáp.ThanhghiCMCON(địachỉ9Ch):thanhghiđiềukhiểnbộComparator.Chitiếtvềcácthanhghisẽđượctrìnhbàycụthểởphụlục2

2.11CCP

CCP(Capture/Compare/

PWM)baogồmcácthaotáctrêncácxungđếmcungcấpbởicácbộđếmTimer1vàTimer2.PIC16F877AđượctíchhợpsẵnhaikhốiCCP:CCP1vàCCP2.MỗiCCPcómộtthanhghi16bit(CCPR1H:CCPR1LvàCCPR2H:CCPR2L),pinđiềukhiểndùngchokhốiCCPxlàRC2/CCP1vàRC1/T1OSI/

TMR2

Trang 31

ãicạnhlênthứ4

Mỗicạnhlênthứ16

SaukhigiátrịcủathanhghiTMR1đượcđưavàothanhghiCCPRx,cờngắtCCPIFđượcsetvàphảiđượcxóabằngchươngtrình.NếuhiệntượngtiếptheoxảyramàgiátrịtrongthanhghiCCPRxchưađượcxửlí,giátrịtiếptheonhậnđượcsẽtựđộngđượcghiđèlêngiátrịcũ

MộtsốđiểmcầnchúýkhisửdụngCCPnhưsau:

CácpindùngchokhốiCCPphảiđượcấnđịnhlàinput(setcácbittươngứngtrongthanhghiTRISC).KhiấnđịnhcácpindùngchokhốiCCPlàoutput,việcđưagiátrịvàoPORTCcũngcóthểgâyracác“hiệntượng”tácđộnglênkhốiCCPdotrạngtháicủapinthayđổi

Timer1phảiđượchoạtđộngởchếđộTimerhoặcchếđộđếmđồngbộ

TránhsửdụngngắtCCPbằngcáchclearbitCCPxIE(thanhghiPIE1),cờngắtCCPIFnênđượcxóabằngphầnmềmmỗikhiđượcsetđểtiếptụcnhậnđịnhđượctrạngtháihoạtđộngcủaCCP

CCPcònđượctíchhợpbộchiatầnsốprescalerđượcđiềukhiểnbởicácbitCCPxM3:CCPxM0.Việcthayđổiđốitượngtácđộngcủaprescalercóthểtạorahoạtđộngngắt.PrescalerđượcxóakhiCCPkhônghoạtđộnghoặckhireset

XemcácthanhghiđiềukhiểnkhốiCCP(phụlục2đểbiếtthêmchitiết)

Trang 32

Hình2.14SơđồkhốiCCP(Comparemode)

TươngtựnhưởchếđộCapture,Timer1phảiđượcấnđịnhchếđộhoạtđộnglàtimerhoặcđếmđồngbộ.Ngoàira,khiởchếđộCompare,CCPcókhảnăngtạorahiệntượngđặcbiệt(SpecialEventtrigger)làmresetgiátrịthanhghiTMR1vàkhởiđộngbộchuyểnđổiADC.ĐiềunàychophéptađiềukhiểngiátrịthanhghiTMR1mộtcáchlinhđộnghơn

Trang 33

BộchiatầnsốprescalercủaTimer2chỉcóthểnhậncácgiátrị1,4hoặc16(xemlạiTimer2đểbiếtthêmchitiết).KhigiátrịthanhghiPR2bằngvớigiátrịthanhghiTMR2thìquátrìnhsauxảyra:

Trang 34

MộtsốđiểmcầnchúýkhisửdụngkhốiPWM:

Timer2cóhaibộchiatầnsốprescalervàpostscaler.TuynhiênbộpostscalerkhôngđượcsửdụngtrongquátrìnhđiềuchếđộrộngxungcủakhốiPWM

NếuthờigiandutycycledàihơnthờigianchukìxungperiodthìxungngõratiếptụcđượcgiữởmứccaosaukhigiátrịPR2bằngvớigiátrịTMR2

2.12GIAOTIẾPNỐITIẾP

1.12.1USART

USART(UniversalSynchronousAsynchronousReceiverTransmitter)làmộttronghaichuẩngiaotiếpnốitiếp.USARTcònđượcgọilàgiaodiệngiaotiếpnốitiếpnốitiếpSCI(SerialCommunicationInterface).Cóthểsửdụnggiaodiệnnàychocácgiaotiếpvớicácthiếtbịngọaivi,vớicácviđiềukhiểnkháchayvớimáytính.CácdạngcủagiaodiệnUSARTngọaivibaogồm:

Bấtđộngbộ(Asynchronous).Đồngbộ_Mastermode.Đồngbộ_

Slavemode

HaipindùngchogiaodiệnnàylàRC6/TX/CKvàRC7/RX/DT,trongđóRC6/TX/

CKdùngđểtruyềnxungclock(baudrate)vàRC7/RX/

DTdùngđểtruyềndata.TrongtrườnghợpnàytaphảisetbitTRISC<7:6>vàSPEN(RCSTA<7>)c0đểchophépgiaodiệnUSART

PIC16F877AđượctíchhợpsẵnbộtạotốcđộbaudBRG(BaudRateGenetator)8bitdùngchogiaodiệnUSART.BRGthựcchấtlàmộtbộđếmcóthểđượcsửdụngchocảhaidạngđồngbộvàbấtđồngbộvàđượcđiềukhiểnbởithanhghiPSBRG.Ởdạngbấtđồngbộ,BRGcònđượcđiềukhiểnbởibitBRGH(TXSTA<2>).ỞdạngđồngbộtácđộngcủabitBRGHđượcbỏqua.TốcđộbauddoBRGtạorađượctínhtheocôngthứcsau:

TrongđóXlàgiátrịcủathanhghiRSBRG(Xlàsốnguyênvà0<X<255)

Trang 35

TXSTA(địachỉ98h):chọnchếđộđòngbộhaybấtđồngbộ(bitSYNC)vàchọnmứctốcđộbaud(bitBRGH)

2.12.1.1.1TRUYỀNDỮLIỆUQUACHUẨNGIAOTIẾPUSARTBẤTĐỒNGBỘ

ThànhphầnquantrọngnhấtcủakhốitruyềndữliệulàthanhghidịchdữliệuTSR(TransmitShiftRegister).ThanhghiTSRsẽlấydữliệutừthanhghiđệmdùngchoquátrìnhtruyềndữliệuTXREG.DữliệucầntruyềnphảiđựơcđưatrướcvàothanhghiTXREG.NgaysaukhibitStopcủadữliệucầntruyềntrướcđóđượctruyềnxong,dữliệutừthanhghiTXREGsẽđượcđưavàothanhghiTSR,thanhghiTXREGbịrỗng,ngắtxảyravàcờhiệuTXIF(PIR1<4>)đượcset.NgắtnàyđượcđiềukhiểnbởibitTXIE(PIE1<4>).CờhiệuTXIFvẫnđượcsetbấtchấptrạngtháicủabitTXIEhaytácđộngcủachươngtrình(khôngthểxóaTXIFbằngchươngtrình)màchỉresetvề0khicódữliệumớiđượcđưavàothanhhghiTXREG

Hình2.17SơđồkhốicủakhốitruyềndữliệuUSART

Trang 36

KhốitruyềndữliệuđượcchophéphoạtđộngkhibitTXEN(TXSTA<5>)đượcset.QuátrìnhtruyềndữliệuchỉthựcsựbắtđầukhiđãcódữliệutrongthanhghiTXREGvàxungtruyềnbaudđượctạora.Khikhốitruyềndữliệuđượckhởiđộnglầnđầutiên,thanhghiTSRrỗng.Tạithờiđiểmđó,dữliệuđưavàothanhghiTXREGngaylậptứcđượcloadvàothanhghiTSRvàthanhghiTXREGbịrỗng.Lúcnàytacóthểhìnhthànhmộtchuỗidữliệuliêntụcchoquátrìnhtruyềndữliệu.TrongquátrìnhtruyềndữliệunếubitTXENbịresetvề0,quátrìnhtruyềnkếtthúc,khốitruyềndữliệuđượcresetvàpinRC6/TX/CKchuyểnđếntrạngtháihigh-impedance

Trongtrườnghợpdữliệucầntruyềnlà9bit,bitTX9(TXSTA<6>)đượcsetvàbitdữliệuthứ

9sẽđượclưutrongbitTX9D(TXSTA<0>).Nênghibitdữliệuthứ9vàotrước,vìkhighi8bitdữliệuvàothanhghiTXREGtrướccóthểxảyratrườnghợpnộidungthanhghiTXREGsẽđượcloadvàothanhghiTSGtrước,nhưvậydữliệutruyềnđisẽbịsaikhácsovớiyêucầu

Tómlại,đểtruyềndữliệutheogiaodiệnUSARTbấtđồngbộ,tacầnthựchiệntuầntựcácbướcsau:

1.TạoxungtruyềnbaudbằngcáchđưacácgiátrịcầnthiếtvàothanhghiRSBRGvàbitđiềukhiểnmứctốcđộbaudBRGH

Trang 37

Hình2.18SơđồkhốicủakhốinhậndữliệuUSART

BitđiềukhiểnchophépkhốinhậndữliệulàbitRCEN(RCSTA<4>).ThànhphầnquantrọngnhấtcủakhốinhậndữliệulàthsnhghinhậndữliệuRSR(ReceiveShiftRegister).SaukhinhậndiệnbitStopcủadữliệutruyềntới,dữliệunhậnđượctrongthanhghiRSRsẽđượcđưavàothanhghiRCGER,sauđócờhiệuRCIF(PIR1<5>)sẽđượcsetvàngắtnhậnđượckíchhoạt.NgắtnàyđượcđiềukhiểnbởibitRCIE(PIE1<5>).BitcờhiệuRCIFlàbitchỉđọcvàkhôngthểđượctácđộngbởichươngtrình.RCIFchỉresetvề0khidữliệunhậnvàoởthanhghiRCREGđãđượcđọcvàkhiđóthanhghiRCREGrỗng.ThanhghiRCREGlàthanhghi

Trang 38

cóbộđệmkép(double-bufferedregister)vàhoạtđộngtheocơchếFIFO(FirstInFirstOut)chophépnhận2bytevàbytethứ3tiếptụcđượcđưavàothanhghiRSR.NếusaukhinhậnđượcbitStopcủabytedữliệuthứ3màthanhghiRCREGvẫncònđầy,cờhiệubáotràndữliệu(OverrunErrorbit)OERR(RCSTA<1>)sẽđượcset,dữliệutrongthanhghiRSRsẽbịmấtđivàquátrìnhđưadữliệutừthanhghiRSRvàothanhghiRCREGsẽbịgiánđoạn.TrongtrườnghợpnàycầnlấyhếtdữliệuởthanhghiRSREGvàotrướckhitiếptụcnhậnbytedữliệutiếptheo.BitOERRphảiđượcxóabằngphầnmềmvàthựchiệnbằngcáchclearbitRCENrồisetlại.BitFERR(RCSTA<2>)sẽđượcsetkhipháthiệnbitStopdủadữliệuđượcnhậnvào.Bitdữliệuthứ9sẽđượcđưavàobitRX9D(RCSTA<0>).KhiđọcdữliệutừthanhghiRCREG,haibitFERRvàRX9Dsẽnhậncácgiátrịmới.DođócầnđọcdữliệutừthanhghiRCSTAtrướckhiđọcdữliệutừthanhghiRCREGđểtránhbịmấtdữliệu

ThanhghiTXSTA(địachỉ98h):chứacácbitđiềukhiểnSYNCvàBRGH.Thanhghi

SPBRG(địachỉ99h):điềukhiểntốcđộbaud

Chitiếtvềcácthanhghisẽđượctrìnhbàycụthểởphụlục2

Trang 39

GiaodiệnUSARTđồngbộđượckíchhoạtbằngcáchsetbitSYNC.CổnggiaotiếpnốitiếpvẫnlàhaichânRC7/RX/DT,RC6/TX/

CKvàđượcchophépbằngcáchsetbitSPEN.USARTchophéphaichếđộtruyềnnhậndữliệulàMastermodevàSlavemode.MastermodeđượckíchhoạtbằngcáchsetbitCSRC(TXSTA<7>),SlavemodeđượckíchhoạtbằngcáchclearbitCSRC.ĐiểmkhácbiệtduynhấtgiữahaichếđộnàylàMastermodesẽlấyxungclockđồngbộtừbộtaoxungbaudBRGcònSlavemodelấyxungclockđồngbộtừbênngoàiquachânRC6/TX/CK.ĐiềunàychophépSlavemodehoạtđộngngaycảkhiviđiềukhiểnđangởchếđộsleep

2.12.1.2.1TRUYỀNDỮLIỆUQUACHUẨNGIAOTIẾPUSARTĐỒNGBỘMASTERMODE

TươngtựnhưgiaodiệnUSARTbâtđồngbộ,thànhphầnquantrọngnhấtcủahốitruyềndữliệulàthanhghidịchTSR(TransmitShiftRegister).ThanhghinàychỉđượcđiềukhiểnbởiCPU.DữliệuđưavàothanhghiTSRđượcchứatrongthanhghiTXREG.CờhiệucủakhốitruyềndữliệulàbitTXIF(chỉthịtrangtháithanhghiTXREG),cờhiệunàyđượcgắnvớimộtngắtvàbitđiềukhiểnngắtnàylàTXIE.CờhiệuchỉthịtrạngtháithanhghiTSRlàbitTRMT.BitTXENchophéphaykhôngchophéptruyềndữliệu

CácbướccầntiếnhànhkhitruyềndữliệuquagiaodiệnUSARTđồngbộMastermode:

1.TạoxungtruyềnbaudbằngcáchđưacácgiátrịcầnthiếtvàothanhghiRSBRGvàbitđiềukhiểnmứctốcđộbaudBRGH

Trang 40

ThanhghiPIR1(địachỉ0Ch):chứacờhiệuRCIE.

Ngày đăng: 21/06/2014, 00:03

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Vi điều khiển PIC16F877A/PIC16F874A và các  dạng sơ đồ chân - tổng quan về vi điều khiển
Hình 2.1 Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân (Trang 11)
Hình 2.2 Sơ đồ khối  vi điều khiển PIC16F877A. - tổng quan về vi điều khiển
Hình 2.2 Sơ đồ khối vi điều khiển PIC16F877A (Trang 13)
Hình 2.7 Sơ đồ khối  Timer2. - tổng quan về vi điều khiển
Hình 2.7 Sơ đồ khối Timer2 (Trang 23)
Hình 2.8 Sơ đồ khối  bộ chuyển   đổi ADC. - tổng quan về vi điều khiển
Hình 2.8 Sơ đồ khối bộ chuyển đổi ADC (Trang 25)
Hình 2.10 Nguyên lí hoạt  động  của một bộ so sánh đơn giản. - tổng quan về vi điều khiển
Hình 2.10 Nguyên lí hoạt động của một bộ so sánh đơn giản (Trang 27)
Hình 2.11 Các chế độ hoạt  động  của bộ comparator. - tổng quan về vi điều khiển
Hình 2.11 Các chế độ hoạt động của bộ comparator (Trang 28)
Hình 2.12 Sơ đồ khối  bộ tạo  điện  áp so sánh. - tổng quan về vi điều khiển
Hình 2.12 Sơ đồ khối bộ tạo điện áp so sánh (Trang 29)
Hình 2.15 Sơ đồ khối  CCP (PWM mode). - tổng quan về vi điều khiển
Hình 2.15 Sơ đồ khối CCP (PWM mode) (Trang 33)
Hình 2.18 Sơ đồ khối  của khối  nhận  dữ liệu  USART. - tổng quan về vi điều khiển
Hình 2.18 Sơ đồ khối của khối nhận dữ liệu USART (Trang 37)
Hình 2.19 Sơ đồ khối  MSSP (giao diện SPI) - tổng quan về vi điều khiển
Hình 2.19 Sơ đồ khối MSSP (giao diện SPI) (Trang 43)
Sơ đồ kết nối của chuẩn giao tiếp SPI như sau: - tổng quan về vi điều khiển
Sơ đồ k ết nối của chuẩn giao tiếp SPI như sau: (Trang 45)
Hình 2.22 Giản  đồ xung chuẩn giao tiếp SPI (Slave  mode). - tổng quan về vi điều khiển
Hình 2.22 Giản đồ xung chuẩn giao tiếp SPI (Slave mode) (Trang 47)
Hình 2.25 Giản  đồ xung của I2C Slave mode 10 bit  địa  chỉ trong quá trình nhận  dữ liệu  (bit SEN = 0). - tổng quan về vi điều khiển
Hình 2.25 Giản đồ xung của I2C Slave mode 10 bit địa chỉ trong quá trình nhận dữ liệu (bit SEN = 0) (Trang 52)
Hình 2.27 Giản  đồ xung của I2C Slave mode 10 bit  địa  chỉ trong quá trình nhận  dữ liệu  (bit SEN = 1). - tổng quan về vi điều khiển
Hình 2.27 Giản đồ xung của I2C Slave mode 10 bit địa chỉ trong quá trình nhận dữ liệu (bit SEN = 1) (Trang 53)
Hình 2.31 Sơ đồ khối  MSSP (I2C Master  mode). - tổng quan về vi điều khiển
Hình 2.31 Sơ đồ khối MSSP (I2C Master mode) (Trang 57)
Hình 2.34 Giản  đồ xung I2C Master  mode trong quá trình tạo điều kiện Stop. - tổng quan về vi điều khiển
Hình 2.34 Giản đồ xung I2C Master mode trong quá trình tạo điều kiện Stop (Trang 59)
Hình 2.35 Giản  đồ xung I2C Master  mode trong quá trình tạo điều kiện Start liên tục. - tổng quan về vi điều khiển
Hình 2.35 Giản đồ xung I2C Master mode trong quá trình tạo điều kiện Start liên tục (Trang 60)
Hình 2.36 Giản  đồ xung I2C Master  mode trong quá trình truyền dữ liệu. - tổng quan về vi điều khiển
Hình 2.36 Giản đồ xung I2C Master mode trong quá trình truyền dữ liệu (Trang 61)
Hình 2.37 Giản  đồ xung I2C Master  mode trong quá trình nhận  dữ liệu. - tổng quan về vi điều khiển
Hình 2.37 Giản đồ xung I2C Master mode trong quá trình nhận dữ liệu (Trang 62)
Hình 2.38 Sơ đồ khối  của PORTD và PORTE khi hoạt động ở  chế  độ PSP Slave - tổng quan về vi điều khiển
Hình 2.38 Sơ đồ khối của PORTD và PORTE khi hoạt động ở chế độ PSP Slave (Trang 63)
Hình 2.42  Sơ đồ logic của  tất cả các ngắt trong vi điều khiển PIC16F877A. - tổng quan về vi điều khiển
Hình 2.42 Sơ đồ logic của tất cả các ngắt trong vi điều khiển PIC16F877A (Trang 69)
Hình 3.1 Cơ chế  mã hóa lệnh  của PIC16Fxxx. - tổng quan về vi điều khiển
Hình 3.1 Cơ chế mã hóa lệnh của PIC16Fxxx (Trang 74)
Hình 3.2 Cấu trúc một chương trình Asembly viết cho vi điều khiển PIC. - tổng quan về vi điều khiển
Hình 3.2 Cấu trúc một chương trình Asembly viết cho vi điều khiển PIC (Trang 80)
Hình 4.2 Mạch test chức năng  I/O cho ứng dụng  3. - tổng quan về vi điều khiển
Hình 4.2 Mạch test chức năng I/O cho ứng dụng 3 (Trang 96)
Hình 4.4 Sơ đồ khối  IC 74HC595 - tổng quan về vi điều khiển
Hình 4.4 Sơ đồ khối IC 74HC595 (Trang 109)
Sơ đồ khối  RA5 - tổng quan về vi điều khiển
Sơ đồ kh ối RA5 (Trang 153)
Sơ đồ khối  RA3:RA0 Sơ đồ khối  RA4. - tổng quan về vi điều khiển
Sơ đồ kh ối RA3:RA0 Sơ đồ khối RA4 (Trang 153)
Sơ đồ khối  RB3:RB0  Sơ đồ khối  RB7:RB4 - tổng quan về vi điều khiển
Sơ đồ kh ối RB3:RB0 Sơ đồ khối RB7:RB4 (Trang 154)
Sơ đồ khôi  RC7:RC5 và RC2:RC0  Sơ đồ khối  RC4:RC3 - tổng quan về vi điều khiển
Sơ đồ kh ôi RC7:RC5 và RC2:RC0 Sơ đồ khối RC4:RC3 (Trang 154)
Sơ đồ khối  RD7:RD0  Sơ đồ khối  RE2:RE0 - tổng quan về vi điều khiển
Sơ đồ kh ối RD7:RD0 Sơ đồ khối RE2:RE0 (Trang 155)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w