TRÖÔØNG ÑAÏI HOÏC SÖ PHAÏM KYÕ THUAÄT TP.HCM
KHOA ÑIEÄN ÑIEÄN TÖÛ
2010
VI ÑIEÀU KHIEÅN PIC
BAÙO CAÙO TT VI XÖÛ LYÙ
GVHD: NGUYEÃN VAÊN HIEÄP
SVTH: NGUYEÃN DUY TÖÔÛNG
NGUYEÃN MINH TAØI
Ñ A Ï I H O Ï C P H A Ï M KYÕ T H U A Ä T
Muïc Luïc
CHÖÔNG 1.TOÅNG QUAÙT VEÀ VI ÑIEÀU KHIEÅN PIC .............................................
1.ÑAËC TÍNH CHUNG .......................................................................................... 3
2.KIEÁN TRUÙC CUÛA PIC ...................................................................................... 5
3.RISC-CISC ........................................................................................................ 5
4.PIPELING .......................................................................................................... 6
5.CAÙC DOØNG PIC VAØ CAÙCH LÖÏA CHOÏN PIC ................................................. 7
6.NGOÂN NGÖÕ LAÄP TRÌNH CHO PIC ................................................................. 8
7.MAÏCH NAÏP PIC ............................................................................................... 8
CHÖÔNG 2.KHAÛO SAÙT VÑK PIC16F877A. ............................................................
I.CAÁU TRUÙC VÑK PIC16F877A ......................................................................... 9
1.SÔ ÑOÀ CHAÂN VÑK ...................................................................................... 9
2.SÔ ÑOÀ KHOÁI VÑK ...................................................................................... 11
3.MOÄT SOÁ THOÂNG TIN ................................................................................. 12
II.TOÅ CHÖÙC BOÄ NHÔÙ ......................................................................................... 13
1.BOÄ NHÔÙ CHÖÔNG TRÌNH ......................................................................... 13
2.BOÄ NHÔÙ DÖÕ LIEÄU ....................................................................................... 13
3.CAÙC COÅNG XUAÁT NHAÄP CUÛA PIC .......................................................... 21
4.TIMER0 ........................................................................................................ 27
5.TIMER1 ........................................................................................................ 29
6.TIMER2 ........................................................................................................ 31
7.ADC .............................................................................................................. 32
8.COMPARATOR ........................................................................................... 34
9.BOÄ NHÔÙ ÑIEÄN AÙP SO SAÙNH ..................................................................... 36
10.CCP ............................................................................................................. 37
11.GIAO TIEÁP NOÁI TIEÁP ................................................................................ 42
12.GIAO TIEÁP SONG SONG .......................................................................... 68
13.TOÅNG QUAN VEÀ MOÄT SOÁ ÑAËC TÍNH CUÛA CPU .................................. 70
CHÖÔNG 3.CHÖÔNG TRÌNH BIEÂN DÒCH VAØ MAÏCH NAÏP VÑK ....................
I.CHÖÔNG TRÌNH BIEÂN DÒCH CHO VÑK PIC16F877A ............................... 76
1.PHAÀN MEÀM BIEÂN DÒCH MPLAB ........................................................... 76
2.PHAÀN MEÀM BIEÂN DÒCH CCS ................................................................. 87
II.CHÖÔNG TRÌNH MAÏCH NAÏP VÑK PIC16F877A ...................................... 92
1.CHÖÔNG TRÌNH NAÏP WINPIC800 ........................................................ 92
2.CHÖÔNG TRÌNH NAÏP IC-PRO ............................................................... 93
CHÖÔNG 4.TAÄP LEÄNH CHO VI ÑIEÀU KHIEÅN PIC16F877A ..............................
1.NGOÂN NGÖÕ LAÄP TRÌNH ASM CUÛA MPLAB .............................................. 97
2.NGOÂN NGÖÕ LAÄP TRÌNH C CUÛA CCS C .................................................... 105
CHÖÔNG 5.MOÄT SOÁ CHÖÔNG TRÌNH ÖÙNG DUÏNG ...................................... 109
1.ÑIEÀU KHIEÅN I/O .......................................................................................... 109
2.CHÖÔNG TRÌNH DELAY ........................................................................... 111
3.MOÄT SOÁ CHÖÔNG TRÌNH VEÀ ÑAËC TÍNH I/O CAÙC PORT ÑK ............... 116
4.MOÄT SOÁ BAØI TAÄP MAÃU THAM KHAÛO CAÙC CHÖÙ NAÊNG CUÛA PIC ...... 130
PHUÏ LUÏC 2 THANH GHI SFR (SPECIAL FUNCTION REGISTER) ........... 196
TAØI LIEÄU THAM KHAÛO ....................................................................................... 221
Chöông 1
Toång quan veà vi ñieàu khieån Pic
1. ÑAËC TÍNH CHUNG.
Pic laø moät ho Vi ñieàu khieån RISC ñöôïc saûn xuaát bôûi coâng ty Microchip Technology.
Doøng Pic ñaàu tieân laø PIC1650 ñöôïc phaùt trieån bôûi Microelectronics Dicision thuoäc
General Instrument
PIC laø vieát taét cuûa ‚Programable Intelligent Computer‛, coù theå taïm dòch laø ‚maùy
tính thoâng minh khaû trình‛ do haõng Genenral Instrument ñaët teân cho vi ñieàu khieån ñaàu
tieân cuûa hoï: PIC1650 ñöôïc thieát keá ñeå duøng laøm caùc thieát bò ngoaïi vi cho vi ñieàu khieån
CP1600. Vi ñieàu khieån naøy sau ñoù ñöôïc nghieân cöùu phaùt trieån theâm vaø töø ñoù hình thaønh
neân doøng vi ñieàu khieån PIC ngaøy nay.
Hieän nay coù khaù nhieàu doøng vi ñieàu khieån Pic khaùc nhau nhö chung cuøng coù
chung 1 ñaëc ñieåm nhö sau:
+ Söõ duïng coâng nghe tích hôïp cao RISC CPU
+ Ngöôøi söõ duïng coù theå laäp trình vôùi 35 caâu leänh ñôn giaûn
+ Taát caû caùc caâu leänh thöïc hieän trong moät chu leänh ngoaïi tröø moäi soá caâu leänh reõ
nhaùnh thöïc hieän trong 2 chu kì leänh.
+ Toác ñoä hoaït ñoäng laø: - Xung ñoàng boä vaøo laø DC-20MHz
- Chu kyø leänh thöïc hieän trong 200ns
+ Boä nhôù chöông trình Flash 8K*14 Words
+ Boä nhôù Ram 368*8 bytes
+ Boä nhôù EFPRom 256*8 bytes
Khaû naêng cuûa boä vi xöõ lyù naøy:
+ Khaû naêng ngaét leân tôùi 14 nguoàn ngaét trong vaø ngaét ngoaøi
+ Ngaên nhôù Stack ñöôïc phaân chia laøm 8 möùc
+ Truy caäp boä nhôù baèng ñòa chæ tröïc tieáp hoaëc giaùn tieáp,
+ Nguoàn khoûi ñoäng laïi (POR)
+ Boä taïo xung thôøi gian (PWRT) vaø boä taïo dao ñoäng (OST)
+ Boä ñeám xung thôøi gian (WDT) vôùi nguoàn dao ñoäng treân chíp (nguoàn dao ñoäng
RC) hoaït ñoäng ñaùng tin caäy
+ Coù maõ chöông trình baûo veä
+ Phöông thöùc caát giöõ SLEEP
BAÙO CAÙO TT VI XÖÛ LYÙ trang 4
+ Coù baûng löïa choïng dao ñoäng
+ Coâng nheä CMOS FLASH/EEPROM nguoâng möùc thaáp, toác ñoä cao.
+ Thieát keá hoaøn toaøn tænh
+ Maïch chöông trình noùi tieáp coù 2 chaân
+ Vi xöõ lyù ñoïc/ghi boä nhôù chöông trình
+ Daûi ñieän theá hoaït doäng roäng : 2.0 v ñeán 5.5v
+ Nguoàn söõ duïng hieän taïi 25mA
+ Daõy nhieät ñoä coâng nghieäp vaø thuaän lôïi.
+ Coâng suaát tieâu thuï thaáp:
< 0.6 mA vôùi 5V.4MHz
20uA vôùi nguoàn ,32KHs
<1uA nguoàn döï phoøng
Caùc ñaëc tính noåi baät cuûa thieát bò ngoaïi vi treân chíp
+ Timer 0: 8bit cuûa boä ñònh thôøi, boä ñeám vôùi heä soá tyû leä tröôùc
+ Timer 1: 16bit cuûa boä ñònh thôøi, boä ñeám vôùi heä soá leä, coù khaû naêng taêng trong
khi ôû cheá ñoä Sleep qua xung ñoàng hoà ñöôïc cung caáp beân ngoaøi.
+ Timer 2: 8 bit cuûa boä ñònh thôøi, boä ñeám vôùi 8bit cuûa heä soá tæ leä tröôùc vaø heä soá tæ leä
sau
+ Coù 2 cheá ñoä baét giöõ, so saùnh, ñieàu cheá ñoä roäng xung (PWM).
+ Cheá ñoä baét giöõ vôùi 16 bít vôùi toác ñoä 12.5ns, cheá ñso saùnh vôùi 16bit, toác ñoä giaûi
quyeát cöïc ñaïi laø 200ns, cheá ñoä roäng xung vôùi 10bit.
+ Boä chuyeån ñoåi tín hieäu soá sang töông töï vôùi 10bit.
+ Coång truyeàn thoâng noái tieáp SSP vôùi SPI phöông thöùc chuû (chuû/tôù)
+ Boä truyeàn nhaän thoâng tin ñoàng boä, boä (USART/SCL) coù khaû naêng phaùt hieän
9bit ñòa chæ.
+ Coång phuï song song (PSP) vôùi 8bit môû roäng, vôùi RD, WR vaø CS ñieàu khieån.