You are on page 1of 21

GII THIU V PIC Microcontrollers (MCUs)

1>TNG QUAN:

H vi iu khin PIC v dsPIC do hng ch to v sn xut vi cng ngh hin i, ph hp cho cc ng dng n gin cho n phc tp. c bit ngoi ngn ng lp trnh assembler nh cc MCU khc, ngi dng c th lp trnh PIC trn ngn ng C quen thuc thng qua cc phn mm h tr ( PIC18C ; CCS C ; .) Gm cc h c bn nh sau: 8 bit: + + + + 16 bit: + + + + PIC10 PIC12 PIC16 PIC18 PIC24F PIC24H dsPIC30 dsPIC33

Ty theo cc ng dng c th m ngi dng c th chn ra Chip ph hp ( theo hng dn ca nh sn xut ti trang ch ca microchip: www.microchip.com ). 1

Trong PIC18F4431 l IC chuyn dng iu khin ng c 3 pha theo ngh ca ca Microchip

2> NHNG BC CHUN B KHI LM VIC VI PIC: Sau khi cc bn la chn c chip ph hp vi mc ch s dng th cng vic tip theo l chun b: Mch np Phn mm bin dch => debug/ program Datasheet => thit k phn cng cho MCU v tham kho trong qu trnh lp trnh 2.1) Mch np Mch np (programmer) c h tr chc nng real time debug cho PIC v sdPIC hin nay thng dng nht l ICD2. Sau y l hnh nh mch mt s mch ICD2 trn th trng.

Sn phm thng mi ca Microchip

Sn phm trn th trng vit nam (HCM)

i vi mch ICD2 ca microchip, y l sn phm thng mi do vn hnh rt n nh. Tuy nhin gi c kh cao so vi mch np thit k ti VN. i vi cc bn HCM th c th lin h vi Bi Ngc Thng mua mch np v mch th nghim PIC, dsPIC hoc AVR vi gi c phi chng. i vi cc bn ni khc th tham kho trn website www.picvietnam.com mc mch np, ngoi ra picvietnam.com cng l din n chnh thc ca ngi dng PIC v dsPIC ti VN. Cc bn c th tham kho kh nhiu ti liu, kin thc v kinh nghim v PIC ca cc user ti trang ny. 2.1) PHN MM BIN DCH MPLAB: Dng complie v chuyn file lp trnh dng text sang file *.HEX sau np vo PIC. Cc bn vo trang ch microchip( www.microchip.com) Home Products Development Tools : dowload MPLAB IDE phin bn mi nht. Sau khi download xong, cc bn gii nn v ci t bnh thng

Qu trnh ci t hon tt, cc bn restart li PC. Sau khi ci t xong MPLAB IDE th ch c th lp trnh trn ngn ng assembler (ASM). Nu mn lp trnh thm ngn ng C th phi ci t thm phn mm h tr. C nhiu phn mm h tr lp trnh cho PIC trn C ( tham kho thm trn picvietnam.com mc ngn ng lp trnh). y ch gii thiu phn mm h tr CCS C 4

2.2) Hng dn ci t CCS C: Tng t nh MPLAB cc bn download CCS C v mplab-ccs-plugin-install ti www.ccsinfo.com .Ngoi ra cc bn c thm tham kho source code vit trn CCS do USER chia s trn forum ca trang web ny http://www.ccsinfo.com/forum/ Sau y l hng dn ci t CCS C version 3.249 ( c crack sn)

n finish hon tt. Tip theo ci mplab-ccs-plugin-install tch hp phn mm CCS vo MPLAB IDE

Tip theo n finished hon tt vic ci t. Ci t xong CCS bn c th lp trnh bng ngn ng C quen thuc trn nn MPLAB Khi cc bn c trong tay y mc cp trn : 1) Mch np; 2) KIT th nghim; 3) Phn mm bin dch - debug program: ( MPLAB CCS) 4) Datasheet =>th mi c th bt tay vo vit chng trnh u tin 3> CCH TO MT PROJECT u tin bn phi xc nh trc l vit code trn ngn ng no assembler hay CCS. Vi assembler bn phi hiu rt r cu trc phn cng bn trong ca chip m bn s dng. i vi CCS th ko hiu lm cu trc bn trong vn c th vit c. ng thi c th chn on code ASM ( assembler) vo trong chng trnh vit trn CCS . y l im kh hay ca CCS, do cc bn mun lp trnh cc project phc tp th phi s dng c thun thc c hai ngn ng , cng nh hiu r cu trc bn trong ca chip mnh s dng. 3.1) Cch to project vit trn ngn ng ASM: Double click vo biu tng MPLAB trn destop, sau :

Click chn Project Wizard

u tin click vo du mi tn la chn chip .vd y chn PIC18F4431 , sau click Next tip tc

Chn Mircochip MPASM Toolsuite, click next tip tc

10

in tn v n nt Browse to ng dn n th mc bn mun cha project, sau click NEXT

11

Click finish thot khi Project wizard

Mt project n gin nht phi gm c 2 thnh phn Source files v Hearder Files. Th mc Source files cha file text dng *.txt cha code lp trnh. Th mc Hearder Files cha file *.h hoc *.INC: file c sn ca microchip; user khai bo dng loi chip g => add vao th mc ny. 12

1) add Header files: Cc bn nn copy hearder file vo th mc cha project tin cho vic s dng sau ny . ( vd y: nu bn dng chip 18F4431 -> chp 18F4431.INC t C:\Program Files\Microchip\MPASM Suite vo th mc D/Project_1 )

13

Tip theo chng ta add file v th mc Source Files 2) add Source Files

Click chn biu tng NEW trn toolbar 14

Mn hnh s hin ra 1 son tho text tng t notepad vi tn Untiled => chon File / Save as lu li

t tn cho file text v chn Save lu li

15

Click chn add file

Click chn file text lu

16

Chng ta hon tt vic add file vo cc th mc Source files v header files. Cng vic tip theo l vit code ( ca s text editor : D:\project_1\baitap_1.asm ). y ch l vd in hnh vic to 1 project, c th c nhiu cch khc hay hn ! i vi project m s dng cng 1 loi chip, cng loi ngn ng lp trnh ( ASM hay C) th ch cn to 1 ln. Nhng ln sau, ch cn add/ remove file text (*.asm hoc *.c) vo th mc Source files 3.2) Cch to project vit trn ngn ng CCS C: Tng t nh to project vit bng ASM, ch khc nhau bc chn ngn ng lp trnh. u tin: t menu => project / project wizard.

17

Chn dng CCS C conpliler for PIC.( Dng ny ch hin ra khi ci CCS C v CCSmplab-plugin ).

Chn NEXT tip tcCc bc sau lm tng t nh i vi project vit trn ASM. 18

Copy file 18F4431.h t C:\Program Files\PICC\Devices vo th mc cha project, sau add vo Header Files . Sau khi hon tt vic to project, bn c th bt tay vo vit chng trnh u tin cho PIC. 4> VIT CHNG TRNH U TIN: 4.1) Cu trc ca 1 chng trnh vit trn ASM: #include <P18F4431.inc> org 0x000000 goto MAIN org 0x000008 goto ISR_HIGH org 0x000018 goto ISR_LOW org 0x000030 MAIN . .. chng trnh con 1 chng trnh con 2 END 19 1) header file 2) a ch vector ngt : Khi c ngt xy ra th pointer s nhy n nhn ISR_HIGH hoc ISR_LOW . ISR: vit tt ca Interrupt Service Rountine . a ch ngt c th ca tng loi chip, loi ngt cao hay thp do datasheet cung cp.

3) Bt u chng trnh chnh

Chng trnh con bt u bng TN ( lable) ca chng trnh v kt thc bng bng ch RETURN. Chng trnh ngt c xem l chng trnh con, kt thc bng RETFIE

VD1: Chng trnh xut tn hiu 0xFF ra port D ca P18F4431 (PIN D0 -> D7) => led sng #include <P18F4431.INC> org 0x000000 goto MAIN MAIN clrf TRISD movlw 0XFF movwf PORTD goto $ END

; set port D as OUTPUT ; move 0xFF value => W (Working register) ; move value in W => port D

4.2) Cu trc ca 1 chng trnh vit trn CCS: #include <18F4431.h> #use delay. #fuses #use rs232 . 1) header file 2) Cc lnh tin khai bo : #use delay(clock=20000000) => khai bo tn s thch anh (Hz) s dng hm delay #use rs232 => khai bo s dng cng thu pht ni tip 3) Khai bo tn v kiu bin s dng, c th khai bo bin cc b bn trong chng trnh con v bn trong hm MAIN 4) Chng trnh ngt 5) Chng trnh con 6) Chng trnh chnh MAIN () { . .. Gi cc chng trnh con .. .. }

Khai bo bin ton cc

Chng trnh ngt chng trnh con 1 chng trnh con 2

VD: Chng trnh xut tn hiu 0xFF ra port D ca P18F4431 (PIN D0 -> D7) => led sng #include <18f4431.h> #byte PORTD=0XF83 #byte TRISD =0xF95 void main() { While(1) { 20

TRISD=0X00; PORTD=0XFF; } }

21

You might also like