You are on page 1of 9

MUC LUC

CHNG 1 TONG QUAN VE VI IEU KHIEN PIC 1.1 PIC LA G ?? 1.2 TAI SAO LA PIC MA KHONG LA CAC HO VI IEU KHIEN KHAC?? 1.3 KIEN TRUC PIC 1.4 RISC VA CISC 1.5 PIPELINING 1.6 CAC DONG PIC VA CACH LA CHON VI IEU KHIEN PIC 1.7 NGON NG LAP TRNH CHO PIC 1.8 MACH NAP PIC 1.9 BOOTLOADER VA ICP (In Circuit Programming) CHNG 2 VI IEU KHIEN PIC16F877A 2.1 S O CHAN VI IEU KHIEN PIC16F877A 2.2 MOT VAI THONG SO VE VI IEU KHIEN PIC16F877A 2.3 S O KHOI VI IEU KHIEN PIC16F877A 2.4 TO CHC BO NH 2.4.1 BO NH CHNG TRNH 2.4.2 BO NH D LIEU 2.4.2.1 THANH GHI CHC NANG AC BIET SFR 2.4.2.2 THANH GHI MUC CH CHUNG GPR 2.4.3 STACK 2.5 CAC CONG XUAT NHAP CUA PIC16F877A 2.5.1 PORTA 2.5.2 PORTB 2.5.3 PORTC 2.5.4 PORTD 2.5.5 PORTE 2.6 TIMER 0 2.7 TIMER1 2.8 TIMER2 2.9 ADC 2.10 COMPARATOR 2.10.1 BO TAO IEN AP SO SANH 2.11 CCP 2.12 GIAO TIEP NOI TIEP

1.12.1 USART 2.12.1.1 USART BAT ONG BO 2.12.1.1.1 TRUYEN D LIEU QUA CHUAN GIAO TIEP USART BAT ONG BO 2.12.1.1.2 NHAN D LIEU QUA CHUAN GIAO TIEP USART BAT ONG BO 2.12.1.1.2 USART ONG BO 2.12.1.2.1 TRUYEN D LIEU QUA CHUAN GIAO TIEP USART ONG BO MASTER MODE 2.12.1.2.2 NHAN D LIEU QUA CHUAN GIAO TIEP USART ONG BO MASTER MODE 2.12.1.2.3 TRUYEN D LIEU QUA CHUAN GIAO TIEP USART ONG BO SLAVE MODE 2.12.1.2.4 NHAN D LIEU QUA CHUAN GIAO TIEP USART ONG BO SLAVE MODE 2.12.2 MSSP 2.12.2.1 SPI 2.12.2.1.1 SPI MASTER MODE 2.12.2.1.2 SPI SLAVE MODE 2.12.2.2 I2C 2.12.2.2.1 I2C SLAVE MODE 2.12.2.2.2 I2C MASTER MODE 2.13 CONG GIAO TIEP SONG SONG PSP (PARALLEL SLAVE PORT) 2.14 TONG QUAN VE MOT SO AC TNH CUA CPU. 2.14.1 CONFIGURATION BIT 2.14.2 CAC AC TNH CUA OSCILLATOR 2.14.3 CAC CHE ORESET 2.14.4 NGAT (INTERRUPT) 2.14.4.1 NGAT INT 2.14.4.2 NGAT DO S THAY OI TRANG THAI CAC PIN TRONG PORTB 2.14.5 WATCHDOG TIMER (WDT) 2.14.6 CHE O SLEEP 2.14.6.1 ANH THC VI IEU KHIEN CHNG 3 TAP LENH CUA VI IEU KHIEN PIC 3.1 VAI NET S LC VE TAP LENH CUA VI IEU KHIEN PIC 3.2 TAP LENH CUA VI IEU KHIEN PIC 3.3 CAU TRUC CUA MOT CHNG TRNH ASSEMBLY VIET CHO VI IEU KHIEN PIC

CHNG 4 MOT SO NG DUNG CU THE CUA PIC16F877A 4.1 IEU KHIEN CAC PORT I/O 4.1.1 CHNG TRNH DELAY 4.1.2 MOT SO NG DUNG VE AC TNH I/O CUA CAC PORT IEU KHIEN 4.2 VI IEU KHIEN PIC16F877A VA IC GHI DCH 74HC595 4.3 PIC16F877A VA LED 7 OAN 4.4 NGAT VA CAU TRUC CUA MOT CHNG TRNH NGAT 4.5 TIMER VA NG DUNG 4.5.1 TIMER VA HOAT ONG NH THI PHU LUC 1 S O KHOI CAC PORT CUA VI IEU KHIEN PIC16F877A PHU LUC 2 THANH GHI SFR (SPECIAL FUNCTION REGISTER)

CHNG 1 TONG QUAN VE VI IEU KHIEN PIC


1.1 PIC LA G ?? PIC la viet tat cua Programable Intelligent Computer, co the tam dch la may tnh thong minh kha trnh do hang Genenral Instrument at ten cho vi ieu khien au tien cua ho: PIC1650 c thiet ke e dung lam cac thiet b ngoai vi cho vi ieu khien CP1600. Vi ieu khien nay sau o c nghien cu phat trien them va t o hnh thanh nen dong vi ieu khien PIC ngay nay. 1.2 TAI SAO LA PIC MA KHONG LA CAC HO VI IEU KHIEN KHAC?? Hien nay tren th trng co rat nhieu ho vi ieu khien nh 8051, Motorola 68HC, AVR, ARM,... Ngoai ho 8051 c hng dan mot cach can ban moi trng ai hoc, ban than ngi viet a chon ho vi ieu khien PIC e m rong von kien thc va phat trien cac ng dung tren cong cu nay v cac nguyen nhan sau: Ho vi ieu khien nay co the tm mua de dang tai th trng Viet Nam. Gia thanh khong qua at. Co ay u cac tnh nang cua mot vi ieu khien khi hoat ong oc lap. La mot s bo sung rat tot ve kien thc cung nh ve ng dung cho ho vi ieu khien mang tnh truyen thong: ho vi ieu khien 8051. So lng ngi s dung ho vi ieu khien PIC. Hien nay tai Viet Nam cung nh tren the gii, ho vi ieu khien nay c s dung kha rong rai. ieu nay tao nhieu thuan li trong qua trnh tm hieu va phat trien cac ng dung nh: so lng tai lieu, so lng cac ng dung m a c phat trien thanh cong, de dang trao oi, hoc tap, de dang tm c s ch dan khi gap kho khan, S ho tr cua nha san xuat ve trnh bien dch, cac cong cu lap trnh, nap chng trnh t n gian en phc tap, Cac tnh nang a dang cua vi ieu khien PIC, va cac tnh nang nay khong ngng c phat trien. 1.3 KIEN TRUC PIC Cau truc phan cng cua mot vi ieu khien c thiet ke theo hai dang kien truc: kien truc Von Neuman va kien truc Havard.

Hnh 1.1: Kien truc Havard va kien truc Von-Neuman To chc phan cng cua PIC c thiet ke theo kien truc Havard. iem khac biet gia kien truc Havard va kien truc Von-Neuman la cau truc bo nh d lieu va bo nh chng trnh. oi vi kien truc Von-Neuman, bo nh d lieu va bo nh chng trnh nam chung trong mot bo nh, do o ta co the to chc, can oi mot cach linh hoat bo nh chng trnh va bo nh d lieu. Tuy nhien ieu nay ch co y ngha khi toc o x l cua CPU phai rat cao, v vi cau truc o, trong cung mot thi iem CPU ch co the tng tac vi bo nh d lieu hoac bo nh chng trnh. Nh vay co the noi kien truc Von-Neuman khong thch hp vi cau truc cua mot vi ieu khien. oi vi kien truc Havard, bo nh d lieu va bo nh chng trnh tach ra thanh hai bo nh rieng biet. Do o trong cung mot thi iem CPU co the tng tac vi ca hai bo nh, nh vay toc o x l cua vi ieu khien c cai thien ang ke. Mot iem can chu y na la tap lenh trong kien truc Havard co the c toi u tuy theo yeu cau kien truc cua vi ieu khien ma khong phu thuoc vao cau truc d lieu. V du, oi vi vi ieu khien dong 16F, o dai lenh luon la 14 bit (trong khi d lieu c to chc thanh tng byte), con oi vi kien truc Von-Neuman, o dai lenh luon la boi so cua 1 byte (do d lieu c to chc thanh tng byte). ac iem nay c minh hoa cu the trong hnh 1.1. 1.4 RISC va CISC Nh a trnh bay tren, kien truc Havard la khai niem mi hn so vi kien truc VonNeuman. Khai niem nay c hnh thanh nham cai tien toc o thc thi cua mot vi ieu khien. Qua viec tach ri bo nh chng trnh va bo nh d lieu, bus chng trnh va bus d lieu, CPU co the cung mot luc truy xuat ca bo nh chng trnh va bo nh d lieu, giup tang toc o x l cua vi ieu khien len gap oi. ong thi cau truc lenh khong con phu thuoc vao cau truc d lieu na ma co the linh ong ieu chnh tuy theo kha nang va toc o cua tng vi ieu

khien. Va e tiep tuc cai tien toc o thc thi lenh, tap lenh cua ho vi ieu khien PIC c thiet ke sao cho chieu dai ma lenh luon co nh (v du oi vi ho 16Fxxxx chieu dai ma lenh luon la 14 bit) va cho phep thc thi lenh trong mot chu k cua xung clock ( ngoai tr mot so trng hp ac biet nh lenh nhay, lenh goi chng trnh con can hai chu k xung ong ho). ieu nay co ngha tap lenh cua vi ieu khien thuoc cau truc Havard se t lenh hn, ngan hn, n gian hn e ap ng yeu cau ma hoa lenh bang mot so lng bit nhat nh. Vi ieu khien c to chc theo kien truc Havard con c goi la vi ieu khien RISC (Reduced Instruction Set Computer) hay vi ieu khien co tap lenh rut gon. Vi ieu khien c thiet ke theo kien truc Von-Neuman con c goi la vi ieu khien CISC (Complex Instruction Set Computer) hay vi ieu khien co tap lenh phc tap v ma lenh cua no khong phai la mot so co nh ma luon la boi so cua 8 bit (1 byte). 1.5 PIPELINING ay chnh la c che x l lenh cua cac vi ieu khien PIC. Mot chu k lenh cua vi ieu khien se bao gom 4 xung clock. V du ta s dung oscillator co tan so 4 MHZ, th xung lenh se co tan so 1 MHz (chu k lenh se la 1 us). Gia s ta co mot oan chng trnh nh sau: 1. MOVLW 55h 2. MOVWF PORTB 3. CALL SUB_1 4. BSF PORTA,BIT3 5. instruction @ address SUB_1 ay ta ch ban en qui trnh vi ieu khien x l oan chng trnh tren thong qua tng chu k lenh. Qua trnh tren se c thc thi nh sau:

Hnh 1.2: C che pipelining

TCY0: oc lenh 1 TCY1: thc thi lenh 1, oc lenh 2 TCY2: thc thi lenh 2, oc lenh 3 TCY3: thc thi lenh 3, oc lenh 4. TCY4: v lenh 4 khong phai la lenh se c thc thi theo qui trnh thc thi cua chng trnh (lenh tiep theo c thc thi phai la lenh au tien tai label SUB_1) nen chu k thc thi lenh nay ch c dung e oc lenh au tien tai label SUB_1. Nh vay co the xem lenh 3 can 2 chu k xung clock e thc thi. TCY5: thc thi lenh au tien cua SUB_1 va oc lenh tiep theo cua SUB_1. Qua trnh nay c thc hien tng t cho cac lenh tiep theo cua chng trnh. Thong thng, e thc thi mot lenh, ta can mot chu k lenh e goi lenh o, va mot chu k xung clock na e giai ma va thc thi lenh. Vi c che pipelining c trnh bay tren, moi lenh xem nh ch c thc thi trong mot chu k lenh. oi vi cac lenh ma qua trnh thc thi no lam thay oi gia tr thanh ghi PC (Program Counter) can hai chu k lenh e thc thi v phai thc hien viec goi lenh a ch thanh ghi PC ch ti. Sau khi a xac nh ung v tr lenh trong thanh ghi PC, moi lenh ch can mot chu k lenh e thc thi xong. 1.6 CAC DONG PIC VA CACH LA CHON VI IEU KHIEN PIC Cac k hieu cua vi ieu khien PIC: PIC12xxxx: o dai lenh 12 bit PIC16xxxx: o dai lenh 14 bit PIC18xxxx: o dai lenh 16 bit C: PIC co bo nh EPROM (ch co 16C84 la EEPROM) F: PIC co bo nh flash LF: PIC co bo nh flash hoat ong ien ap thap LV: tng t nh LF, ay la k hieu cu Ben canh o mot so vi ieu khien co k hieu xxFxxx la EEPROM, neu co them ch A cuoi la flash (v du PIC16F877 la EEPROM, con PIC16F877A la flash). Ngoai ra con co them mot dong vi ieu khien PIC mi la dsPIC. Viet Nam pho bien nhat la cac ho vi ieu khien PIC do hang Microchip san xuat. Cach la chon mot vi ieu khien PIC phu hp: Trc het can chu y en so chan cua vi ieu khien can thiet cho ng dung. Co nhieu vi ieu khien PIC vi so lng chan khac nhau, tham ch co vi ieu khien ch co 8 chan, ngoai ra con co cac vi ieu khien 28, 40, 44, chan.

Can chon vi ieu khien PIC co bo nh flash e co the nap xoa chng trnh c nhieu lan hn. Tiep theo can chu y en cac khoi chc nang c tch hp san trong vi ieu khien, cac chuan giao tiep ben trong. Sau cung can chu y en bo nh chng trnh ma vi ieu khien cho phep. Ngoai ra moi thong tin ve cach la chon vi ieu khien PIC co the c tm thay trong cuon sach Select PIC guide do nha san xuat Microchip cung cap. 1.7 NGON NG LAP TRNH CHO PIC Ngon ng lap trnh cho PIC rat a dang. Ngon ng lap trnh cap thap co MPLAB (c cung cap mien ph bi nha san xuat Microchip), cac ngon ng lap trnh cap cao hn bao gom C, Basic, Pascal, Ngoai ra con co mot so ngon ng lap trnh c phat trien danh rieng cho PIC nh PICBasic, MikroBasic, 1.8 MACH NAP PIC ay cung la mot dong san pham rat a dang danh cho vi ieu khien PIC. Co the s dung cac mach nap c cung cap bi nha san xuat la hang Microchip nh: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II. Co the dung cac san pham nay e nap cho vi ieu khien khac thong qua chng trnh MPLAB. Dong san pham chnh thong nay co u the la nap c cho tat ca cac vi ieu khien PIC, tuy nhien gia thanh rat cao va thng gap rat nhieu kho khan trong qua trnh mua san pham. Ngoai ra do tnh nang cho phep nhieu che o nap khac nhau, con co rat nhieu mach nap c thiet ke danh cho vi ieu khien PIC. Co the s lc mot so mach nap cho PIC nh sau: JDM programmer: mach nap nay dung chng trnh nap Icprog cho phep nap cac vi ieu khien PIC co ho tr tnh nang nap chng trnh ien ap thap ICSP (In Circuit Serial Programming). Hau het cac mach nap eu ho tr tnh nang nap chng trnh nay. WARP-13A va MCP-USB: hai mach nap nay giong vi mach nap PICSTART PLUS do nha san xuat Microchip cung cap, tng thch vi trnh bien dch MPLAB, ngha la ta co the trc tiep dung chng trnh MPLAB e nap cho vi ieu khien PIC ma khong can s dung mot chng trnh nap khac, chang han nh ICprog. P16PRO40: mach nap nay do Nigel thiet ke va cung kha noi tieng. Ong con thiet ke ca chng trnh nap, tuy nhien ta cung co the s dung chng trnh nap Icprog.

Mach nap Universal cua Williem: ay khong phai la mach nap chuyen dung danh cho PIC nh P16PRO40. Cac mach nap ke tren co u iem rat ln la n gian, re tien, hoan toan co the t lap rap mot cach de dang, va moi thong tin ve s o mach nap, cach thiet ke, thi cong, kiem tra va chng trnh nap eu de dang tm c va download mien ph thong qua mang Internet. Tuy nhien cac mach nap tren co nhc iem la han che ve so vi ieu khien c ho tr, ben canh o moi mach nap can c s dung vi mot chng trnh nap thch hp. 1.9 BOOTLOADER VA ICP (In Circuit Programming)

You might also like