Bộnhớ dữ liệu EEPROM (Data EEPROM Memory)
1.2.5. Bộ định thời (Timer)
Timer0Module
Modlenàyđượccoicú nhữngđặcđiểmsau:
Cúthểlựa chon phầnmềm như một bộđịnhthời hoặcbộ đếm cú thể
là 8bit
Cúkhảnăngnhưthanhghiđọcviết
Riờngloại8bitcú thẻcoilàbộđếm lậptrỡnhbằngphầnmềm
Khả nănglựachonxungnguồn(cảbờntrongvàbờnngồi)
PhạmVănCường -HồngVănQũn.Lớp ĐKTĐ1-K49
33
ViđiềukhiểnPic iểnPic
Lựchongiớihạnchoxungtừbờnngồi
Ngắt-mở -tràn
ĐặctrưngchoTimer0làthanhghiT0CON
bit7(TMR0ON):bitđiềukhiểnđúngmỏTimer0
−Giỏtrị1:chophộphoạtđộng −Giỏtrị0:dừnghoạtđộng
bit6(T08BIT):bitđiềukhiểnTimer08-Bit/16-Bit −Giỏtrị1:Timer0cấuhỡnhnhư 8-bittimer/counter −Giỏtrị0:Timer0cấuhỡnhnhư 16-bittimer/counter bit5(T0CS):bitlựachọnnguồnxungchoTimer0
−Giỏtrị1:truyềntrờnchõnT0CKI
−Giỏtrị0:chukỳxunglệnhbờntrong(CLKO) bit4(T0SE):bitlựachongiớihạnnguồnchoTimer0
−Giỏtrị1:truyềntrờnchõnT0CKIthayđổitừcao-thấp. −Giỏtrị0:truyềntrờnchõnT0CKIthay đổitừthấp-cao. bit3(PSA):bitthiếtlậpbộđếm gộptrướcchoTimer0
−Giỏ trị1:khụng thiếtlậpbộđệm gộp trướcTimer0. Xungdầu vào Timer0
đượcchuyển hướngbởibộđệmgộptrước..
−Giỏ trị 0: thiết lập bộ đệm gộp trước Timer0. Xung dầu vào Ti
mer0 trở
thành dầurabộđệmgộptrước..
bit2-0(T0PS<2:0>):bitlựachonbộđệmgộptrướcchoTimer0 111=1:256giỏtrịbộđệmgộptrước 110=1:128giỏtrịbộđệmgộptrước 101=1:64 giỏtrịbộđệmgộptrước 100=1:32 giỏtrịbộđệmgộptrước
011=1:16 giỏtrịbộđệmgộptrước 010=1:8 giỏtrịbộđệmgộptrước 001=1:4 giỏtrịbộđệmgộptrước 000=1:2 giỏtrịbộđệmgộptrước
Timer1module
Đặctrưngcơbảncủabộđịnhthờinàygồm:
Khả năng lựa chon bằng phần mềm giống như bộ định thời 16bit
hoặc bộ
dếm.
Khảnăngnhưthanhghiđọcviếtđược8bit(TMR1H,TMR1L).
KhảnănglựachonnguồnxungbờntrongquabọdaođộngOscillator. Ngắt-Tràn
ResetnhờbộtạosựkiệndặcbiệtCCP
PhạmVănCường-Hồng VănQũn.Lớp ĐKTĐ1-K49
34
ViđiềukhiểnPic iểnPic
Cờbỏotrạngthỏixungthiếtbị
ThanhghiT1CONsửdụngđiềukhiểnTimer1
bit7(RD16):bitchophộplựachọncỏcchếđộđọc/viết16-Bit
−Giỏ tri 1:cho phộpthanh ghiđọc/viếtcủa Timer1 tronghoạt đ
ộng như
mộtsố16bit.
−Giỏ tri 0:cho phộpthanh ghiđọc/viếtcủa Timer1 tronghoạtđ
ộng như
mộtsố8bit.
bit6(T1RUN):BittrạngthỏihệthốngxungTimer1
−Giỏtri1:xungthiếtbịlàdẫnxuấttừbộdaođộngTimer1. −Giỏtri0:xungthiếtbịlàdẫnxuấttừmootjnguồnkhỏc.
bit 5-4 (T1CKPS<1:0>): bit lựa chọn xung đầu vào bộ đếm gộp trư
ớc cho
Timer1
10=1:4Giỏtrịbộđếmgộptrước 01=1:2Giỏtrịbộđếmgộptrước 00=1:1Giỏtrịbộđếmgộptrước
bit3(T1OSCEN):bitchophộpbộdaođộngTimer1
−Giỏtri1:Chophộp
− Giỏ tri0:DừngbộdaođộngTimer1.
bit2(T1SYNC):bitlựachọnxungđồngbộđầuvàobờnngồichoTime r1
KhiTMR1CS=1:
−Giỏtri1:khụngphảixungđồngbộđầuvàobờnngồi −Giỏtri0:xungđồngbộđầuvàobờnngồi
Khi TMR1CS = 0: bit này khụng sử dụng và lỳc này Timer1
sử dụng
nguồnxungtừbờntrong
bit1(TMR1CS):bitlựachọnnguồnxungchoTimer1
−Giỏtri1:nguồnxungtừbờnngồiquachõnRC0/T1OSO/T13C
KI
−Giỏtri0:nguồnxungtừbờntrong(Fosc/4)
bit0(TMR1ON):bithoạtđộngTimer1
−Giỏtri1:Chophộp −Giỏtri0:DừngTimer1.
Timer1cúthểhoạtđộngởmộttrong3chếđộ •Bộđịnhthời(Timer)
•Bộđếmđồngbộ(SynchronousCounter)
•Bộđếmkhụngđồngbộ(AsynchronousCounter)
ViệcsửdụngTimer1phụthuộcvàoviệc sửdụngthanhthạothanhghiT 1CON.
PhạmVănCường-Hồng VănQũn.Lớp ĐKTĐ1-K49
35
ViđiềukhiểnPic iểnPic
Timer2Module
ĐặcđiểmnổibậtTimer2gồm:
Bộđịnhthời8bit(TMR2)vàthanhghighiPeriod(PR2) Khảnăngđọcvàviếtđược.
Lậptrỡnhphầnmềm
NgắttrờnTMR2nhờPR2
CàiđặtkhốixungchomodulMSSP
bit7(Unimplemented):manggiỏtrị‘0’
bit6-3(T2OUTPS<3:0>):bitlựachọnđầuraTimer2saukhidừng. 0000=1:1saukhidừng
0001=1:2saukhidừng •
1111=1:16saukhidừng
bit2(TMR2ON):BithoạtdộngTimer2
−Giỏtri1:Chophộp −Giỏtri0:DừngTimer1.
bit1-0(T2CKPS<1:0>):bitchọnxungbộđếmgộptrướcchoTimer2 00=bộđếm gộptrước1
01=bộđếm gộptrước4
1x=bộđếm gộptrước16
Timer3Module
ĐặcđiểmTimer3baogồm:
Lựachonđượchoạt độngbằngphànmềmgiốngnhưbộđếm thờigian
16bit.
Khả năngđọcvàviếtđượcgiốngthanhghi8bit(TMR3H-TMR3L).
Lựachọncỏcnguồnxungcảbờntrongvàngồinhờbộdaođộng
Ngắt-Tràn
ModulResettrờnCCP(đặcbiệtvớikếtquảTrigger)
Timer3điềuchỉnhnhờthanhghiT3CON
bit7(RD16):(RD16):bitchophộplựachọncỏcchếđộđọc/viết16-Bit −Giỏ tri 1:cho phộpthanh ghiđọc/viếtcủa Timer1 tronghoạt đ
ộng như
mộtsố16bit.
PhạmVănCường-Hồng VănQũn.Lớp ĐKTĐ1-K49
36
ViđiềukhiểnPic iểnPic
−Giỏ tri 0:cho phộpthanh ghiđọc/viết củaTimer1 trong hoạtđ
mộtsố8bit.
bit6,3(T3CCP<2:1>):bitchophộpTimer3và Timer1liờnkếtCCPxmo dules
−Giỏ tri 1x: Timer3 là cấu hỡnhnguồn xung capture/compare c
hoCCP
modules
−Giỏ tri 01:Timer3 là cấu hỡnhnguồnxung capture/compare ch
oCCP2
modules, Timer1 là cấu hỡnhnguồn xung capture/c
ompare
choCCP1modules
−Giỏ tri 00: Timer1 là cấu hỡnhnguồn xung capture/compare c
hoCCP
modules
bit 5-4 ((T3CKPS<1:0>): bit lựa chọn xung đầu vào bộ đếm gộp trư
ớc cho Timer3 11=1:8Giỏtrịbộđếmgộptrước 10=1:4Giỏtrịbộđếmgộptrước 01=1:2Giỏtrịbộđếmgộptrước 00 = 1:1Giỏtrịbộđếm gộptrước
bit2(T3SYNC):bitđiều khiểnxungđồngbộđầuvàobờnngồichoTi mer3
KhiTMR3CS=1:
−Giỏtri1:khụngphảixungđồngbộđầuvàobờnngồi −Giỏtri0:xungđồngbộđầuvàobờnngồi
Khi TMR3CS = 0: bit này khụng sử dụng và lỳc này Timer3
sử dụng
nguồnxungtừbờntrong
bit1(TMR3CS):bitlựachọnnguồnxungchoTimer3
−Giỏ tri 1: nguồn xung từ bờn ngồi từ bbộ dao động Time
r1 hoặc
T13CKI
−Giỏtri0:nguồnxungtừbờntrong(Fosc/4)
bit0(TMR1ON):bithoạtđộngTimer1
−Giỏtri1:Chophộp −Giỏtri0:DừngTimer1.