CCP CAPTURE/COMPARE/PWM .... Giao ti p song song PSP Parallel slave port .... Các phép toán trong PIC C COMPILER ..... Có các b so sánh đi n áp Voltage Comparators.. Có các kh i C
Trang 1(AUTOMATIC AUTO PARKING)
SVTH : PH M HU NH MINH QUÂN MSSV : 20702028
TP H Chí Minh, tháng 02 n m 2012
Trang 2ÁN T T NGHI P K S CÔNG NGHI P GVHD: ThS PHAN V N HI P
L I M U
Ngày x a, xe máy đ c xem là tài s n l n nh t và quan tr ng nh t c a nhi u gia đình Vi t Nam, còn xe h i ch là món hàng xa x Nh ng ngày nay v i s phát tri n chóng m t c a n n kinh t và m c s ng ngày càng nâng cao thì ôtô không còn là món hàng không th mua đ c
Vi t Nam gia nh p WTO, th tr ng m c a, hàng lo t nhà đ u t n c ngoài rót
nh ng kho n đ u t kh ng l vào Vi t Nam t t c m i l nh v c, m ra c h i làm
vi c cho nhi u ng i Có th nói, ng i Vi t Nam ngày nay giàu h n ngày x a r t nhi u và nhu c u s d ng ngày càng cao c p h n Ôtô là m t trong nh ng s n ph m
đ y ti m n ng mang l i l i nhu n cao cho ng i đ u t , c ng nh nh ng ngành ngh có liên quan
V y làm th nào đ có th qu n lý m t s l ng l n ôtô nh th m t cách h p lý, nhanh chóng mà l i ít t n ngu n nhân l c nh t? ó qu là 1 câu h i không d tr l i chút nào Chính vì đi u này nên em quy t đ nh nghiên c u và thi t k Mô hình bãi
gi xe t đ ng hóa T đó ta có th đ a vào ng d ng th c ti n đ gi i quy t v n
đ đ c đ t ra
thay th cho các t đi u khi n l n, c ng k nh và khó thao tác, em đã s d ng Vi
đi u khi n PIC 16F877A k t h p v i nh ng IC ch c n ng thích h p khác, ta có th
qu n lý h n 40 ch đ xe ch v i 1 m ch đi u khi n nh g n
Trang 3ÁN T T NGHI P K S CÔNG NGHI P GVHD: ThS PHAN V N HI P
L I C M N
Tr c tiên em xin g i l i cám n chân thành sâu s c t i các th y cô giáo trong
tr ng i h c M TP H Chí Minh nói chung và các th y cô giáo trong khoa Xây
D ng và i n, b môn i n – i n t nói riêng đã t n tình gi ng d y, truy n đ t cho em nh ng ki n th c, kinh nghi m quý báu trong su t th i gian ng i trên gh nhà tr ng
c bi t em xin g i l i c m n đ n th y ThS Phan V n Hi p, th y đã t n tình giúp
đ , tr c ti p ch b o, h ng d n em trong su t quá trình làm đ án t t nghi p Trong th i gian làm vi c v i th y, em không ng ng ti p thu thêm nhi u ki n th c
b ích mà còn h c t p đ c tinh th n làm vi c, thái đ nghiên c u khoa h c nghiêm túc, hi u qu , đây là nh ng đi u r t c n thi t cho em trong quá trình h c t p và công tác sau này
Sau cùng em xin g i l i c m n chân thành đ n gia đình, b n bè đã đ ng viên, đóng góp nh ng ý ki n có giá tr c ng nh s nhi t tình h tr c a m i ng i
Xin chân thành c m n!
Trang 4
ÁN T T NGHI P K S CÔNG NGHI P GVHD: ThS PHAN V N HI P
M C L C
1.1 Khái ni m v Vi đi u khi n (V K) 1
1.1.1 Khái ni m 1
1.1.2 C u trúc t ng quan c a V K 1
1.2 PIC là gì? 2
1.2.1 Ki n trúc PIC 2
1.2.2 C ch x lý Pipelining 4
1.2.3 M t s đ c tính chung c a PIC 5
1.2.4 Các dòng PIC 6
CH NG 2 : VI I U KHI N PIC 16F877A 2.1 ôi nét v V K PIC 16F877A 7
2.2 T ch c b nh trong V K PIC 16F877A 9
2.2.1 Ki n trúc b nh c a PIC 9
2.2.2 B nh ch ng trình c a PIC 9
2.2.3 B nh d li u c a PIC 11
2.2.3.1 Thanh ghi m c đích chung GPR 12
2.2.3.2 Thanh ghi ch a n ng đ c bi t SFR 12
2.2.4 Vùng nh STACK 14
2.3 Các Port xu t nh p ( I/O ) c a V K PIC 16F877A 14
2.3.1 PORT A 15
2.3.2 PORT B 16
2.3.3 PORT C 17
2.3.4 PORT D 18
2.3.5 PORT E 19
2.4 B đ nh th i TIMER 20
2.4.1 TIMER 0 20
2.4.2 TIMER 1 21
2.4.3 TIMER 2 23
2.5 ADC – B chuy n đ i tín hi u t ng t sang tín hi u s 24
2.6 COMPARATOR – B so sánh 26
Trang 5ÁN T T NGHI P K S CÔNG NGHI P GVHD: ThS PHAN V N HI P
2.7 CCP (CAPTURE/COMPARE/PWM) 27
2.8 Giao ti p n i ti p 29
2.8.1 USART 29
2.8.2 MSSP 30
2.9 Giao ti p song song PSP (Parallel slave port) 30
CH NG 3 : NGÔN NG L P TRÌNH CHO PIC 3.1 Ngôn ng l p trình PIC C COMPILER 32
3.1.1 Gi i thi u v các ngôn ng l p trình 32
3.1.2 PIC C COMPILER 32
3.2 Các t p l nh và các hàm trong PIC C COMPILER 33
3.2.1 Các l nh ti n x lý 33
3.2.2 Các ki u d li u 34
3.2.3 nh ngh a các hàm 35
3.2.4 Các phát bi u đi u ki n và vòng l p 35
3.2.5 Các phép toán trong PIC C COMPILER 38
3.2.6 Các hàm th vi n c a PIC C COMPILER 38
3.2.7 Các hàm x lý chu i chu n 41
3.2.8 Nhóm l nh trên Bit, Byte 44
3.2.9 Nhóm hàm qu n lý truy n thông I2C 47
3.2.10 Nhóm hàm qu n lý PSP 48
3.2.11 Nhóm hàm ki m tra MCU 48
3.2.12 Nhóm hàm qu n lý ng t 59
CH NG 4 : THI T K BÃI GI XE Ô-TÔ T NG HÓA (AUTOMATIC AUTO PARKING) 4.1 Gi i thi u linh ki n liên quan 51
4.1.1 IC n áp LM2576 51
4.1.2 IC đ m dòng 74HC245 51
4.1.3 IC 74HC139 52
4.1.4 IC 4052 52
4.1.5 Led 7 seg 5461BH 53
4.1.6 TIP41C 53
4.1.7 Led thu phát h ng ngo i 54
Trang 6ÁN T T NGHI P K S CÔNG NGHI P GVHD: ThS PHAN V N HI P
4.2 S đ kh i ch a n ng 54
4.3 Thi t k chi ti t ph n c ng 55
4.3.1 Kh i ngu n 55
4.3.2 Kh i đi u khi n 57
4.3.3 Kh i c m bi n ra – vào 58
4.3.4 Kh i rào ch n ra – vào 59
4.3.5 Kh i hi n th 60
4.3.6 Kh i c m bi n v trí 62
4.3.7 Kh i đèn h ng d n v trí 62
4.3.8 S đ k t n i t ng 63
4.4 Thi t k mô hình – Ph n c ng 64
4.4.1 Thi t k mô hình 64
4.4.2 Thi t k ph n c ng 66
4.4.2.1 Kh i ngu n 66
4.4.2.2 Kh i hi n th 67
4.4.2.3 Kh i đi u khi n 67
4.4.2.4 Kh i đèn h ng d n v trí 69
4.4.2.5 M ch t ng h p 69
4.5 L u đ gi i thu t 70
4.6 M r ng 71
PH L C 74
DANH M C TÀI LI U THAM KH O 91
Trang 7CH NG 1 : T NG QUAN V VI I U KHI N PIC
Khái ni m v Vi đi u khi n (V K)
Khái ni m
N u s d ng b vi x lý đ qu n lý 1 h th ng có quy mô v a và nh thì không thích h p, nên cân nh c l i Vì:
B vi x lý đòi h i các kh i m ch đi n giao ti p ph c t p
Chi m nhi u không gian, m ch in ph c t p
òi h i ng i thi t k ph i hi u bi t tinh t ng v các thành ph n vi
x lý, b nh , các thi t b ngo i vi m i có th k t h p chúng thành 1
kh i th ng nh t
Giá thành s n ph m r t cao
Chính vì th nên các nhà ch t o đã tích h p m t ít b nh và m t s
m ch giao ti p ngo i vi cùng v i vi x lý vào m t IC duy nh t đ c g i
là Microcontroller – Vi đi u khi n
V K là m t h máy tính hoàn ch nh v i CPU, b nh , các m ch giao
ti p, các b đ nh th i và m ch đi u khi n ng t đ c tích h p bên trong nên nó có th đ c l p trình 1 cách d dàng
C u trúc t ng quan c a V K
CPU: Là trái tim c a h th ng Là n i qu n lý t t c các ho t đ ng c a
V K Bên trong CPU g m:
ALU là b ph n thao tác trên các d li u
th c hi n
Thanh ghi l nh IR, l u gi opcode c a l nh đ c th c thi
Thanh ghi PC, l u gi đ a ch c a l nh k ti p c n th c thi
M t t p các thanh ghi dùng đ l u thông tin t m th i
ROM: ROM là b nh dùng đ l u gi ch ng trình ROM còn dùng
đ ch a s li u các b ng, các tham s h th ng, các s li u c đ nh c a
Trang 8h th ng Trong quá trình ho t đ ng n i dung ROM là c đ nh, không
RAM: RAM là b nh d li u B nh RAM dùng làm môi tr ng x
lý thông tin, l u tr các k t qu trung gian và k t qu cu i cùng c a các phép toán, x lý thông tin Nó c ng dùng đ t ch c các vùng đ m d
li u, trong các thao tác thu phát, chuy n đ i d li u
BUS: BUS là các đ ng d n dùng đ di chuy n d li u Bao g m: bus
đ a ch , bus d li u và bus đi u khi n
“b t th ng”
ADC: B ph n chuy n tín hi u analog sang tín hi u digital Các tín hi u
bên ngoài đi vào V K th ng d ng analog ADC s chuy n tín hi u này v d ng tín hi u digital mà V K có th hi u đ c
1.2 PIC là gì?
PIC là m t h viđi u khi n RISC đ c s n xu t b i công ty Microchip
Microelectronics Division thu c General Instrument
PIC là vi t t t c a "Programmable Intelligent Computer" - máy tính
đ t cho dòng s n ph m đ u tiên là PIC1650 Th i đi m đó PIC1650 đ c
Controller" – b đi u khi n giao ti p ngo i vi
Trang 9Ki n trúc PIC
C u trúc ph n c ng c a m t vi đi u khi n đ c thi t k theo hai d ng
ki n trúc: ki n trúc Von Neuman và ki n trúc Havard
khác bi t gi a ki n trúc Havard và ki n trúc Von-Neuman là c u trúc b
nh d li u và b nh ch ng trình
Trang 10nh d li u, bus ch ng trình và bus d li u, CPU có th cùng m t lúc truy xu t c b nh ch ng trình và b nh d li u, giúp t ng t c đ x
lý c a vi đi u khi n lên g p đôi ng th i c u trúc l nh không còn ph thu c vào c u trúc d li u n a mà có th linh đ ng đi u ch nh tùy theo
t p l nh c a vi đi u khi n thu c c u trúc Havard s ít l nh h n, ng n
bit nh t đ nh
Trang 11đi u khi n RISC (Reduced Instruction Set Computer) hay vi đi u khi n
có t p l nh rút g n Vi đi u khi n đ c thi t k theo ki n trúc
Computer) hay vi đi u khi n có t p l nh ph c t p vì đ dài l nh luôn là
b i s c a 1 byte (do d li u đ c t ch c thành t ng byte)
C ch x lý Pipelining
ây chính là c ch x lý l nh c a các vi đi u khi n PIC M t chu k
oscillator có t n s 4 MHZ, thì xung l nh s có t n s 1 MHz (chu k
l nh s là 1 us) Gi s ta có m t đo n ch ng trình nh sau:
5 instruction @ address SUB_1
đây ta ch bàn đ n qui trình vi đi u khi n x lý đo n ch ng trình trên thông qua t ng chu k l nh Quá trình trên s đ c th c thi nh sau:
B ng 1.2.2: C ch Pipelining
Trang 12 TCY0: đ c l nh 1
TCY1: th c thi l nh 1, đ c l nh 2
TCY2: th c thi l nh 2, đ c l nh 3
TCY3: th c thi l nh 3, đ c l nh 4
TCY4: vì l nh 4 không ph i là l nh s đ c th c thi theo qui trình
th c thi c a ch ng trình (l nh ti p theo đ c th c thi ph i là l nh
đ u tiên t i label SUB_1) nên chu k th c thi l nh này ch đ c dùng đ đ c l nh đ u tiên t i label SUB_1 Nh v y có th xem lênh
3 c n 2 chu k xung clock đ th c thi
TCY5: th c thi l nh đ u tiên c a SUB_1 và đ c l nh ti p theo c a SUB_1
Thông th ng, đ th c thi m t l nh, ta c n m t chu k l nh đ g i l nh
đó, và m t chu k xung clock n a đ gi i mã và th c thi l nh V i c
thi trong m t chu k l nh i v i các l nh mà quá trình th c thi nó làm thay đ i giá tr thanh ghi PC (Program Counter) c n hai chu k l nh đ
th c thi vì ph i th c hi n vi c g i l nh đ a ch thanh ghi PC ch t i Sau khi đã xác đ nh đúng v trí l nh trong thanh ghi PC, m i l nh ch
c n m t chu k l nh đ th c thi xong V i c ch này, t c đ x lý c a PIC đ c t ng lên g p đôi
Trang 131.2.3 M t s đ c tính chung c a PIC
Hi n nay có khá nhi u dòng PIC và có r t nhi u khác bi t v ph n
Có th ho t đ ng t t trong kho ng đi n áp t 2V – 5,5V
Là CPU 8/16 bit, xây d ng theo ki n trúc Harvard
Kbyte
Có các c ng xu t – nh p (I/O ports)
Có timer 8/16 bit
Có các chu n giao ti p n i ti p đ ng b /không đ ng b USART
Có các b chuy n đ i ADC 10/12 bit
Có các b so sánh đi n áp (Voltage Comparators)
Có các kh i Capture/Compare/PWM
Có h tr giao ti p LCD
Có MSSP Peripheral dùng cho các giao ti p I²C, SPI, và I²S
Có b nh n i EEPROM - có th ghi/xoá lên t i 1 tri u l n
PIC12xxxx: đ dài l nh 12 bit
PIC16xxxx: đ dài l nh 14 bit
PIC18xxxx: đ dài l nh 16 bit
C: PIC có b nh EPROM (ch có 16C84 là EEPROM)
h n)
Trang 14LF: PIC có b nh flash ho t đ ng đi n áp th p
LV: t ng t nh LF, đây là kí hi u c
có thêm ch A cu i là flash (ví d PIC16F877 là EEPROM, còn PIC16F877A là flash)
Ngoài ra còn có thêm m t dòng vi đi u khi n PIC m i là dsPIC
C n tham kh o tài li u “Select PIC guide” do nhà s n xu t Microchip
cung c p đ l a ch n m t vi đi u khi n PIC cho phù h p
Trang 15CH NG 2 : VI I U KHI N PIC 16F877A
ôi nét v V K PIC 16F877A
Trang 16Hình 2.1a: S đ chân c a V K PIC 16F877A
Trang 17Chân (1) có 2 ch c n ng:
: ngõ vào reset tích c c m c th p
Vpp: ngõ vào nh n đi n áp l p trình khi l p trình cho PIC
Chân VDD (11, 32) và VSS (12, 31): là các chân ngu n c a PIC
vào nh n xung clock t bên ngoài
clock
Các chân còn l i s đ c nêu c th trong ph n 2.4 Các port xu t nh p (I/O) c a V K PIC 16F877A.
ây là vi đi u khi n thu c h PIC16Fxxx v i t p l nh g m 35 l nh có đ
PORT I/O là 5 v i 33 pin I/O
Trang 18Hình 2.1b: C u trúc V K PIC 16F877A
V K PIC 16F877A g m nh ng kh i sau:
Kh i ALU – Arithmetic Logic Unit
Kh i b nh ch ng trình – Flash Program Memory (ghi xóa 100.000
Trang 19l n).
Kh i b nh d li u EEPROM – Data EPROM (ghi xóa 1.000.000
l n)
Kh i b nh file thanh ghi RAM – RAM file Register
Kh i gi i mã l nh vàđi u khi n – Instruction Decode Control
Kh i thanh ghi đ c bi t
Kh i b nh ng n x p
Kh i reset m ch khi có đi n, kh i đ nh th i reset m ch khi có đi n,
sát, kh i reset khi s t gi m ngu n, kh i g r i, kh i l p trình b nh
T ch c b nh trong V K PIC 16F877A
PIC16F877A có 3 kh i b nh tích h p bên trong:
B nh ch ng trình (Program memory) có dung l ng 8K
B nh d li u RAM có 368 ô nh byte cùng v i các thanh ghi
có ch c n ng đ c bi t SFR (Special Function Register)
B nh EEPROM có dung l ng 256 byte
Ki n trúc b nh c a PIC
Trang 21= 14 bit) đ c chia làm 4 trang b nh , m i trang 2K.
ch c a b nh ch ng trình Thanh ghi PC có đ dài 13 bit s qu n lý
Trang 22Trong các h vi đi u khi n khác thì
b nh ng n x p dùng chung v i b nh d li u, u đi m là c u trúc
đ n gi n, khuy t đi m là vi c dùng chung n u không bi t gi i h n s l n chi m l n nhau và làm m t d li u l u trong b nh ng n x p làm
ch ng trình th c thi sai
Trang 23Hình 2.2.2a: S đ b nh ch ng trình V K PIC 16F877A
M i ô nh c a b nh ch ng trình vi đi u khi n PIC có th l u tr d
li u nhi u bit bao g m c mã l nh và d li u Khi CPU đ c mã l nh đ
th c hi n thì CPU ch th c hi n 1 l n đ c c mã l nh và d li u
Hình 2.2.2b:T ch c b nh ch a c mã l nh và d li u.
Trang 24vì th PIC s có t cđ th c hi n ch ng trình nhanh h n.
B nh d li u c a PIC
n ng đ c bi t SFG (Special Function Register) n m các vùng đ a ch
th p và các thanh ghi m c đích chung GPR (General Purpose Register)
n m vùng đ a ch còn l i trong bank
ti n trong quá trình truy xu t và làm gi m b t l nh c a ch ng trình
Trang 25B ng
Trang 262.2.3: S đ b nh d li u V K PIC 16F877A
Thanh ghi m c đích chung GPR
Các thanh ghi này có th đ c truy xu t tr c ti p ho c gián ti p thông qua thanh ghi FSG (File Select Register) ây là các thanh ghi d li u
mà có th dùng các thanh ghi này đ ch a các bi n s , h ng s , k t
qu ho c các tham s ph c v cho ch ng trình
Thanh ghi ch a n ng đ c bi t SFR
Có th phân thanh ghi SFR làm hai l ai: thanh ghi SFR liên quan đ n
Trang 27các ch c n ng bên trong (CPU) và thanh ghi SRF dùng đ thi t l p và
đi u khi n các kh i ch c n ng bên ngoài (ADC, PWM, …) Ph n này
trong
Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi ch a k t qu
th c hi n phép toán c a kh i ALU
và ghi, đi u khi n ch c n ng pull-up c a các chân trong PORTB, xác
l p các tham s v xung tác đ ng, c nh tác đ ng c a ng t ngo i vi và
b đ m Timer0
và ghi, ch a các bit đi u khi n và các bit c hi u khi timer0 b tràn,
ng t ngo i vi RB0/INT và ng t interrput – on – change t i các chân
c a PORTB
Trang 28các kh i ch c n ng ngo i vi.
Thanh ghi PIR1 (0Ch): ch a c ng t c a các kh i ch c n ng ngo i
vi, các ng t này đ c cho phép b i các bit đi u khi n ch a trong thanh ghi PIE1
ch c n ng CCP2, SSP bus, ng t c a b so sánh và ng t ghi vào b nh EEPROM
Thanh ghi PIR2 (0Dh): ch a các c ng t c a các kh i ch c n ng
ngo i vi, các ng t này đ c cho phép b i các bit đi u khi n ch a trong thanh ghi PIE2
Trang 29
Thanh ghi PCON (8Eh): ch a các c hi u cho bi t tr ng thái các ch
đ reset c a vi đi u khi n
Vùng nh STACK
đ c th c hi n hay khi m t ng t x y ra làm ch ng trình b r nhánh, giá tr c a b đ m ch ng trình PC t đ ng đ c vi đi u khi n c t vào trong stack Khi m t trong các l nh RETURN, RETLW hat RETFIE
đ c th c thi, giá tr PC s t đ ng đ c l y ra t trong stack, vi đi u khi n s th c hi n ti p ch ng trình theo đúng qui trình đ nh tr c
B nh Stack trong vi đi u khi n PIC h 16F87xA có kh n ng ch a
đ c 8 đ a ch và ho t đ ng theo c ch xoay vòng Ngh a là giá tr c t vào b nh Stack l n th 9 s ghi đè lên giá tr c t vào Stack l n đ u tiên
và giá tr c t vào b nh Stack l n th 10 s ghi đè lên giá tr c t vào
con l ng vào nhau t iđa là 8 c p
Các Port xu t nh p ( I/O ) c a V K PIC 16F877A
ch c n ng xu t d li u, n u b ng 1 thì có ch c n ng nh p d li u
PORTB, PORTC, PORTD và PORTE C u trúc và ch c n ng c a t ng
c ng xu t nh p s đ c đ c p c th trong ph n sau
Trang 30PORT A
PORT A là port hai chi u 6 bit, thanh ghi đ nh h ng là TRIS A
T t c các chân còn l i c a Port A chu n TTL khi nó là ngõ vào và khi
xu t d li u thì theo chu n CMOS
l p các bit cho Port A làm vi c t ng t hay s Khi s d ng Port A là
kênh th 2 ho c ngõ vào đi n áp chu n th p c a b AD ho c ngõ
AD
chu n cao c a b AD
VREF+
Timer 0 ho c ngõ ra b so sánh 1
Trang 31RA5/AN4/ SS /C2OUT 7 TTL I/O ho c ngõ vào t ng t c a
kênh th 4 ngõ vào ch n l a SPI
Trang 32và RB7/PGD đ c đa h p v i m ch đi n g r i bên trong và m nh l p
m ch n p và m ch g r i:
Hình 2.3.2: Các chân Port B giao ti p v i m ch n p, m ch g r i
b i ch ng trình Bit ( bit 7 trong thanh ghi OPTION REG) n u b ng 0 thì s treo t t c các chân Port B lên ngu n Khi Port B đ c thi t l p
là các ngõ ra thì s t đ ng t t ch c n ng đi n tr kéo lên, t ng t khi CPU b reset
đ c ch t trong l n đ c tr c c a Port B Các ngõ ra không trùng
v i bit c báo ng t RBIF (INTCON<0>)
Ng t port B có th kích ho t vi đi u khi n tr l i tr ng thái ho t đ ng
Trang 33n uđang ch đ ng (SLEEP).
Trong ch ng trình ph c v ng t thì ng t có th xóa b ng các cách sau:
B t k l nh đ c hay ghi PortB i u này s k t thúc đi u ki n không
Xóa bit c RBIF
cho phép xóa bit c báo ng t RBIF
Trang 34PORT C
Port C là port hai chi u 8 bit Thanh ghi đ nh h ng là TRISC
Các chân Port C có m ch đ m Schmitt Trigger ngõ vào Port C đa h p
v i các ch c n ng ngo i vi, khi cho phép các ch c n ng ngo i vi nênchú ýđ n các bit TRISC cho m i chân c a Port C
B ng 2.3.3a: Các ch c n ng c a Port C
Timer1 ho c ngõ vào xung c aTimer1
Timer1 ho c ngõ vào Capture2, ngõ
Trang 35Port D là port 8 bit v i ngõ vào có m ch Schmitt Trigger Thanh ghi
PSPMODE (TRISE<4>) Trong c u hình này thì các b đ m ngõ vào
d ng TTL
B ng 2.3.4a: Các ch c n ng c a Port D
Trang 36RD6/PSP6 29 ST/TTL Port I/O ho c bit 6 c a port song song.
B ng 2.3.4b: Các thanh ghi liên quan đ n Port D
PORT E
Port E có 3 chân, có c u hình đ c l p đ thi t l p ngõ vào ho c ngõ ra
Nh ng chân này có m ch đi n Schmitt Trigger ngõ vào
Port E là port nh p khi bit PSPMODE (TRISE<4>) b ng 1, các bitTRISE<0:2> ph i b ng 1 và c u hình các bit trong thanh ghi ADCON1
đ portE là xu t/nh p s Trong ch đ này, b đ m ngõ vào d ng TTL
Trang 37B ng 2.3.5b: Các thanh ghi liên quan đ n Port E
Trang 38Hình 2.4.1: S đ kh i c a Timer 0
(OPTION_REG<5>) Khi đó giá tr thanh ghi TMR0 s t ng theo t ng chu k xung đ ng h (t n s vào Timer0 b ng ¼ t n s oscillator) Khi giá tr thanh ghi TMR0 t FFh tr v 00h, ng t Timer0 s xu t hi n
(OPTION_REG<5>) Khi đó xung tác đ ng lên b đ m đ c l y t chân RA4/TOCK1 Bit TOSE (OPTION_REG<4>) cho phép l a ch n
c nh tác đ ng vào b đ m C nh tác đ ng s là c nh lên n u TOSE=0 và
c nh tác đ ng s là c nh xu ng n u TOSE=1
Khi thanh ghi TMR0 b tràn, bit TMR0IF (INTCON<2>) s đ c set
B chia t n s (prescaler) đ c chia s gi a Timer0 và WDT (Watchdog
đ c h tr c a prescaler và ng c l i Prescaler đ c đi u khi n b i thanh ghi OPTION_REG
Các l nh tác đ ng lên giá tr thanh ghi TMR0 s xóa ch đ ho t đ ng
c a prescaler Khi đ i t ng tác đ ng là Timer0, tác đ ng lên giá tr
Trang 39s xóa prescaler, đ ng th i prescaler s ng ng tác v h tr cho WDT.
B ng 2.4.1: Các thanh ghi liên quan đ n Timer0
TMR0: ch a giá tr đ m c a Timer0
2.4.2 TIMER 1
Timer 1 là b đ nh th i 16 bit, giá tr c a Timer 1 s đ c l u trong hai thanh ghi (TMR1H:TMR1L) C ng t c a Timer 1 là bit TMR1IF (PIR1
<0>) Bit đi u khi n c a Timer 1 s là TMR1IE (PIE<0>)
Timer 1 c ng có hai ch đ ho t đ ng: ch đ đ nh th i (timer) v i xung kích là xung clock c a oscillator (t n s c a timer b ng ¼ t n s c a oscillator) và ch đ đ m (counter) v i xung kích là xung ph n ánh các
(c nh tác đ ng là c nh lên) Vi c l a ch n xung tác đ ng (timer hay counter) đ c đi u khi n b i bit TMR1CS (T1CON<1>)
Trang 40Hình 2.4.2: S đ kh i c a Timer 1
khi n b i m t trong hai kh i CCP (Capture/Compare/PWM) – chân RC0/T1OSO/T1CKI và RC1/T1OSI/CCP2
(Asynchronous) Ch đ đ m đ c quy t đ nh b i bit (T1CON<2>)
đ c s d ng đ làm ngu n xung clock cho kh i CCP (Capture/Compare/Pulse width modulation)
trong ch đ này Timer 1 s không ho t đ ng khi vi đi u khi n đang
ch đ sleep