Thiết kế mô hình bãi giữ xe ô tô tự động hóa - Pdf 27


TRNG I HC M THÀNH PH H CHÍ MINH
KHOA XÂY DNG VÀ IN
 ÁN TT NGHIP
K S NGÀNH CÔNG NGHIP THIT K MÔ HÌNH
BÃI GI XE Ô-TÔ T NG HÓA
(AUTOMATIC AUTO PARKING)

SVTH : PHM HUNH MINH QUÂN
MSSV : 20702028
GVHD : Th.S PHAN VN HIP
 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.

 ÁN TT NGHIP K S CÔNG NGHIP GVHD: ThS. PHAN VN HIP

PHM HUNH MINH QUÂN – 20702028


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!




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
 ÁN TT NGHIP K S CÔNG NGHIP GVHD: ThS. PHAN VN HIP

PHM HUNH MINH QUÂN – 20702028


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

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
CH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.

 B NH THI: c s dng cho các mc đích chung v thi gian.
 WATCHDOG: B phn dùng đ reset li h thng khi h thng gp
“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th vi điukhinRISC đc snxutbi công ty Microchip
Technology. Th h PIC đu tiên là PIC1650 đc phát trin bi
Microelectronics Division thucGeneralInstrument.
PIC là vitttca "Programmable Intelligent Computer" -
máy tính
thông minh kh trình - là mtsnphmca hãng General Instruments
đt cho dòng sn phm đu tiên là PIC1650. Thi đim đó PIC1650 đc
dùng đ giao tip vi các thitb ngoivichomáych 16 bit CP1600,
vì vy, ngita cng giPICvi cái tên "Peripheral Interface
Controller" – b điu khin giao tip ngoi vi.
Sau nm 1985, PIC đcb sung EEPROM đ to thành 1 bđiu khin
d dàng vào ra lp trình. Ngày nay rt nhiu dòng PIC đc xut
xng vihànglo
t các module ngoivitíchhpsn(nh USART,
PWM, ADC ), vi b nh chng trình t 512 Word đn 32K Word.
2
Ki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.
T chc phn cng ca PIC đc thit k theo kin trúc Havard. im
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.

đ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 Von-
Neuman còn đc gi là vi điu khin CISC (Complex Instruction Set
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
lnh ca vi điu khin s bao gm 4 xung clock. Ví d ta s dng
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:
1. MOVLW 55h
2. MOVWF PORTB
3. CALL SUB_1
4. BSF PORTA,BIT3
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
5
 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

 Có các khi Capture/Compare/PWM.
 Có h tr giao tipLCD.
 Có MSSP Peripheral dùng cho các giao tipI²C, SPI, vàI²S.
 Có b nh ni EEPROM - có th ghi/xoá lên ti 1 triuln.
 Có khi iu khin đng c, đc encoder.
 Có h tr giao tip USB.
 Có h tr điu khin Ethernet.
 Có h tr giao tip CAN.
1.2.4. Các dòng PIC
Các dòng PIC hin có trên th
 trng:
 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)
F: PIC có b nh flash (có th np xóa chng trình đc nhiu ln
hn).
7
LF: 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
Bên cnh đó mt s vi điu khin có kí hiu xxFxxx là EEPROM, nu
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.
8
CHNG 2 : VI IU KHIN PIC 16F877A
ôi nét v VK PIC 16F877A
9

 Khi thanh ghi đcbit.
 Khi b nh ngn xp.
 Khiresetmch khi có đin, khi đnh thiresetmch khi có đin,
khi đnh thi n đnh dao đng khi có đin, kh
i đnh thigiám
sát, khi reset khi stgimngun, khig ri, khi lp trình b nh
đin áp thp.
 Khi ngoi vi timer T0, T1,T2.
 Khi giao tip ni tip.
 Khi chuyn đi tín hiu tng t sang s –ADC.
 Khi so sánh đin áp tng t.
 Khi to đin áp tham chiu.
 Khi các port xut nhp.
T
chc b nh trong VK PIC 16F877A
PIC16F877A có 3 khib nh tích hpbêntrong:
 B nh chng trình (Program memory) có dung lng 8K.
 B nh d liuRAMcó368ônh byte cùng vi các thanh ghi
có chcnng đcbit SFR (Special Function Register).
 B nh EEPROM có dung lng 256 byte.
Kin trúc b nh ca PIC
13
Nh đã đ cp
bên trên, PIC có kin trúc b nh dng Harvard, mt kin trúc ci tin
so vi kin trúc Von Neumann.
Hình 2.2.1: Kin trúc b nh VK PIC 16F877A
Vikintrúcnày thìb nhđc tách ra làm 2 loib nhđclp: b
nh l u chng trình và b nh lud liu. CPU giao tipvi2b
nhđclpnêncn 2 bus đclp. Vì đclp nên có th thay đis
bit l

Hì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cb nh chac mã lnh và d liu.
Vy vit chcb nh ca PIC thì titkim đc1chuk đcd liu
17
vì 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
i vi PIC16F877A b nh d liu EEPROM đc chia ra làm 4
bank. Mi bank có dung lng 128 byte, bao gm các thanh ghi có chc
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.
Các thanh ghi SFR thng xuyên đc s dng (ví d nh thanh ghi
STATUS) s
đc đt  tt cà các bank ca b nh d liu giúp thun
tin trong quá trình truy xut và làm gim bt lnh ca chng trình.
18
Bng
19


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status