ebook4u.vn pic 16f84

57
NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN .............................................................................................................................. ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................ ............................................................................................................  Trang1_57

Upload: uydtk5

Post on 07-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 1/57

NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN

..............................................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

........................................................................................................................................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

 Trang1_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 2/57

NHAÄN XEÙT CUÛA HOÄI ÑOÀNG PHAÛN BIEÄN

............................................................................................................

............................................................................................................

........................................................................................................................................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

........................................................................................................................................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

............................................................................................................

 Trang2_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 3/57

LÔØI CAÛM ÔN

PIC laø moät doøng vi ñieàu khieån khaù môùi meû ôû nöôùc ta.Laàn ñaàu tieân chuùng em tieáp xuùc vôùi noù do ñoù vieäc tìm

hieåu noù gaëp raát nhieàu khoù khaên. Tuy nhieân nhôø söï giuùpñôõ nhieät tình cuûa giaùo vieân höôùng daãn_thaày Voõ TöôøngQuaân cuøng vôùi söï hoã trôï nhieät tình cuûa caùc baïn trong lôùp,chuùng em ñaõ hoaøn thaønh toát ñoà aùn naøy. Chuùng em xinchaân thaønh caûm ôn Thaày vaø caùc baïn.

Laàn ñaàu tieân tìm hieåu veà doøng PIC neân chaén khoângtraùnh khoûi nhöõng thieáu soùt, chuùng em mong seõ nhaän ñöôïcnhöõng höôùng daãn quyù baùu cuûa caùc Thaày trong Boä moânvaø caùc yù kieán ñoùng goùp cuûa caùc baïn ñeå coù theå tieáptuïc tìm hieåu sau hôn veà doøng vi ñieàu khieån PIC.

 Trang3_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 4/57

LÔØI GIÔÙI THIEÄU

Ngaøy nay, vôùi toác ñoä phaùt trieån maïnh meõ cuûa coângngheä töï ñoäng trong taát caû moïi lónh vöïc thì vieäc tìm hieåu vaø

öùng duïng caùc doøng chip Vi ñieàu khieån laø moät vaán ñeà caànñöôïc quan taâm. Hoï Vi ñieàu khieån 8051 raát quen thuoäc vôùichuùng ta, vaø noù töøng ñöôïc xem laø hoï vi ñieàu khieån raát öuvieät. Tuy nhieân vôùi nhu caàu ngaøy caøng cao veà tính oån ñònh,toác ñoä xöû lyù cuõng nhö khaû naêng tieáp caän deã daøng cuûangöôøi duøng, thì hoï 8051 ñaõ khoâng phaùt huy ñöôïc öu theácuûa mình.

Caùc chip vi ñieàu khieån thuoäc doøng PIC cuûa haõngMicrochip®  coù leõ khoâng quaù xa laï. Vôùi coâng ngheä RISC(Reduced Instruction Set Computer ) naâng cao ñaùng keå toác ñoä xöû lyù,

khaû naêng choáng nhieãu, khaû naêng môû roäng toát, khaû naêngnaïp laïi treân 1000 laàn, taäp leänh ñôn giaûn, ñöôïc hoã trôï laäptrình döôùi daïng Macro vaø ña daïng veà chuûng loaïi, thì doøng PIClaø moät doøng vi ñieàu khieån toát nhaát trong caùc öùng duïng töï ñoäng töø ñôn giaõn ñeán phöùc taïp nhaát. Tuy nhieân ñeán giôønoù coøn khaù môùi meû vaø vaãn chöa ñöôïc öùng duïng roängraõi. Vì theá vieäc tìm hieåu doøng vi ñieàu khieån naøy laø moätnhu caàu thöïc teá vaø noù höùa heïn mang laïi nhieàu hieäu quaûthieát thöïc phuïc vuï cho coâng ngheä töï ñoäng.

PIC16F84 laø moät tieâu bieåu, coù theå ñöôïc coi laø chip viñieàu khieån ñôn giaûn nhaát cuûa doøngï PIC. Vôùi 2 Port, 18 chaânvaø ñaày ñuû caùc tính chaát öu vieät cuûa doøng PIC, PIC16F84phuø hôïp vôùi caùc öùng duïng vöøa vaø nhoû, nhaát laø caùc thí nghieäm phuïc vuï hoïc taäp, nghieân cöùu.

Chuùng em mong raèng vôùi ñoà aùn “PIC16F84 vaø moät soáöùng duïng” seõ laø böôùc khôûi ñaàu môû ra caùi nhìn gaàn guõihôn veà doøng PIC ñeå töø ñoù chuùng ta coù theâm moät coâng cuï ñaéc löïc trong ñieàu khieån töï ñoäng.

 Trang4_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 5/57

MUÏC LUÏCNHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN................................................1.............................................................................................................................1.............................................................................................................................1.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1

.............................................................................................................................1NHAÄN XEÙT CUÛA HOÄI ÑOÀNG PHAÛN BIEÄN...................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2

.............................................................................................................................2.............................................................................................................................2

.............................................................................................................................2

.............................................................................................................................2

.............................................................................................................................2

.............................................................................................................................2

.............................................................................................................................2

.............................................................................................................................2............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2.............................................................................................................................2LÔØI CAÛM ÔN......................................................................................................3LÔØI GIÔÙI THIEÄU................................................................................................4

Phaàn I: GIÔÙI THIEÄU VEÀ PIC16F84 ..................................................................... 7I.1. Toång quan: .................................................................................. 7

I.1.1. Caáu truùc ........................................................................... 7

I.1.2. Sô ñoà chaân ....................................................................... 9I.1.3. Boä taïo xung ..................................................................... 10

 Trang5_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 6/57

I.1.4. Reset .................................................................................. 10I.1.5. Boä xöû lyù trung taâm (CPU) ..........................................10I.1.6. Thanh ghi traïng thaùi status ............................................. 11I.1.7. Caùc port ........................................................................... 12I.1.8. PORTB vaø TRISB ............................................................... 12

I.2. Toå chöùc boä nhôù .................................................................... 14I.2.1. Caùc thanh ghi SFR ............................................................ 15I.2.2. Boä ñeám chöông trình ...................................................... 16I.2.3. Laäp trình cho vi ñieàu khieån ........................................... 16I.2.4. Caùc kieåu ñònh ñòa chæ ................................................ 16

I.3. Caùc cô cheá ngaét ..................................................................... 16I.3.1. Thanh ghi ñieàu khieån ngaét (INTCON ) .........................17

I.4. Timer TMR0 ................................................................................. 19I.5. Thanh ghi OPTION ....................................................................... 19

I.6. Boä nhôù döõ lieäu EEPROM ....................................................... 21I.6.1. Thanh ghi EECON1 ............................................................. 21Phaàn II: LAÄP TRÌNH HÔÏP NGÖÕ CHO PIC16F84 ................................................ 23II.1. Giôùi thieäu: ............................................................................... 23

II.1.1. Bieåu dieãn soá trong trình bieân dòch ............................ 23II.1.2. Caùc yeáu toá cuûa hôïp ngöõ: ........................................23

II.2. Taäp leänh cuûa PIC: .................................................................. 24Phaàn III: PHÖÔNG PHAÙP NAÏP CHIP ................................................................... 32III.1. Giôùi thieäu phaàn meàm MPLAB ............................................. 32III.2. Phaàn meàm naïp chip IC – PROG: ............................................ 32III.3. Mach naïp JDM ........................................................................... 33Phaàn IV: ÖÙNG DUÏNG ...................................................................................... 35IV.1. Ñieàu khieån LED ...................................................................... 35

IV.1.1. Hoaït ñoäng ..................................................................... 35IV.1.2. Maïch ñieàu khieån .......................................................... 36

IV.2. Ñieàu khieån ñoäng cô Servo ................................................... 37IV.2.1. Hoaït ñoäng ..................................................................... 37IV.2.2. Maïch ñieàu khieån .......................................................... 40

IV.3. Ñieàu khieån LCD ...................................................................... 40IV.3.1. Giôùi thieäu veà LCD ....................................................... 40IV.3.2. Hoaït ñoäng cuûa LCD trong öùng duïng ......................... 44IV.3.3. Sô ñoà maïch ñieàu khieån LCD ......................................46

IV.4. Moâ hình tích hôïp: .................................................................... 46IV.5. Maõ chöông trình: ..................................................................... 48

 Trang6_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 7/57

Phaàn I: Giôùi thieäu veà PIC16F84

Phaàn I: GIÔÙI THIEÄU VEÀ PIC16F84

I.1. Toång quan:

I.1.1. Caáu truùcPIC16F84 thuoäc vi ñieàu khieån 8 bit coù caáu truùc

RISC( Reduce Instruction Set Computer). Caáu truùc toång quaùtcuûa noù ñöôïc bieåu dieãn döôùi daïng caùc khoái sau :

Hình I-1: Sô ñoà khoái PIC

Boä nhôù chöông trình (Program memory) : Duøng ñeå chöùachöông trình naïp. Vì ñöôïc cheá taïo baèng coâng ngheä FLASHneân boä nhôù naøy coù theå ñöôïc laäp trình hay xoaù nhieàulaàn.Öu ñieåm naøy khieán cho con vi ñieàu khieån naøy thích hôïpcho vieäc xaây döïng caùc öùng duïng ñieàu khieån.

EPPROM: Ñaây laø boä nhôù ñeå löu tröõ döõ lieäu khi khoâng

caáp nguoàn. Thoâng thöôøng noù ñöôïc duøng ñeå chöùa döõ lieäuquan troïng khoâng theå maát neáu chaúng may nguoàn caáp bòmaát ñoät ngoät.

RAM: Boä nhôù döõ lieäu ñöôïc söû duïng cho trong suoát quaùtrình thöïc thi chöông trình trong vi ñieàu khieån.

PORTA vaø PORTB: laø caùc ngoõ keát noái vaät lyù giöõa viñieàu khieån vôùi caùc phaàn cöùng beân ngoaøi. PORTA coù 5chaân giao tieáp trong khi PORTB coù ñeán 8 chaân.

FREE- RUN TIMER: Ñaây laø moät thanh ghi 8 bit ôû beân trongvi ñieàu khieån, noù hoaït ñoäng ñoäc laäp vôùi chöông trình. Cöùmoãi boán xung nhòp cuûa boä dao ñoäng thì giaù trò cuûa noù

 Trang7_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 8/57

Phaàn I: Giôùi thieäu veà PIC16F84

taêng leân moät cho ñeán khi ñaït ñeán giaù trò toái ña laø 255, vaøsau ñoù noù laïi baét ñaàu ñeám töø 0. Neáu nhö chuùng ta bieátñöôïc chính xaùc thôøi giöõa hai laàn taêng cuûa noäi dung thanhghi Timer, thì khi ñoù noù seõ ñöôïc duøng ñeå ñònh thôøi gian,moät ñaëc ñieåm heát söùc höõu ích vaø ñöôïc öùng duïng raátnhieàu trong thöïc teá.

CPU(Central Processing Unit ): Ñoùng vai troø then choát trongvieäc keát noái caùc thaønh phaàn trong vi ñieàu khieån vôùi nhau,ñöôïc so saùnh gioáng nhö boä naõo con ngöôøi. Noù lieân keát caùchoaït ñoäng cuûa caùc khoái trong vi ñieàu khieån vaø thöïc thichöông trình.RISC

Ngay phaàn ñaàu chuùng ta coù noùi raèng PIC16F84 coù caáutruùc RISC, vaäy RISC coù nghóa laø gì? Ñeå coù theå thaáy ñöôïc öu

ñieåm cuûa vi ñieàu khieån naøy, chuùng ta seõ ñi vaøo tìm hieåukhaùi nieäm veà caáu truùc RISC thoâng qua vieäc so saùnh haimoâ hình khoái caáu truùc Von - Neuman vaø caáu truùc Harvards.

Hình I-2: Caáu truùc Havard vaø Von - Neumann

Nhö ta ñaõ bieát, caáu truùc vi ñieàu khieån cuûa Von Neumanla moät caáu truùc coå ñieån vaø ñöôïc öùng duïng phoå bieán.ÔÛcaáu truùc naøy, bus döõ lieäu vaø ñòa chæ ñöôïc truy xuaát treâncuøng moät ñöôøng, do ñoù noù phaàn naøo aûnh höôûng ñeán toácñoä thöïc thi cuûa vi ñieàu khieån.

Khoâng gioáng nhö caáu truùc Von Neuman, caáu truùcHarvards taùch rieâng bus döõ lieäu vôùi bus ñòa chæ. Chính ñieàunaøy ñaõ taêng toác ñoä xöû lyù cuûa vi ñieàu khieån leân moätcaùch ñaùng keå. Caùc vi ñieàu khieån coù caáu truùc phaàn cöùngkieåu Harvards thì ñöôïc goïi laø vi ñieàu khieån RISC. RISC laø vieáttaét cuûa thuaät ngöõ “Reduce Instruction Set Computer”.

Bôûi vì PIC16f84 coù caáu truùc RISC neân noù coù taäp leänh

ñöôïc tinh giaûm, cuï theå laø 35 leänh. Taát caû caùc leänh naøy

 Trang8_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 9/57

Phaàn I: Giôùi thieäu veà PIC16F84

ñeàu ñöôïc thöïc thi trong moät chu kyø maùy,tröø caùc leänh nhaûyvaø reõ nhaùnh.

I.1.2. Sô ñoà chaân

PIC16F84 coù toång coäng 18 chaân, teân goïi vaø chöùc naêng

töøng chaân nhö sau:

Hình I-3: Hình daùng beân ngoaøi PIC16f84

• Chaân1: RA2, chaân thöù hai cuûa port A

• Chaân 2: RA3, chaân thöù ba cuûa port A

• Chaân 3: RA4, chaân thöù tö cuûa port A. Ngoaøi ra, chaânnaøy coù coù chöùc naêng laø moät boä ñònh thôøi( TOCK1)

• Chaân 4: MCLR ngoõ reset vaø caáp aùp laäp trình cho vi ñieàukhieån.

• Chaân 5: Vss chaân noái ñaát cuûa nguoàn.

• Chaân 6: RB0, chaân soá 0 cuûa port B. Ngoaøi ra noù coønlaø ngoõ vaøo cuûa ngaét.

• Chaân 7: RB1, chaân soá 1 cuûa port B.

• Chaân 8: RB2, chaân soá 2 cuûa port B.

• Chaân 9: RB3, chaân soá 3 cuûa port B.

• Chaân 10: RB4, chaân soá 4 cuûa port B.

Chaân 11: RB5, chaân soá 5 cuûa port B.• Chaân 12: RB6, chaân soá 6 cuûa port B.

• Chaân 13:RB7, chaân soá 7 cuûa port B.

• Chaân 14: Vdd, chaân caáp nguoàn cho vi ñieàu khieån.

• Chaân 15: OSC2,chaân noái vôùi boä dao ñoäng.

• Chaân 16: OSC1, chaân noái vôùi boä dao ñoäng.

• Chaân 17: RA2, chaân soá 2 cuûa port A.

• Chaân 18: RA1, chaân soá 1 cuûa port A.

 Trang9_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 10/57

Phaàn I: Giôùi thieäu veà PIC16F84

I.1.3. Boä taïo xung

Boä taïo xung duøng ñeå caáp xung cho vi ñieàu khieån hoaïtñoäng.

PIC16F84 coù theå hoaït ñoäng vôùi boä taïo xung duøng thaïch

anh vaø maïch dao ñoäng RC.ÔÛ ñaây chuùng ta chæ söû duïng thaïch anh, vì noù oån ñònhvaø ñôn giaûn. 

Hình I-4: Maïch taïo xung duøng thaïch anh

I.1.4. Reset 

Chöùc naêng Reset duøng ñeå khôûi taïo laïi cho ñieàu khieånveà ñieàu kieän ban ñaàu. Thöïc teá trong quaù trình hoaït ñoäng,coù nhöõng luùc vi ñieàu khieån hoaït ñoäng khoâng nhö mong

muoán do bò taùc ñoäng bôûi moät taùc nhaân naøo ñoù, khi ñaáyta seõ duøng chöùc naêng Reset ñeå khôûi taïo laïi chöùc naêng chovi ñieàu khieån, ñöa caùc thanh ghi veà vò trí khôûi taïo ban ñaàu.Khoâng chæ coù theá, Reset coøn coù vai troø nhö moät ngaét( Interupt ), giuùp thoaùt khoûi moät chöông trình moät caùch töùcthôøi.

Caùc nhieàu caùch ( nguoàn ) ñeå Reset laïi vi ñieàu khieån,trong ñoù coù hai nguoàn quan troïng nhaát, ñoù laø Reset khi vöøacaáp nguoàn ( Power On Reset _ POR ), vaø Reset bôûi chaân MCLR.

I.1.5. Boä xöû lyù trung taâm (CPU)

CPU ñöôïc ví nhö laø boä naõo cuûa vi ñieàu khieån, noù ñaûmnhaän vai troø tìm kieám vaø giaûi maõ caùc caáu truùc leänh cho viñieàu khieån hoaït ñoäng.

CPU gaén keát caùc thaønh phaàn cuûa vi ñieàu khieån thaønhmoät khoái thoáng nhaát. Nhö ñaõ noùi ôû treân, chöùc naêng quantroïng nhaát cuûa noù chính laø giaûi maõ leänh. Khi ta vieát moätchöông trình, caùc caâu leänh thöôøng coù daïng gôïi nhôù nhöMOVLW 0x20. Theá nhöng ñeå cho vi ñieàu khieån hieåu ñöôïc, thìcaâu leänh treân phaûi ñöôïc dòch thaønh moät chuoãi caùc soá 0

vaø 1, goïi laø maõ leänh ( opcode ). Vieäc dòch töø daïng chöõsang thaønh maõ leänh ñöôïc thöïc hieän bôûi caùc trình bieân dòch,

 Trang10_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 11/57

Phaàn I: Giôùi thieäu veà PIC16F84

chaúng haïn nhö trình dòch hôïp ngöõ. Sau ñoù CPU seõ giaûi maõvaø thöïc thi caùc leänh.

I.1.6. Thanh ghi traïng thaùi status

Hình I-5: Thanh ghi traïng thaùi

Bit 7_ IRP( Register bank Select bit ): laø bit thöù 8 cuûathanh ghi STATUS laøm nhieäm vuï ñònh ñòa chæ giaùn tieáp

cho RAM noäi.IRP = 1: bank 2 vaø 3IRP = 0 bank 1 vaø 0 ( töø ñòa chæ 00h ñeán FFh).

Bit 6:5 _ RP1: RP0 ( Register Bank Select Bits ): Hai bitnaøy duøng ñeå choïn bank thanh ghi.01 = Bank 100 = Bank 0

Bit 4 _TO (Time – out ): bit naøy ñöôïc set baèng 1 moãi

khi WDT bò traøn.1 = Chöa traøn0 = Bò traøn

Bit 3_ PD ( Power – down bit ) bit naøy ñöôïc set moãi khivi ñieàu khieån ñöôïc caáp nguoàn, khi baét ñaàu chaïy, sau khireset, vaø sau khi thöïc hieän leänh CLRWDT

Bit 2_ Z ( Zero bit ) Duøng ñeå chæ keát quaû ra 0, ñöôïcset moãi khi keát quaû traû veà cuûa moät pheùp toaùn soá hoïc

hay luaän lyù coù giaù trò laø 0.

Bit 1_ DC ( Digit Carry ) Bò aûnh höôûng bôûi caùcpheùp toaùn coäng, tröø. Noù ñöôïc set khi ta tröø moät soá chomoät soá lôùn hôn.Vaø ñöôïc reset trong tröôøng hôïp ngöôïc laïi.

Bit 0_ C (Carry )aûnh höôûng bôûi caùc leänh ADDWF,ADDLW, SUBLW, SUBWF.

 Trang11_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 12/57

Phaàn I: Giôùi thieäu veà PIC16F84

I.1.7. Caùc port 

Port duøng ñeå chæ moät nhoùm caùc chaân treân vi ñieàukhieån coù theå truy xuaát ñoàng thôøi, hoaëc coù theå set moät bitmong muoán leân 1 hay xuoáng 0, hoaëc ñoïc töø chuùng traïng

thaùi ñang toàn taïi. Veà maët vaät lyù, Port laø moät thanh ghibeân trong vi ñieàu khieån ñöôïc noái bôûi daây daãn vôùi caùcchaân cuûa vi ñieàu khieån. Noù ñaïi dieän cho söï keát noái vaät lyùgiöõa boä xöû lyù trung taâm vôùi theá giôùi beân ngoaøi. Vi ñieàukhieån duøng chuùng ñeå hieån thò hay ñieàu khieån caùc caùcthaønh phaàn hay thieát bò khaùc. Tuyø theo chöùc naêng, maømoät vaøi chaân coù theå ñaûm nhieäm caû vai troø, chaúng haïnnhö chaân RA4/TOCKI, vöøa laø bi thöù 4 cuûa Port A, laïi vöøa laøngoõ vaøo töø beân ngoaøi cho boä ñeám. Vieäc löïa choïn moättrong hai chöùc naêng naøy ñöôïc thöïc hieän qua vieäc thay ñoåi

giaù trò cho caùc thanh ghi chuyeân duïng, chaúng haïn ôû ñaây laøbit thöù 5 TOSC trong thanh ghi OPTION. Khi ta choïn moät trong haichöùc naêng thì chöùc naêng coøn laïi seõ khoâng hoaït ñoängñöôïc.

 Taát caû caùc chaân trong port ñeàu coù theå ñöôïc duøng nhöcaùc ngoõ xuaát hay nhaäp, tuyø thuoäc vaøo yeâu caàu cuûa thieátbò caàn ñieàu khieån. Ñeå ñònh nghóa moät chaân laø xuaát hay laønhaäp, thì ta söû duïng caùc thanh ghi TRIS ôû bank1. Neáu moätbit trong thanh ghi TRIS baèng 1, thì bit töông öùng vôùi vò trí ñoùtrong port luùc naøy seõ laø ngoõ nhaäp, vaø ngöôïc laïi.Moãi moät

port coù moät thanh ghi TRIS rieâng cho noù, port A öùng vôùi TRISA, port B öùng vôùi TRISB.Thanh ghi Port A vaø B naèm trongbank 0, trong khi TRISA vaø TRISB naèm trong bank1.

I.1.8. PORTB vaø TRISB

Port B goàm 8 chaân.  Thanh ghi töông öùng cho vieäc xaùcñònh chieàu döõ lieäu laø TRISB.

 Trang12_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 13/57

Phaàn I: Giôùi thieäu veà PIC16F84

Hình I-6: Caáu truùc PORTB & TRISB

 

Moãi chaân trong Port B ñeàu coù saün moät ñieän trôû keùo

leân coù giaù trò nhoû ôû ngay beân trong (duøng ñeå noái ngoõleân möùc logic 1 ) coù theå ñöôïc kích hoaït baèng caùch reset bitthöù 7 RBPU trong thanh ghi OPTION. Caùc ñieän trôû keùo leânnaøy töï ñoäng taét khi caùc chaân cuûa port ñöôïc ñònh nghóa laøcaùc ngoõ xuaát. Khi vi ñieàu khieån baét ñaàu hoaït ñoäng, caùcñieän trôû naøy khoâng ñöôïc kích hoaït.

Caùc chaân töø RB4 ñeán RB7 cuûa port B coù theå gaây rangaét khi traïng thaùi cuûa noù thay ñoåi töø möùc 0 leân möùc 1vaø ngöôïc laïi. Chæ coù nhöõng chaân naøo ñöôïc ñònh nghóa laøngoõ nhaäp môùi coù theå gaây ra ngaét ñöôïc.PORTA vaø TRISA

Port A coù 5 chaân xuaát nhaäp, thanh ghi töông öùng cuûa noùlaø TRISA coù ñòa chæ 85h. Cuõng gioáng nhö port B, vieäc setmoät bit trong thanh ghi TRISA seõ ñònh nghóa bit töông öùng trongport A laø xuaát hay laø nhaäp.

Moät ñieàu quan troïng caàn chuù yù laø chaân RA4 cuûa port Achæ coù theå döøng ñeå nhaäp maø thoâi. Noù cuõng duøng ñeånhaäp töø ngoaøi cho boä ñònh thôøi TMR0.

 Trang13_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 14/57

Phaàn I: Giôùi thieäu veà PIC16F84

Hình I-7: Caáu truùc PORTA & TRISA

I.2. Toå chöùc boä nhôùPIC16F84 coù hai khoái boä nhôù phaân caùch nhau, moät cho

döõ lieäu vaø caùi coøn laïi cho chöông trình. Boä nhôù EPPROM vôùicaùc thanh ghi GPR vaø SFR trong boä nhôù RAM seõ quaûn lyùkhoái döõ lieäu, coøn boä nhôù FLASH quaûn lyù khoái chöông trình.Boä nhôù chöông trình

Boä nhôù chöông trình ñöôïc cheá taïo baèng coâng ngheäFLASH, noù cho pheùp laäp trình cho vi ñieàu khieån ñöôïc nhieàulaàn tröôùc khi noù ñöôïc laép ñaët vaøo thieát bò, hoaëc ngay caùcsau khi noù ñöôïc laép ñaët maø coù moät söï coá naøo ñoù xaûy ra.Dung löôïng cuûa boä nhôù chöông trình naøy laø 1024 doøng leänh

vôùi ñoä daøi 14 bit, trong ñoù caùc vò trí töø 0h ñeán 4h ñöôïcduøng cho caùc vector reset vaø ngaét.Boä nhôù döõ lieäuBoä nhôù döõ lieäu bao goàm boä nhôù RAM vaø EPPROM. Boä

nhôù EPPROM bao goàm 64 byte, noäi dung cuûa noù khoâng bòmaát ñi neáu lôõ nhö maát nguoàn. EPPROM khoâng ñöôïc ñònh ñòachæ tröïc tieáp, maø ñöôïc truy xuaát giaùn tieáp thoâng qua 2thanh ghi laø EEADR vaø EEDATA. Bôûi vì boä nhôù EPPROM ñöôïcduøng cho vieäc löu tröõ nhöõng thoâng soá quan troïng, cho neânngöôøi laäp trình caàn phaûi tuaân theo moät soá quy taéc ñeå

traùnh maéc loãi trong luùc vieát. Boä nhôù Ram coù ñòa chæ töø

 Trang14_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 15/57

Phaàn I: Giôùi thieäu veà PIC16F84

0x0C ñeán 0x4F, bao goàm 68 oá nhôù 8 bit. Vieäc xaùc ñònh vò trí cuûa RAM cuõng ñöôïc thöïc hieän thoâng qua thanh ghi GPR 

I.2.1. Caùc thanh ghi SFR

 Ñaây laø caùc thanh ghi coù chöùc naêng ñaëc bieät, chieám 12 oâ

nhôù ñaàu tieân trong caùc bank 0 vaø bank 1.

Hình I-8: Toå chöùc boä nhôù PIC16F84

 Trang15_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 16/57

Phaàn I: Giôùi thieäu veà PIC16F84

I.2.2. Boä ñeám chöông trình

Boä ñeám chöông trình (PC ) laø moät thanh ghi 13 bit, noùchöùa ñòa chæ cuûa caùc leänh caàn thöïc thi. Noù ñöôïc xaùc ñònhbaèng caùch keát hôïp cuûa thanh ghi 5 bit PCLATCH cho 5 bit cao

caû ñòa chæ vôùi thanh ghi 8 bit PCL cho 8 bit thaáp cuûa ñòa chæ.Baèng caùch taêng daàn noäi dung cuûa PC, vi ñieàu khieån seõtöøng böôùc thöïc hieän caùc leänh coù trong chöông trình.

I.2.3. Laäp trình cho vi ñieàu khieån

Ñeå laäp trình vaøo boä nhôù chöông trình,vi ñieàu khieån phaûiñöôïc set ôû cheá ñoä laøm vieäc ñaëc bieät, cuï theå khi ñoù chaânMCLR seõ ñöôïc noái vôùi aùp 13,5V, vaø nguoàn cung caáp phaûioån ñònh. Boä nhôù chöông trình coù theå ñöôïc laäp trình noái tieápsöû duïng 2 chaân “ data / clock “.

I.2.4. Caùc kieåu ñònh ñòa chæÑòa chæ oâ nhôù trong RAM coù theå ñöôïc truy xuaát baèng hai

caùch:_ Ñònh ñòa chæ tröïc tieáp._Ñònh ñòa chæ giaùn tieáp.

I.3. Caùc cô cheá ngaétNgaét laø moät ñaëc tính cuûa vi ñieàu khieån maø cho pheùp

noù ñaùp öùng ñöôïc vôùi nhöõng söï kieän taïi luùc noù xaûy ra, vaøxaùc ñònh xem vi ñieàu khieån seõ laøm gì tieáp theo sau ñoù. Ñaâylaø moät chöùc naêng voâ cuøng quan troïng, bôûi vì noù taïo neânsöï gaén keát giöõa vi ñieàu khieån vôùi theá giôùi xung quanh noù. Thoâng thöôøng thì ngaét seõ laøm ngöng chöông trình ñang thöïchieän, coøn goïi laø chöông trình neàn, vaø thöïc hieän tieáp chöôngtrình ngaét töông öùng vôùi nguyeân nhaân gaây ra ngaét.

 Trang16_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 17/57

Phaàn I: Giôùi thieäu veà PIC16F84

Hình I-9: Caáu truùc ngaét

I.3.1. Thanh ghi ñieàu khieån ngaét (INTCON )

 Thanh ghi ñieàu khieån ngaét (INTCON) ñöôïc truy xuaát baèngcaùch choïn bank töông öùng. Noù coù chöùc naêng cho pheùp haylaø caám xaûy ra ngaét, vaø xaùc ñònh caùc nguyeân nhaân ngaét. 

Hình I-10: Thanh ghi ñieàu khieån ngaét

Bit 7_ GIE ( Global Interupt Enable bit ): Ñaây laø bit chopheùp hay khoâng cho pheùp ngaét.

Neáu GIE = 1: Caùc ngaét ñöôïc cho pheùp.

Neáu GIE = 0: Caùc ngaét bò caám.

Bit 6 EEIE ( EPPROM Write Complete Interupt Enable bit ): Bitcho pheùp ngaét gaây ra taïi nôi keát thuùc cuûa vieäc vieátchöông trình con vaøo EPPROM.

Bit 5 TOIE ( TMR0 Overflow Interupt Enable bit ): Bit chopheùp kích hoaït ngaét gaây ra bôûi söï traøn cuûa TMR0.

Bit 4 INTE( INT External Interupt Enable bit ): Bit cho pheùpngaét gaây ra bôûi ngaét ngoaøi taït chaân RB0/INT.

 Trang17_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 18/57

Phaàn I: Giôùi thieäu veà PIC16F84

Bit 3 RBIE ( RB port change Interupt Enable bit ) Cho pheùpngaét xaûy ra khi coù söï thay ñoåi traïng thaùi treân caùc chaânRB4 ñeán RB7.

Bit 2 TOIF ( TMR0 Overflow Interupt Flag bit ): Côø baùo traøn

cuûa TMR0. Bit naøy phaûi ñöôïc xoaù baèng phaàn meàm ñeåcoù theå söû duïng ngaét naøy tieáp theo.

Bit 1 INTF ( INT External Interupt Flag bit ): Côø baùo khi xaûyra ngaét ngoaøi.

Bit 0 RBIF ( RB Port Change Interupt Flag bit ): Bit xaùc ñònhsöï thay ñoåi treân caùc chaân töø RB4 ñeán RB7. Nit naøy cuõngcaàn phaûi ñöôïc xoaù trong chöông trình con ngaét ñeå coù theåñaùp öùng caùc ngaét tieáp theo xaûy ra sau ñoù.

Ngaét ngoaøi treân chaân RB0/INT cuûa vi ñieàu khieån Ngaét ngoaøi xaûy ra treân chaân RB0/INT

Ñöôïc kích hoaït bôûi tín hieäu caïnh leân ( neáu bit INTEDG = 1trong thanh ghi OPTION ) hoaëc bôûi tín hieäu caïnh xuoáng ( neáuINTEDG = 0 ). Khi coù tín hieäu xuaát hi65n treân chaân INT, bit INTFseõ ñöôïc set trong thanh ghi INTCON. Bit naøy phaûi ñöôïc xoaù ñitrong chöông trình phuïc vuï ngaét ñeå ngaét khoâng xaûy ra nöõakhi quay laïi chöông trình chính.Ngaét do söï traøn cuûa boä ñeám TMR0

 Khi TMR0 bò traøn, noù seõ set bit TOIF leân 1. Ñaây laø moätchöùc naêng quan troïng, bôûi vì nhieàu vaán ñeà hoùc buùa trong

thöïc teá coù theå ñöôïc giaûi quyeát khi söû duïng chöùc naêngnaøy. Ngaét do cô cheá naøy coù theå ñöôïc cho pheùp hay caámbaèng caùch set/ reset bit T0IE.

Ngaét do söï thay ñoåi traïng thaùi treân caùc chaânRB4:RB7.

Söï thay ñoåi traïng thaùi treân caùc chaân RB4: RB7 seõ set bitRBIF (INTCON< 0 > ) leân 1, töø ñoù kích hoaït ngaét xaûy ra.Ñeåcho caùc chaân naøy nhaän ñöôïc söï thay ñoåi traïng thaùi cuûa tín

hieäu, thì chuùng phaûi ñöôïc ñònh nghóa laø caùc ngoõ nhaäp.Neáu moät trong chuùng ñöôïc ñònh nghóa laø ngoõ xuaát, thì ngaétseõ khoâng xaûy ra ñöôïc. Neáu nhö ta ñònh nghóa taát caû chuùngñeàu laø ngoõ xuaát, thì traïng thaùi hieän thôøi cuûa chuùng seõñöôïc so saùnh vôùi giaù trò cuõ maø ñöôïc löu ôû laàn ñoïc cuoáicuøng töø port B.

Khôûi taïo ngaét

Ñeå coù theå ñöôïc chöùc naêng ngaét cuûa vi ñieàu khieån, thì

ñaàu tieân ta phaûi thöïc hieän caùc leänh khôûi taïo ban ñaàu cho

 Trang18_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 19/57

Phaàn I: Giôùi thieäu veà PIC16F84

noù, baèng caùch xaùc ñònh caùc bit töông öùng trong thanh ghiñieàu khieån ngaét INTCON.

I.4. Timer TMR0Timer thöôøng laø phaàn gaây khoù hieåu cuûa vi ñieàu

khieån, theá nhöng neáu tìm hieåu kyõ caøng, ta seõ thaáy noùgiuùp ích raát nhieàu trong coâng taùc laäp trình cho vi ñieàu khieån.Moät trong nhöõng öùng duïng cuûa noù laø thieát laäp moái quanheä giöõa moät ñaïi löôïng thöïc, chaúng haïn nhö thôøi gian vaømoät bieán soá maø bieåu thò traïng thaùi cuûa moät boä ñònhthôøi vôùi vi ñieàu khieån. Veà maët vaät lyù, timer laø moät thanhghi 8 bit coù giaù trò taêng daàn töø 0 ñeán 255, vaø sau ñoù laïitieáp tuïc ñeám leân töø 0. Söï taêng leân naøy ñöôïc thöïc hieäntreân neàn cuûa caùc chöông trình ñang thöïc hieän cuûa vi ñieàukhieån. Noù ñöa ra cho ngöôøi söû duïng nhieàu giaûi phaùp höõu

hieäu trong vieäc giaûi quyeát toái öu vaán ñeà, moät trong chuùnglaø taêng moät bieán soá naøo ñoù leân taïi moãi thôøi ñieåm timerbò traøn.

Nhö ñaõ noùi treân, PIC16F84 coù moät boä timer 8 bit, vaø nhövaäy giaù trò toái ña maø timer ñeám laø 256 ( töø 0 ñeán 255 ).

Sau moãi laàn timer ñeám ñeán 255, noù seõ töï reset giaù tròveà 0 vaø baét ñaàu ñeám laïi töø ñaàu. Taïi thôøi ñieåm timerchuyeån giaù trò töø 255 veà 0, bit T0IF trong thanh ghi INTCON seõñöôïc set leân 1. Neáu nhö caùc ngaét ñöôïc cho pheùp xaûy ra, thìcon troû chöông trình seõ nhaûy ñeán chöông trình con phuïc vuï ngaét. Beân caïnh vieäc nhaän xung noäi, giaù trò cuûa timer cuõngcoù theå taêng leân nhôø vaøo vieäc nhaän xung töø beân ngoaøithoâng qua chaân RA4/ TOCKI, vaø khi ñoù timer hoaït ñoäng nhömoät boä ñeám.

I.5. Thanh ghi OPTION

Hình I-11: Thanh ghi OPTION

Bit 7 RBPU ( PORTB Pull up Enable bit )

  Ñaây laø bit kích hoaït hay taét ñieän trôû noäi keùo leân coùtrong caùc chaân cuûa port B.

1 = Kích hoaït0 = Voâ hieäu

Bit 6 INTEDG ( Interupt Edge Select bit )

 Trang19_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 20/57

Phaàn I: Giôùi thieäu veà PIC16F84

  Neáu söï kieän ngaét ñöôïc cho pheùp, bit naøy seõ xaùc ñònhxem ngaét xaûy ra khi coù söï thay ñoåi cuûa tín hieäu taïi caïnhleân hay caïnh xuoáng.

1 = Caïnh leân

0 = Caïnh xuoáng  Bit 5_ T0CS( TMR0 Clock Source Select bit )

Bit naøy seõ xaùc ñònh xem boä ñònh thôøi seõ taêng taïimoãi ¼ xung kích cuûa boä dao ñoäng, hoaëc laø taêng daàn thoângqua xung kích töø b6n ngoaøi thoâng qua chaân RA4/ T0CKI.

1 = Xung töø beân ngoaøi0 = ¼ xung beân trong

Bit 4 T0SE ( TMR0 Source Edge Select bit )

Neáu söû duïng TMR0 nhö laø moät boä ñeám xung beân ngoaøithoâng qua chaân RA4 thì bit naøy seõ xaùc ñònh xem boä ñeám seõtaêng taïi caïnh leân hay caïnh xuoáng cuûa xung kích.

1 = Caïnh xuoáng0 = Caïnh leân

 Bit 3 PSA ( Presscaler Assignment bit )

Bit naøy seõ xaùc ñònh tæ leä giöõa TMR0 vaø WDT.

1 = Tæ leä gaùn cho WDT.

0 = Tæ leä ñöôïc gaùn cho TMR0.  Bit 0: 2 PS0, PS1, PS2 ( Presscaler Assignment bit )

Trong tröôøng hôïp söû duïng xung thaïch anh 4 MHz, thì moätchu kyø leänh toán 1us. Caùc bit PS0, PS1, PS2 seõ xaùc ñònhkhoaûng thôøi gian giöõa moãi laàn taêng cuûa TMR0 hay WDT.

 

 Trang20_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 21/57

Phaàn I: Giôùi thieäu veà PIC16F84

I.6. Boä nhôù döõ lieäu EEPROM  PIC16F84 coù moät boä nhôù döõ lieäu EPPROM vôùi dung

löôïng 64 bytes coù ñòa chæ töø 00h ñeán 63h, coù theå ñöôïc ghihay ñoïc. Ñaëc tính quan troïng nhaát cuûa noù chính laø döõ lieäu

caát trong noù khoâng bò maát ñi khi bò maát nguoàn. Theo nhaøsaûn xuaát thì döõ lieäu coù theå caát trong EPPROM seõ ñöôïc baûotoaøn ñeán 40 naêm.

Boä nhôù EPPROM ñöôïc ñaët trong moät vuøng nhôù ñaëc bieätvaø coù theå ñöôïc truy xuaát thoâng qua caùc thanh ghi ñaëc bieät.Chuùng laø:

EEDATA chöùa caùc döõ lieäu ñoïc vieát.EEADR chöùa ñòa chæ cuûa phaân vuøng EPPROM caàn truy

xuaát.

EECON1 chöùa caùc bit ñieàu khieån.EECON2 thanh ghi naøy khoâng toàn taïi veà maët vaät lyù,maø noù duøng ñeå baûo veä EPPROM khoûi nhöõng loãi laäp trìnhkhoâng ñaùng coù.

I.6.1. Thanh ghi EECON1

Hình I-12: Thanh hi EECON1

Bit 4 EEIF (EEPROM Write Operation Interupt Flag bit)

Bit duøng ñeå baùo cho vi ñieàu khieån bieát quaù trình ghi döõlieäu vaøo EPPROM ñaõ keát thuùc. Khi keát thuùc quaù trình ghi, thìbit naøy seõ töï ñoäng set leân 1. Ngöôøi laäp trình caàn phaûi xoaùbit naøy baêng phaàn meàm ñeå noù coù theå nhaän bieát ñöôïcmoät söï keát thuùc cuûa vieäc ghi tieáp theo.

1 = Ghi keát thuùc0 = Ghi chöa xong, hoaëc chöa baét ñaàu ghi

Bit 3 WRERR (Write EPPROM Error Flag ) 

Baùo loãi neáu gaëp trong quaù trình ghi vaøo EPPROM. Bit naøychæ ñöôïc set leân khi quaù trình ghi vaøo EPPROM bò ngaét bôûimoät tín hieäu reset hoaëc bò traøn WDT khi WDT ñöôïc kích hoaït.

1 = Coù loãi xaûy ra0 = Khoâng coù loãi

Bit 2 WREN ( EPPROM Write Enable bit ): 

 Trang21_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 22/57

Phaàn I: Giôùi thieäu veà PIC16F84

Bit cho pheùp ghi vaøo EPPROM. Neáu bit naøy khoâng ñöôïc setleân thì vi ñieàu khieån seõ khoâng cho pheùp ghi vaøo EPPROM.

Bit 1 WR (Write Control bit ):

Vieäc set bit naøy leân seõ khôûi taïo vieäc ghi döõ lieäu töøthanh ghi EEDATA ñeán moät ñòa chæ cuï theå thoâng qua thanhghi EEDR.

1 = Khôûi taïo ghi0 = Khoâng khôûi taïo

Bit 0 RD ( Read Control bit ):

Bit duøng ñeå ñieàu khieån vieäc khôûi taïo quaù trình chuyeåndöõ lieäu töø moät ñòa chæ ñaõ ñöôïc ñònh nghóa trong EEDR ñeánthanh ghi EEDATA.

1 = Khôûi taïo0 = Khoâng khôûi taïo

 

 Trang22_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 23/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

Phaàn II: LAÄP TRÌNH HÔÏP NGÖÕ CHO PIC16F84

II.1. Giôùi thieäu:Khaû naêng giao tieáp laø moät ñieàu raát quan troïng trongmoïi lónh vöïc. Tuy nhieân, ñieàu ñoù chæ coù theå thöïc hieänñöôïc khi hai beân giao tieáp bieát cuøng moät ngoân ngöõ. Vôùi quytaéc treân thì con ngöôøi vaø vi ñieàu khieån cuõng coù theå giaotieáp vôùi nhau. Ngoân ngöõ maø vi ñieàu khieån vaø con ngöôøiduøng ñeå giao tieáp goïi laø hôïp ngöõ. Teân “ Hôïp Ngöõ “ khoângcoù yù nghóa gì saâu xa, noù töông töï nhö teân caùc ngoân ngöõkhaùc nhö “ Tieáng Anh “ hay “ Tieáng Phaùp “. Noùi chính xaùc hônthì hôïp ngöõ chæ laø giaûi phaùp trung gian, bôûi vì chöông trình

vieát baèng hôïp ngöõ phaûi ñöôïc dòch sang maõ nhò phaân ñeåmaø vi ñieàu khieån coù theå hieåu ñöôïc. Hôïp ngöõ vaø trình bieândòch hôïp ngöõ laø hai khaùi nieäm khaùc nhau. Hôïp ngöõ laøngoân ngöõ duøng ñeå vieát chöông trình cho vi ñieàu khieån, coøntrình bieân dòch hôïp ngöõ laø chöông trình treân maùy tính caùnhaân maø noù dòch chöông trình vieát baèng hôïp ngöõ sang maõnhò phaân, chöông trình maø ñaõ ñöôïc dòch sang maõ nhò phaânthì ñöôïc goïi laø ngoân ngöõ maùy.

II.1.1. Bieåu dieãn soá trong trình bieân dòch

 Trong hôïp ngöõ MPLAB, caùc soá coù theå bieåu dieãn döôùidaïng thaäp phaân, thaäp luïc phaân, hoaëc nhò phaân.. Chuùng taseõ minh hoaï ñieàu naøy vôùi soá 240:.240 ;Decimal

  0xF0 ;Thaäp luïc phaân  B’11110000’ ;nhò phaân

Soá thaäp phaân ñöôïc baét ñaàu baèng moät daáu chaám, soáthaäp luïc phaân ñöôïc baét ñaàu baèng 0x, vaø soá nhò phaân baétñaàu baèng chöõ b vôùi daáu nhaùy ñôn.

II.1.2. Caùc yeáu toá cuûa hôïp ngöõ:Caùc yeáu toá cuûa hôïp ngöõ goàm coù:

Nhaõn

Leänh

 Toaùn töû

Caùc chæ daãn

-Lôøi chuù thích

Nhaõn:

 Trang23_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 24/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

Nhaõn bieåu thò ñòa chæ cuûa leänh theo sau. Khi coù söï reõnhaùnh ñeán leänh naøy, nhaõn ñöôïc duøng trong tröôøng toaùnhaïng cuûa leänh reõ nhaùnh hoaëc nhaûy.

Maõ gôïi nhôù leänh:

Maõ gôïi nhôù leänh hoaëc chæ daãn cuûa trình hôïp ngöõ theosau tröôøng nhaõn. Caùch thöùc maø chuùng ta vieát leänh ñöôïcgoïi laø cuù phaùp. Trong ví duï sau, chuùng ta coù theå nhaän raloãi trong khi vieát bôûi vì leänh movlp vaø gotto khoâng toàn taïitrong vi xöû lyù PIC16F84.

Leänh vieát ñuùng:Movlw H’01FF’Goto Start

Leänh vieát sai:Movlp H’01FF’

Gotto Start Toaùn haïng:

Toaùn haïng theo sau maõ gôïi nhôù. Toaùn haïng chöùa ñòachæ hoaëc döõ lieäu maø leänh seõ söû duïng. Noùi caùch khaùc,toaùn haïng laø nhaân toá cho leänh ñang thöïc thi. Chuùng thöôønglaø caùc thanh ghi, bieán hoaëc haèng.

Lôøi chuù thích:

Lôøi chuù thích laø moät chuoãi kyù töï maø ngöôøi laäp trìnhvieát ñeå laøm cho chöông trình roõ raøng. Noù ñöôïc ñaët sau leänh

vaø ñöôïc baét ñaàu baèng daáu chaám phaåy(;). Chæ daãn:

Lôøi chæ daãn thì töông töï nhö moät leänh, nhöng noù khoânggioáng nhö moät leänh maø noù phuï thuoäc vaøo kieåu vi ñieàukhieån, vaø noù bieåu dieãn ñaëc tính cuûa hôïp ngöõ. Lôøi chædaãn luoân luoân ñöôïc cho yù nghóa thoâng qua bieán vaø thanhghi. Ví duï nhö LEVEL coù theå laø söï chæ ñònh cho bieán trongRAM ôû taïi ñòa chæ 0Dh. Baèng caùch naøy, bieán ôû taïi ñòa chæñoù coù theå ñöôïc truy xuaát thoâng qua lôøi chæ daãn LEVEL.

Ñieàu naøy seõ deã hôn cho ngöôøi laäp trình khi phaûi nhôù ñòachæ 0Dh chöùa ñöïng thoâng tin LEVEL.II.2. Taäp leänh cuûa PIC:

 Taäp leänh cuûa PIC ñöôïc xaây döïng treân cô sôû ngoân ngöõAssemble. Tuy nhieân ñeå ngöôøi duøng deã daøng tieáp caän vaøgiuùp cho quaù trình laäp trình trôû neân ñôn giaûn hôn, taäp leächcuûa PIC ñöôïc toái thieåu hoaù coøn 35 leänh. Nhöng khoâng vì ítleäch hôn taäp leänh cuûa caùc hoï vi ñieàu khieån khaùc maø khaûnaêng öùng duïng cuûa PIC bò haïn cheá. Theo nhö nhaø saûn xuaát

Microchip

® 

  thì taäp leänh cuûa PIC coù theå ñaùp öùng ñöôïc taátcaû caùc öùng duïng maø caùc hoï vi ñieàu khieån khaùc coù theå

 Trang24_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 25/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

laøm ñöôïc. Vaø thöïcï teá cho thaáy trong quaù trình laäp trình choPIC baïn seõ thaáy vieäc laäp trình seõ raát deã daøng hôn caùc hoï vi ñieàu khieån khaùc vaø chöa thaáy moät haïn cheá veà giaûithuaät naøo gaây ra töø taäp leänh. Beân caïnh ñoù, vôùi söï hoã trôï cuûa laäp trình döôùi daïng Macro, vieäc laäp trình trôû neân nheï nhaøng hôn vaø khaû naêng môû roäng öùng duïng laø raát lôùn.

Sau ñaây seõ lieät keâ caùc leänh cuûa hoï PIC Movlw

Daïng leänh: Movlw K   Hoaït ñoäng:

Ghi haèng soá K vaøo thanh ghi WGiaù trò cuûa K töø 0 ñeán 255Khoâng taùc ñoäng leân côø

Soá chu kyø:1

  Soá byte: 2 Movwf 

Daïng leänh: Movwf f   Hoaït ñoäng:

Noäi dung cuûa thanh ghi W ñöôïc cheùp sang thanh ghi FGiaù trò cuûa f töø 0 ñeán 127Khoâng taùc ñoäng leân côø

Soá chu kyø:1Soá byte: 2

Movf Daïng leänh: Movf f, d

  Hoaït ñoäng:Noäi dung cuûa thanh ghi f ñöôïc löu tröõ vaøo thanh ghi dTaùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

ClrwDaïng leänh: Clrw

  Hoaït ñoäng:Xoaù thanh ghi WTaùc ñoäng leân côø :Z

Soá chu kyø: 1  Soá byte: 2

Clrf Daïng leänh: Clrf f 

  Hoaït ñoäng:Xoaù thanh ghi f Thanh ghi f coù giaù trò töø 0 ñeán 127Taùc ñoäng leân côø :Z

  Soá chu kyø:1

 Trang25_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 26/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

  Soá byte: 2 Swapf 

  Daïng leänh: Swapf f, d  Hoaït ñoäng:

Nibbles thaáp vaø nibbles cao cuûa thanh ghi f ñöôïc hoaùnñoåi vò trí cho nhau.Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FKhoâng taùc ñoäng leân côø

Soá chu kyø:1  Soá byte: 2 

AddlwDaïng leänh: Addlw K 

  Hoaït ñoäng:Noäi dung cuûa thanh ghi W ñöôïc coäng vôùi haèng soá taùm

bit K, keát quaû löu vaøo thanh ghi WTaùc ñoäng leân côø:C,DC,Z

  Soá chu kyø:1  Soá byte: 2

Addwf Daïng leänh: Addwf f,d

  Hoaït ñoäng:

(W) + (f) => dNeáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø: C,DC,Z

  Soá chu kyø:1  Soá byte: 2

Sublw  Daïng leänh: Sublw K 

  Hoaït ñoäng: K-(W) => WHaèng soá K coù giaù trò töù 0 ñeán 255Taùc ñoäng leân côø:C,DC,Z

  Soá chu kyø:1  Soá byte: 2

Subwf   Daïng leänh: Subwf f,d  Hoaït ñoäng:

(F) –(w) => d

Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi F

 Trang26_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 27/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

Giaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø:C,DC,Z

  Soá chu kyø:1  Soá byte: 2

Andlw  Daïng leänh: Andlw K   Hoaït ñoäng:

(W) and k => WHaèng soá K coù giaù trò töù 0 ñeán 255 Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

Andwf Daïng leänh: Andwf f,dHoaït ñoäng:

(W) and F => d

Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

IorlwDaïng leänh: IORLWHoaït ñoäng:

Haèng soá K coù giaù trò töù 0 ñeán 255Hoaït ñoäng cuûa leänh:(W) OR (K) => WHaèng soá K coù giaù trò töù 0 ñeán 255 Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

IORWFDaïng leänh: IORWF f,d

  Hoaït ñoäng:(W) OR (F) => dNeáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

XORLWDaïng leänh: XORLW K 

 Trang27_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 28/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

  Hoaït ñoäng:Haèng soá K coù giaù trò töù 0 ñeán 255Hoaït ñoäng cuûa leänh:(W) XOR (K) => WHaèng soá K coù giaù trò töù 0 ñeán 255 Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

XORWF 

Daïng leänh: XORWF f,d  Hoaït ñoäng:

(W) XOR (F) => dNeáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi F

Giaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :Z  Soá chu kyø:1  Soá byte: 2

INCF Daïng leänh: INCF f,d

  Hoaït ñoäng:(F) + 1 => d

Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

DECF Daïng leänh: DECF f,d

  Hoaït ñoäng:(F) - 1 => d

Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :Z

  Soá chu kyø:1  Soá byte: 2

  RLF Daïng leänh: RLF f,d

  Hoaït ñoäng:

Dich thanh ghi F sang trai 1 bit thoâng qua côø c.Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi W

 Trang28_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 29/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

Neáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :C

  Soá chu kyø:1  Soá byte: 2

RRF  Daïng leänh: RRF f,d  Hoaït ñoäng:

Dich thanh ghi F sang phaûi 1 bit thoâng qua côø C.Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :C

  Soá chu kyø:1

  Soá byte: 2 COMF

  Daïng leänh: COMF f,d  Hoaït ñoäng:

Laáy buø noäi dung cuûa thanh ghi F.Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi WNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi FGiaù trò cuûa thanh ghi F töø 0 ñeán 127Taùc ñoäng leân côø :C

  Soá chu kyø:1  Soá byte: 2 BCF

  Daïng leänh: BCF f,b  Hoaït ñoäng:

Xoaù bit b cuûa thanh ghi f veà 0.Giaù trò cuûa thanh ghi f töø 0 ñeán 127Giaù trò cuûa b töø 0 ñeán 7Khoâng taùc ñoäng leân côø

Soá chu kyø:1

  Soá byte: 2 BSF

  Daïng leänh: BCF f,b  Hoaït ñoäng:

Set bit b cuûa thanh ghi f leân 1.Giaù trò cuûa thanh ghi f töø 0 ñeán 127Giaù trò cuûa b töø 0 ñeán 7Khoâng taùc ñoäng leân côø

Soá chu kyø:1

  Soá byte: 2 BTFSC

 Trang29_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 30/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

  Daïng leänh: BTFSC f,b  Hoaït ñoäng:

- Neáu bit b trong thanh ghi f baèng 0,con troû chöôngtrình seõ nhaûy ñeán leänh keá tieáp.

INCFSZ  Daïng leänh: INCFSZ f,d  Hoaït ñoäng:

Neáu d = 0 keát quaû ñöôïc löu vaøo thanh ghi wNeáu d = 1 keát quaû ñöôïc löu vaøo thanh ghi f Hoaït ñoäng cuûa leänh:(f) + 1 => dGiaù trò cuûa thanh ghi f töø 0 ñeán 127

GOTO  Daïng leänh: GOTO K   Hoaït ñoäng:

Nhaûy voâ ñieàu kieän ñeán ñòa chæ K.Giaù trò cuûa K töø 0 ñeán 2048Khoâng taùc ñoäng leân côø

Soá chu kyø:1  Soá byte: 4

CALLDaïng leänh: CALL K 

  Hoaït ñoäng:Goïi chöông trình con

Giaù trò cuûa K töø 0 ñeán 2048Khoâng taùc ñoäng leân côøSoá chu kyø:1

  Soá byte: 4 RETURN

  Daïng leänh: RETURN  Hoaït ñoäng:

Laáy noäi dung töø ñænh cuûa ngaên xeáp löu vaøo boäñeám chöông trình.

Khoâng taùc ñoäng leân côøSoá chu kyø:1  Soá byte: 4

RETLW  Daïng leänh: RETLW K   Hoaït ñoäng:

(K) =>w ; TOS => PCGiaù trò cuûa thanh ghi F töø 0 ñeán 255Khoâng taùc ñoäng leân côø

Soá chu kyø:1

  Soá byte: 4 RETFIE

 Trang30_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 31/57

Phaàn II: Laäp trình hôïp ngöõ cho PIC16F84

  Daïng leänh: RETFIEHoaït ñoäng:

 TOS =>PC;1=>GIEKhoâng taùc ñoäng leân côø

Soá chu kyø:1  Soá byte: 4

NOPDaïng leänh: NOP

  Hoaït ñoäng:Khoâng laøm gì caû.

Khoâng taùc ñoäng leân côøSoá chu kyø:1

  Soá byte: 4 CLRW DT

  Daïng leänh: CLRWDT  Hoaït ñoäng:

0=> WDT0=>WDT prescaler

1=> TO1=>PDTaùc ñoäng leân côø:TO,PD

  Soá chu kyø:1  Soá byte: 2

SLEEPDaïng leänh: SLEEP  Hoaït ñoäng:

Cheá ñoä döøng.

 Trang31_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 32/57

Phaàn IV: öùng duïng

Phaàn III: PHÖÔNG PHAÙP NAÏP CHIP

III.1. Giôùi thieäu phaàn meàm MPLAB

MBLAP®

laø phaàn meàm ñöôïc nhaø saûn xuaát_Microchip cungcaáp giuùp ngöôøi duøng laäp trình cho PIC baèng ngoân ngöõAssemble cuûa noù. Phaàn meàm hoã trôï ñaày ñuû caùc modultieän ích giuùp cho vieäc laäp trình vaø naïp vaøo chip. Caùc modulcuûa phaàn meàm goàm:

Project: hoã trôï coâng cuï quaûn lyù 1 Project. Goàm caùcphaàn: Quaûn lyù project

Workspace: hoã trôï soaïn thaûo leänh Build: Dòch taäp tin.Asm sang maõ maùy.Hex

Debugger: Moâ phoûng vaø söûa loãi Programmer: hoã trôï phaàn meàm naïp chip vôùi caùc

maïch naïp chuaån: PICSTART Plus MPLAB MP3 MPLAB ICD2 PRO MATE 2

III.2. Phaàn meàm naïp chip IC – PROG: Trong caùc öùng duïng naøy, phaàn meàm ñöôïc duøng ñeå naïpcho chip PIC16F84 laø phaàn meàm IC-Prog.

Ñaây laø phaàn meàm hoã trôï naïp chip vi ñieàu khieån khaù

nhoû goïn nhöng raát hieäu quaû. Icprog khoâng chæ hoã trôï naïptaát caû caùc chip vi ñieàu khieån thuoäc doøng PIC maø coøn hoãtrôï caùc hoï khaùc nhö: 59Cxx, 24Cxx, 93Cxx, BR, CXK… Moãi loaïivi ñieàu khieån ñeàu ñöôïc phaàn meàm hoå trôï maïch naïp maøchuùng ta coù theå tham khaûo taïi trang web:http\\www.Icprog.Com

Moät ñaëc ñieåm raát hay vaø tieän lôïi cuûa chöông trình laønoù coù khaû naêng dòch ngöôïc taäp tin maõ maùy.Hex veà daïngmaõ gôïi nhôù .Asm khaù chính xaùc. Ñieàu ñoù giuùp cho ngöôøi

laäp trình coù theå kieåm tra vaø söûa loãi ngay khi naïp hay duøng

 Trang32_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 33/57

Phaàn IV: öùng duïng

laïi maõ leänh ñaõ ñöôïc löu treân chip dó nhieân vôùi ñieàu kieänlaø maõ nguoàn môû (CP off_code protection)

Hình III-13: Chöông trình naïp chip ICProg

 Trong caùc öùng duïng ôû ñaây, maïch hoã trôï ñöôïc duøng laømaïch JDM.

III.3. Mach naïp JDM  JDM ñöôïc thieát keá theo phöông phaùp chuaån naïp cho

PIC16F84 (PIC16F84A) vaø PIC16C84 ñöôïc nhaø saûn xuaátMircochip höôùng daãn. Maïch naïp khaù ñôn giaûn ñöôïc trình baøytrong hình sau:

 Trang33_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 34/57

Phaàn IV: öùng duïng

Maïch treân ñöôïc thieát keá theo chuaån COM 25 chaân.Chuùng ta coù theå chuyeån ñoåi töông ñöông caùc chaân töôngöùng sang chuaån COM 9 chaân theo baûng sau:

Baûng III-1: Chuyeån ñoåi töông öùng Com25 vaø Com9

Chaân (25chaân)

Chaân (9chaân)

 Teân goïi Chöùc naêng

2 3 Txd Truyeàn döõ lieäu

4 7 RTS

  Yeâu caàu gôûi. Boätruyeàn ñaït ñöôïc naøyleân cao khi saün saøngtruyeàn döõ lieäu.

5 8 CTS

Xoaù ñeå gôûi. Boä gôûi

ñaët ñöôøng naøy leânmöùc cao ñeå thoângbaùo cho boä truyeàn laønoù saün saøng nhaändöõ lieäu.

7 5 SG Ñaát cuûa tín hieäu

20 4 DTR

Ñaàu cuoái döõ lieäu saünsaøng. Hoaït ñoäng gioángnhö RTS nhöng ñöôïc kích

hoaït bôûi boä nhaän khimuoán truyeàn döõ lieäu.

 Trang34_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 35/57

Phaàn IV: öùng duïng

Döïa treân maïch nguyeân lyù JDM do Icpro cung caáp chuùngem ñaõ töï laøm maïch naïp cho PIC16F84. Sô ñoà maïch in ñöôïcgiôùi thieäu trong hình sau:

Phaàn IV: ÖÙNG DUÏNG

Baûng öùng duïng chip vi ñieàu khieån PIC16F84 goàm 3 modul:ñieàu khieån LED; ñieàu khieån LCD vaø ñieàu khieån ñoäng côServol.

IV.1. Ñieàu khieån LED

IV.1.1. Hoaït ñoäng

 Trang35_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 36/57

Phaàn IV: öùng duïng

Modul ñieàu khieån LED laø modul ñôn giaûn nhaát trong baûngñieàu khieån. Vieäc ñieàu khieån chæ ñôn giaûn laø xuaát bit tínhieäu ra caùc pin töông öùng noái vôùi LED. Tín hieäu ñöôïc xuaát

qua LED ngay khi ngaét ngoaøi ñöôïc kích (Start button) treân chip.Chöông trình ñieàu khieån LED nhaáp nhaùy ñöôïc vieát döôùi daïngvoøng laëp voâ taän neân LED seõ nhaáp nhaùy theo moät chu trình

ñöôïc thieát keá trong chöông trình vaø laäp laïi maõi ñeán khi naøongöôøi ñieàu khieån aán phím Stop hoaëc chip ñöôïc Reset.

IV.1.2. Maïch ñieàu khieån

 Trong maïch ñieàu khieån, caùc Led ñöôïc noái vôùi chip quacaùc chaân RB1, RB2, RB4, RB5, RB6. Buttom SW1 noái chaân ngaétngoaøi RB0/INT vôùi mass, laøm chöùc naêng nhö nuùt Start. Khingaét ngoaøi ñöôïc kích, chöông trình seõ reõ nhaùnh ñeán chöôngtrình con ñieàu khieån Led ñeå ñieàu khieån Led nhaáp nhaùy.Button SW2 noái chaân kieåm tra ñieàu kieän RA0 vôùi mass, laømchöùc naêng nhö nuùt Stop. Khi nuùt Stop ñöôïc nhaán, laøm chochaân RA0 xuoáng möùc ñieän aùp thaáp, khi ñoù chöông trình seõñöôïc thoaùt khoûi chöông trình con ñieàu khieån Led, trôû veàchöông trình chính.

 Trang36_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 37/57

Phaàn IV: öùng duïng

R 4

4 7 0 R

C 4

1 n

R 3

4 7 0 R

X 2

4 M H z

D 5

C 5

1 n

S W 1

1 2

D 1

R 2

4 7 0 R

D 2

U 1

P I C 1 6 F 8 4

12

3

4

6

1 71 01 11 21 3

1 51 6

78

5

1 4

9

1 8

R A 2R A 3

R A 4 / T O C K I

M C L R

R B 0 / I N T

R A 0R B 4R B 5R B 6R B 7

O S C 1 / C L K I NO S C 2 / C L K O U T

R B 1R B 2

G R O U N D

V D D

R B 3

R A 1

R 61 0 k

D 4

V C C

R 1

4 7 0 R

D 3

R 5

4 7 0 R

S W 2

1 2

IV.2. Ñieàu khieån ñoäng cô Servo

IV.2.1. Hoaït ñoäng

IV.2.1.1 Ñoäng cô servo

Ñoäng cô Servol chính laø moät ñoäng cô DC thoâng thöôøngñöôïc laáp theâm boä giaûi maõ (Encoder) ñeå nhaän tín hieäuphaûn hoài veà goùc quay cuûa ñoäng cô. Encoder thöôøng ñöôïccaáu taïo töø 1 Led phaùt quang, 1 ñeán 2 diode quang ñaët ñoáidieän vôùi Led phaùt quang qua 1 khe hôû vaø boä khueách ñaïi.

 Trang37_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 38/57

Phaàn IV: öùng duïng

 Tín hieäu ra seõ ôû möùc cao (hoaëc thaáp) khi diode quangnhaän ñöôïc tín hieäu quang hoïc töø Led phaùt. Vì theá, khi laépñóa phaân giaûi vaøo khe giöõa Led phaùt vaø diode quang vaø ñóañöôïc ñoäng cô quay thì tín hieäu ra laø daïng xung. Soá xung phaùtra treân ngoõ ra cuûa Encoder chính laø soá raêng treân ñóa phaângiaûi ñaõ löôùt qua khe hôû giöõa Led phaùt vaø diode quang.Coâng thöùc tính goùc quay cuûa ñoäng cô nhö sau:

  nC 360=θ 

 Trong ñoù: n- soá xung nhaän ñöôïcC- ñoä phaân giaûi cuûa ñóa

mC 

1=  

M- soá raêng treân voøng

 Treân hình veõ, encoder duøng 2 keânh, 2 diode quang ñaët ôûvò trí ngöôïc nhau veà tín hieäu (khi diode 1 thaáy thì diode 2khoâng thaáy vaø ngöôïc laïi). Duøng 2 tín hieäu naøy trong heä visai ñeå choáng nhieãu. ÖÙng duïng trong ñoà aùn naøy duøngencoder 1 keânh ngoõ ra.

Ngöôøi ñieàu khieån duøng tín hieäu xung naøy ñeå ñieàukhieån chính xaùc goùc quay cuûa ñoäng cô.

 Trang38_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 39/57

Phaàn IV: öùng duïng

IV.2.1.2 Maïch caàu HMaïch caàu H ñöôïc thieát keá ñeå ñieàu khieån hoaït ñoäng

cuûa ñoäng cô DC. Noù cho pheùp tín hieäu coâng suaát thaáp töøcaùc chip vi ñieàu khieån coù theå ñieàu khieån ñoäng cô DC. Ngaên

doøng ngöôïc töø ñoäng cô phaùt ra coù theå laøm hoûng chip. Cungcaáp coâng suaát cho ñoäng cô baèng 1 nguoàn taùch bieät khoûinguoàn nuoâi chip. Coù khaû naêng ñaûo chieàu vaø döøng ñoängcô ñoät ngoät (thaéng).

Sô ñoà maïch caàu H

 Trang39_57

R 3

1 0 k

C 1 4 7 0 u F Q 5P N 2 2 2 2

Q 3P N 2 2 2 2

T O M O T O R

R 2

4 7 4 R

E

B

C

T I P 1 2 0

1

                 2

                 3

J 2 -2R 1

4 7 R

J 3 - 2

J 2 -1

E

B

C

T I P 1 2 0

1

                 2

                 3

R 7

3 k 3

P O W E R I N

R 41 0 k

E

B

CT I P 1 2 0

1

                 2

                 3

J 3 - 1

E

B

C

T I P 1 2 0

1

                 2

                 3 Q 4P N 2 2 2 2

Q 6P N 2 2 2 2

I N A

I N B

G R O U M D

J P 1

4 H E A D E R

123

R 6

4 7 0 R

R 8

1 0 k

R 31 0 k

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 40/57

Phaàn IV: öùng duïng

IV.2.2. Maïch ñieàu khieån

C 4

1 n

0

R 61 0 k

R 7

9 2 R

C 3

2 2 P

R 54 . 7 k

T O M O T O R  

J P 3

4 H E A D E R                                  1 2 3

C 5

1 n

V   C   C  

V   S   S  

 G  R   O   U  N  D  

 O   U  T  

J P 2E N C O D E R

                 1                 2                 3                 4

V C C

V C C

X 2

4 M H z

U 2

P I C 1 6 F 8 4

12

3

4

6

1 71 01 11 21 3

1 51 6

78

5

1 4

9

1 8

R A 2R A 3

R A 4 / T O C K I

M C L R

R B 0 / I N T

R A 0R B 4R B 5R B 6R B 7

O S C 1 / C L K I NO S C 2 / C L K O U T

R B 1

R B 2

G R O U N D

V D D

R B 3

R A 1

IV.3. Ñieàu khieån LCD

IV.3.1. Giôùi thieäu veà LCD

LCD (liquid Crystal Display)_ maøn hình tinh theå loûng, ñaây laøphöông phaùp hieån thò tieát kieäm naêng löôïng. Coù nhieàu loaïiLCD, trong ñoù thoâng duïng laø hieån thò 16x2 vaø 20x2 (hieån thò2 haøng vôùi 16 kyù töï treân moãi haøng vaø 2 haøng 20 kyù töï).

LCD ñöôïc thieát laäp chuaån ñeå cho pheùp ta coù theå giaotieáp vôùi caùc LCD baát chaáp haõng saûn xuaát vôùi ñieàu kieänlaø caùc LCD duøng cuøng IC ñieàu khieån HD44780.

Hình daùng vaø kích thöôùc LCD

Caùc LCD ñöôïc cheá taïo töø caùc haõng nhö Densitron, Epson,Hewlett Packard, Optrex, Shasp… vôùi caùc caáu hình thoâng duïnglaø 16, 20,24, 32, hay 40 kyù töï treân 1 haøng vôùi maøn hình hieånthò 1, 2, hay 4 haøng.

Hình IV-14: Moâ hình maøn hình LCD

LCD duøng trong öùng duïng naøy laø loaïi 16x2, duøng chipHD44780.

Maøn hình neàn cuûa LCD ñöôïc chieáu saùng baèng ñeønchieáu saùng ñaët phía sau boä hieån thò thay vì duøng phöôngphaùp phaûn xaï.

Caùc chaân ra cuûa LCD

 Trang40_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 41/57

Phaàn IV: öùng duïng

Modul LCD tuaân theo qui caùch giao tieáp chuaån. Goàm 14chaân, coù 8 ñöôøng döõ lieäu, 3 ñöôøng ñieàu khieån vaø 3 ñöôøngcaáp nguoàn boá trí treân 1 haøng.

Chöùc naêng cuûa caùc chaân ñöôïc lieät keâ trong baûng sau:

 Trang41_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 42/57

Phaàn IV: öùng duïng

Baûng IV-2: chöùc naêng cuûa caùc chaân LCD

Chaân soá Teân Chöùc naêng

1 Vss Ñaát

2 VDD Cöïc+ cuûa nguoàn3 VEE  Töông phaûn (constrast)

4 RE Choïn thanh ghi (RegisterSelect)

5 R/W Read/write

6 E Cho pheùp (Enable)

7 D0 Bít döõ lieäu 0

8 D1 Bít döõ lieäu 19 D2 Bít döõ lieäu 2

10 D3 Bít döõ lieäu 3

11 D4 Bít döõ lieäu 4

12 D5 Bít döõ lieäu 5

13 D6 Bít döõ lieäu 6

14 D7 Bít döõ lieäu 7

Nguoàn caáp cho LCD laø 5VDC, tuy nhieân LCD vaãn hoaïtñoäng toát vôùi nguoàn 6VDC hay 4.5VDC. LCD tieâu thuï ñieännaêng raát ít. Tuy nhieân ñeøn duøng ñeå chieáu saùng cho LCD laïitieâu thuï ñieän naêng khaù lôùn. Vì vaäy moãi khi coù hieän töôïngsuït aùp treân nguoàn thì ta thaáy ñeøn neàn LCD toái ngay.

Chaân 3 (VEE) duøng ñeå thay ñoåi ñoä töông phaûn cuûa maønhieån thò. Lyù töôûng thì chaân naøy neân noái vôùi nguoàn aùpthay ñoåi ñöôïc, ngöôøi ta thöïc hieän baèng caùch laép maïch chia

aùp duøng bieán trôû coù ñaàu ra thay ñoåi ñöa vaøo chaân naøy.Ñôn giaûn nhaát ta coù theå noái chaân naøy xuoáng mass ñeå ñaïtñöôïc ñoä töông phaûn toát nhaát.

Chaân 4 (RS_Register Select) ñaây laø 1 trong 3 ngoõ vaøoñieàu khieån leänh. Khi chaân naøy ñöôïc noái mass thì caùc döõlieäu truyeàn ñeán LCD ñöôïc xöû lyù nhö caùc meänh leänh vaøcaùc döõ lieäu ñoïc ra chæ traïng thaùi cuûa noù. Baèng caùch ñöachaân naøy leân möùc cao thì döõ lieäu kyù töï coù theå xuaátnhaäp treân modul naøy. 

Chaân 5 (R/W_Read/Write), chaân naøy cho pheùp leänh haydöõ lieäu kyù töï ñöôïc ghi vaøo modul khi noù ñöôïc keùo xuoáng

 Trang42_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 43/57

Phaàn IV: öùng duïng

möùc thaáp. Khi ñöôïc ñöa leân cao, noù cho pheùp döõ lieäu kyù töï hay thoâng tin traïng thaùi ñöôïc ñoïc töø caùc thanh ghi cuûamodul.

Chaân 6 (E_ Enable), ngoõ vaøo naøy duøng ñeå khôûi ñoäng

vieäc chuyeån caùc döõ lieäu kyù töï hay caùc leänh giöõa modulvaø caùc ñöôøng döõ lieäu. Khi ghi ra maøn hình LCD, döõ lieäu chæñöôïc chuyeån khi coù caïnh xuoáng cuûa tín hieäu E naøy. Tuynhieân khi ñoïc ra töø LCD, thì döõ lieäu khaû duïng sau khi coùchuyeån tieáp töø thaáp leân cao vaø duy trì döõ lieäu khaû duïngñeán khi tín hieäu E naøy xuoáng thaáp 1 laàn nöõa.

Caùc chaân töø 7 ñeán 14 laø 8 ñöôøng döõ lieäu (D0 ÷ D7).Döõ lieäu coù theå ñöôïc chuyeån ñeán vaø laáy ra khoûi boä hieånthò LCD theo daïng moät byte hay daïng nöûa byte 4 bit (nibble). Trong tröôøng duøng trong öùng duïng naøy laø duøng 4 bit vì cheá

ñoä naøy caàn ít ñöôøng tín hieäu hôn.

Sô ñoà keát noái ñöôïc theå hieän nhö hình döôùi ñaây:Hình IV-15: Sô ñoà keát noái LCD 8 bit

 Trang43_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 44/57

Phaàn IV: öùng duïng

Hình IV-16: Sô ñoà keát noái LCD 4 bit

IV.3.2. Hoaït ñoäng cuûa LCD trong öùng duïng

  Trong öùng duïng naøy, LCD hoaït ñoäng ôû 3 tình huoángkhaùc nhau. Moãi tình huoáng LCD laøm nhieäm vuï hieån thò lôøigiôùi thieäu hay traïng thaùi hoaït ñoäng cuûa moâ hình. Caùc traïngthaùi hoaït ñoäng cuûa LCD ñöôïc lieät keâ trong baûng sau:

 Tình huoáng 1: vöøa khôûi ñoäng heä thoáng, caùc doøng textseõ hieån thò laàn löôït treân maøn hình vaø laäp laïi lieân tuïc

Baûng IV-3: Caùc maøn hình hieån thò trong tình huoáng 1

 Trang44_57

Maøn hình Line Text hieån thò

11 DO AN DKHT

2 DE TAI: pIC16F84

21 Gvhd

2 Ks. Vo tuong quan

31 Nhom thuc hien

2 (None)

41 Dinh Phuong Tan

2 Mssv: 20102326

51 Nguyen chinh phuc

2 Mssv: 2010

61 VUONG QUOC VIET

2 MSSV: 2010

7 1 TIEU BAO TRAN2 MSSV: 2010

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 45/57

Phaàn IV: öùng duïng

 

 Tình huoáng 2: Moâ hình ñang hoaït ñoäng ôû cheá ñoä Lednhaáp nhaùy, maøn hình chæ goàm 2 doøng hieån thò coá ñònh.

Baûng IV-4: Caùc maøn hình hieån thò ôû cheá ñoä 2

Maøn hình Line Text hieån thò

1 1 Che do hoat dong2 Led nhap nhay

 

 Tình huoáng 3: Moâ hình ñang hoaït ñoäng ôû cheá ñoä ñieàukhieån ñoäng cô, maøn hình chæ goàm 2 doøng hieån thò coáñònh.

Baûng IV-5: : Caùc maøn hình hieån thò ôû cheá ñoä 3

Maøn hình Line Text hieån thò

11 Che do hoat dong

2 Dong co servo

 Trang45_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 46/57

Phaàn IV: öùng duïng

Hình IV-17: Maøn hình LCD trong öùng duïng

IV.3.3. Sô ñoà maïch ñieàu khieån LCD

Hình IV-18: Sô ñoà maïch ñieàu khieån LCD

 Trong sô ñoà treân, SW1 coù vai troø nhö nuùt Start, SW2 coùvai troø nhö nuùt Stop, SW1 laø nuùt gaït choïn cheá ñoä ñieàukhieån Led hay ñieàu khieån ñoäng cô.

IV.4. Moâ hình tích hôïp:

Caùc modul treân ñöôïc keát hôïp vôùi nhau treân 1 maïch tíchhôïp. ÔÛ ñaây vì caùc ngoõ ñieàu khieån nhieàu hôn khaû naêngcuûa 1 chip vi ñieàu khieån PIC16F84, do ñoù chip vi ñieàu khieånthöù 2 ñöôïc duøng ñeán. Hai chip naøy ñöôïc phaân nhieäm vuï ñieàu khieån caùc modul khaùc nhau. Tuy nhieân, ñeå ñoàng boäcaùc modul vôùi nhau thì caùc ngaét ngoaøi vaø caùc chaân kieåmtra ñieàu kieän cuûa 2 chip ñöôïc noái vôùi nhau.

Sô ñoà maïch ñöôïc trình baøy trong hình sau:

 Trang46_57

0

X 1

4 M H z

0

S W 1

1 2

T  O 

L  C D 

J P 1

H E A D E R 6

12

3456

D 4

D 5D 6D 7R SE

S W 3

21

3

C 2

2 2 P

C 1

2 2 PR 2

1 0 k

U 1

P I C 1 6 F 8 4

123

4

61 7 1 0

1 11 21 3

1 51 6

78

5

1 4

9

R A 2R A 3R A 4 / T O C K I

M C L R

R B 0 / I N T

R A 0 R B 4

R B 5R B 6R B 7

O S C 1 / C L K I NO S C 2 / C L K O U T

R B 1R B 2

G R O U N D

V D D

R B 3

V C C

R 24 . 7 k

R 24 . 7 k

S W 2

1 2

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 47/57

Phaàn IV: öùng duïng

Hình IV-19: Sô ñoà maïch tích hôïp

 Trong maïch treân, IC1 (U1) ñieàu khieån LCD; IC2 (U2) ñieàukhieån LED vaø ñoäng cô.

Maïch ñieän thöïc teá ñöôïc moâ taû trong hình sau:

 Trang47_57

T  O 

L  C D 

J P 1

H E A D E R 6

123456

U 2

P I C 1 6 F 8 4

12

3

4

6

1 71 01 11 21 3

1 51 6

78

5

1 4

9

1 8

R A 2R A 3

R A 4 / T O C K I

M C L R

R B 0 / I N T

R A 0R B 4R B 5R B 6R B 7

O S C 1 / C L K I NO S C 2 / C L K O U T

R B 1R B 2

G R O U N D

V D D

R B 3

R A 1

R 34 . 7 k

U 1

P I C 1 6 F 8 4

123

4

69

1 71 01 11 21 3

1 51 6

78

5

1 4

9

R A 2R A 3R A 4 / T O C K I

M C L R

R B 0 / I N TR B 3R A 0

R B 4R B 5R B 6R B 7

O S C 1 / C L K I NO S C 2 / C L K O U T

R B 1R B 2

G R O U N D

V D D

R B 3

S W 1

                 1

                 2

R 5

4 .7 k

R 1R 9

4 . 7 k

D 1

L e f t L E D

C 1

2 2 P

R 4

D 2

r i g h t L E D

R 1 2

4 7 0 RD 3

L E D

X 2

4 M H z

C 3

2 2 P

C 5

1 n

V   C   C  

V   S   S  

 G  R   O   U  N  D  

 O   U  T  

J P 2

E N C O D E R 1                 2                 3                 4

C 2

2 2 P

R 61 0 k

D 3

L E D

R 1 1

4 7 0 R

T O M O T O R  

J P 3

4 H E A D E R                                  1 2 3

R 7

9 2 R

R 1 3

1 kD 3

L E D

S W 2

                 1

                 2

S W 6

21

3

R 8

4 . 7 k

+

J 1

P O W E R

1 2

R 2

1 0 k

C 4

1 n

R 1 4

1 kD 3

L E D

X 1

4 M H z

R 1 0

1 kD 3

L E D

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 48/57

Phaàn IV: öùng duïng

Hình IV-20: Maïch ñieän thöïc teá

IV.5. Maõ chöông trình:

 Trang48_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 49/57

Phaàn IV: öùng duïng

Chöông trình cho IC1

Oâi4list P = 16F84Include "P16f84.Inc"

Simulating = 1

; --------------------; Ñònh nghóa bieán; --------------------

CBLOCK 0x20DelayLDelayMDelayHStrPtrMessAddH

MessAddLMessNum TempPBtempFlag1

ENDC

LcdRS equ 1hLcdE equ 2h

LCDmd equ 0h

; -------------------------------; Khôûi taïo chöông trình chính; -------------------------------

Org 0000h ;start address = 0000h

Goto mainorg 0x04Goto ISR

Mainbcf OPTION_REG,INTEDGBsf OPTION_REG,NOT_RBPUBsf INTCON,INTE; interupt BB0

enabledbsf INTCON,GIEBanksel PORTAMovlw 0x00; PORTA = all low

movwf PORTAMovlw 0x00; PORTB = all low

movwf PORTBBsf STATUS,RP0 ; RAM Page 1

Movlw 0x01; RA1 = inputmovwf TRISAMovlw b'00001001';RB3 & RB0 =inputMovwf TRISB

Bcf STATUS,RP0 ; RAM Page 0Movlw 20h; 25mS powerup delay@ 4MHzMovwf DelayH; LCD data sheetsays 15mSClrf DelayLPUPD decfsz DelayL,FGoto PUPDDecfsz DelayH,FGoto PUPD;; -----------------------------------; Truyeàn döõ lieäu khôûi taïoñeán LCD; -----------------------------------;Clrf Flag1; send instruction as 8bit mode

movlw b'00110000' ; function set8 bits

call LCDinsMovlw b'00110000' ; functionset 8 bitscall LCDinsMovlw b'00110000' ; functionset 8 bitscall LCDinsMovlw b'00100000' ; functionset 4 bitscall LCDinsBsf Flag1,LCDmd ;cheá ñoä 4 bit

Movlw b'00101000'Call LCDinsMovlw b'00001000' ; display =off call LCDinsMovlw b'00000001' ; clear thedisplaycall LCDinsMovlw b'00000110' ;increment - no display shift

call LCDinsMovlw b'00001100' ; displayon, cursor off, blink off 

 Trang49_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 50/57

Phaàn IV: öùng duïng

call LCDins;; -----------------; Chöông trình chính; -----------------

;LoopMovlw 0h hieån thò messra maøn hìnhNumber 0Call MessLine1 ; line 1Movlw 1hNumber 1Call MessLine2 ; line 2Call BigDel ; chôø 1/2 smovlw 1h ; xoaù maønhìnhCall LCDinsCall BigDel ; wait 1/2 secondmovlw 2hCall MessLine1Movlw 3hCall MessLine2Call BigDelMovlw 1hCall LCDins

Call BigDelMovlw 4hCall MessLine1

Call BigDelMovlw 1hCall LCDinsCall BigDelMovlw 5hCall MessLine1Call BigDelMovlw 1h

Call LCDinsCall BigDelMovlw 6hCall MessLine1Call BigDelMovlw 1hCall LCDinsCall BigDelMovlw 7hCall MessLine1

Call BigDelMovlw 1hCall LCDins

Call BigDelMovlw 8hCall MessLine1Call BigDelMovlw 1h

Call LCDinsCall BigDelGoto Loop

ISR bcf INTCON,INTFBtfss PORTB,3Call LEDBtfsc PORTB,3Call SERVORetfie

LEDMovlw 9hCall MessLine1Movlw 0ahCall MessLine2Btfss PORTA,0Goto maincall BigDel

Loop1btfss PORTA,0Goto maingoto loop1

SERVOMovlw 9hCall MessLine1Movlw 0bhCall MessLine2Btfss PORTA,0Goto maincall BigDel

Loop2btfss PORTA,0Goto main

goto loop2 

; ----------------------------; Truyeàn döõ lieäu ñeán LCD; ----------------------------;MessLine1Movwf MessNummovlw 0x80Goto InMess

MessLine2Movwf MessNummovlw 0xC0InMess call LCDins

 Trang50_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 51/57

Phaàn IV: öùng duïng

Movf MessNum,WMessage number

addwf PCL,FGoto Mess0; message 0Goto Mess1; message 1

Goto Mess2Goto Mess3Goto Mess4Goto Mess5Goto Mess6Goto Mess7Goto Mess8Goto Mess9Goto Mess10Goto Mess11

; ---------; MESSAGE 0; ---------;Mess0 movlwHigh(Message0) ; get ROM page

if Simulating == 1Addlw 8h

Endif 

movwf MessAddH ; tempstore itmovlw Low(Message0) ;

get page offsetgoto ContMess

;; ---------; MESSAGE 1; ---------;Mess1 movlw

High(Message1) ; get ROM page

if Simulating == 1addlw 8h

endif 

movwf MessAddH ; temp store itmovlw Low(Message1) ; get pageoffsetgoto ContMess

Mess2 movlwHigh(Message2) ; get ROM pageif Simulating == 1

addlw 8hendif 

movwf MessAddH ; temp store itmovlw Low(Message2) ; get page

offsetgoto ContMess;; ---------; MESSAGE 1; ---------;Mess3 movlwHigh(Message3) ; get ROM pageif Simulating == 1addlw 8hendif movwf MessAddH ; temp store itmovlw Low(Message3)Mess4 movlwHigh(Message4)if Simulating == 1addlw 8hendif movwf MessAddHmovlw Low(Message4)

goto ContMess;; ---------; MESSAGE 1; ---------;Mess5 movlwHigh(Message5)if Simulating == 1

addlw 8hendif 

movwf MessAddHmovlw Low(Message5)goto ContMess

Mess6 movlwHigh(Message6)

if Simulating == 1addlw 8h

endif movwf MessAddH

movlw Low(Message6)offsetgoto ContMess

 Trang51_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 52/57

Phaàn IV: öùng duïng

;; ---------; MESSAGE 1; ---------;

Mess7 movlwHigh(Message7)if Simulating == 1

addlw 8hendif 

movwf MessAddHmovlw Low(Message7)

goto ContMessMess8 movlwHigh(Message8)if Simulating == 1

addlw 8hendif 

movwf MessAddH ; tempstore it

movlw Low(Message8) ;get page offset

goto ContMess;

; ---------; MESSAGE 1; ---------;Mess9 movlwHigh(Message9) ; get ROM page

if Simulating == 1addlw 8h

endif 

movwf MessAddH ; tempstore itmovlw Low(Message9) ; get pageoffsetgoto ContMess

Mess10 movlwHigh(Message10) ; get ROM pageif Simulating == 1

addlw 8hendif 

movwf MessAddH ; temp store itmovlw Low(Message10) ;get page offset

goto ContMess;; ---------; MESSAGE 1; ---------

;Mess11 movlwHigh(Message11) ; get ROM pageif Simulating == 1

addlw 8hendif movwf MessAddH ; temp store itmovlw Low(Message11) ; getpage offsetContMess movwf MessAddL ;temp store it;; ------------------------------------------; Nhaän döõ lieäu vaø hieån thòtreân LCD; ------------------------------------------;clrf StrPtr ; zero the characteroffsetMessLoop call Messages ; getthe character

movwf temp ; temp store thecharactermovlw High($) ; restorePCLATH for this ROM pageif Simulating == 1

addlw 8hendif movwf PCLATHmovf temp,Wxorlw 0h ; test if zerobyte

btfsc STATUS,Zreturn ; yes, all done

call LCDdata ; send characterto displayincf StrPtr,F; set ready for nextcharactergoto MessLoop ; get nextcharacter;

; ----------------------------; CHARACTER ADDRESSCALCULATOR

 Trang52_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 53/57

Phaàn IV: öùng duïng

; ----------------------------;Messages movf MessAddH,W

; high address byte toPCLATH

movwf PCLATHmovf MessAddL,W ; getlow address byte

addwf StrPtr,W ; addcharacter offset

btfsc STATUS,C ; testcarry

incf PCLATH,F ; overflow- increment PCLATH

movwf PCL ; low byteto PCL;;-------------------------------------------------; OUTPUT 1 INSTRUCTION BYTE

 TO DISPLAY - 4 BIT MODE;-------------------------------------------------;

LCDins movwf temp ; tempsave instructionandlw 0xF0 ; send high

nibble firstmovwf PORTB ; send itcall Clockbsf PORTB,lcdE ; (1)

clock it incall Clockbcf PORTB,lcdE ; (1)call Clock

btfss Flag1,LCDmd ;test if sending byte or 2 nibbles

goto bits8 ; 1 nibble

swapf temp,W ; nowsend lower nibble

andlw 0xF0movwf PORTB ; send it

call Clock

bsf PORTB,lcdE ; (5) enableinstructioncall Clock

bcf PORTB,lcdE ; (5)bits8 clrf DelayLmovlw 8hmovwf DelayHctlp1 decfsz DelayL,F

goto ctlp1decfsz DelayH,Fgoto ctlp1

return;; ------------------------------------------; Xuaát 2 byte ra maøn hình; ------------------------------------------;LCDdatamovwf temp ; temp savedataandlw 0xF0 ; send high nibble firstmovwf PORTBcall Clockbsf PORTB,lcdRS ; (0) Write"data"call Clockbsf PORTB,lcdE ; (1) clock it incall Clockbcf PORTB,lcdE ; (1)

call Clockswapf temp,W ; now sendlower nibbleandlw 0xF0movwf PORTBcall Clockbsf PORTB,lcdRS ; (0) Write"data"call Clockbsf PORTB,lcdE ; (5) enableinstruction

call Clockbcf PORTB,lcdE ; (5)return;; -----------------------------; Ñònh nghóa taàn soá dao ñoäng; -----------------------------;Clock movlw 40hmovwf DelayL

kdloop decfsz DelayL,Fgoto kdloopreturn

 Trang53_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 54/57

Phaàn IV: öùng duïng

;; --------------------------------; khôûi taïo thôøi gian nhaápnhaùy ~ 0.5s; --------------------------------

;BigDel clrf DelayLclrf DelayMmovlw 5hmovwf DelayH

BDloop decfsz DelayL,Fgoto BDloopdecfsz DelayM,Fgoto BDloopdecfsz DelayH,Fgoto BDloopreturn

;; ---------------; chuoãi; ---------------;Message0 DT " DO AN DKHT ",0hMessage1 DT "DE TAI:PIC16F84", 0h

Message2 DT " GVHD ",0hMessage3 DT "KS VO TUONGQUAN" ,0hMessage4 DT " NHOM THUCHIEN ",0HMessage5 DT " DINH PHUONG

 TAN",0HMessage6 DT " NG. CHINH PHUC",0HMessage7 DT " VUONG QUOCVIET",0H

Message8 DT " TIEU BAO TRAN",0HMessage9 DT " DIEU KHIEN",0HMessage10 DT " LED NHAPNHAY ",0HMessage11 DT " DONG COSERVO ",0H

End

 Trang54_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 55/57

Phaàn IV: öùng duïng

Chöông trình cho IC2list p=16F84A ; listdirective to define processor

#include <p16F84A.inc>

; processor specific variabledefinitions

  __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

cblock 0x0c TMP0 TMP1 TMP2CNT

endcorg 0x00

goto mainorg 0x04

goto ISRmainbanksel TRISAmovlw b'00010001' ; RA0,RA4 is

inputmovwf TRISA

movlw b'00001001'; RB0,RB3 =INPUTmovwf TRISBbanksel PORTAclrf PORTAclrf PORTBmovlw b'10110010'movwf OPTION_REGbsf INTCON,INTEbsf INTCON,GIEgoto main

ISRbcf INTCON,INTFbtfss PORTB,3goto LEDbtfsc PORTB,3goto SERVO

LEDbanksel PORTBmovlw b'00000010'call blink

btfss PORTA,0goto main

movlw b'00000100'call blinkbtfss PORTA,0goto mainmovlw b'00010000'

call blinkbtfss PORTA,0goto mainmovlw b'00100000'call blinkbtfss PORTA,0goto mainmovlw b'01000000'call blinkbtfss PORTA,0goto mainmovlw b'00100000'call blinkbtfss PORTA,0goto mainmovlw b'00010000'call blinkbtfss PORTA,0goto mainmovlw b'00000100'call blink

btfss PORTA,0goto mainmovlw b'00000010'call blinkbtfss PORTA,0goto mainmovlw b'00000110'call blinkbtfss PORTA,0goto mainmovlw b'00010110'

call blinkbtfss PORTA,0goto mainmovlw b'00110110'call blinkbtfss PORTA,0goto mainmovlw b'01110110'call blinkbtfss PORTA,0

goto mainmovlw b'00110110'call blink

 Trang55_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 56/57

Phaàn IV: öùng duïng

btfss PORTA,0goto mainmovlw b'00010110'call blinkbtfss PORTA,0

goto mainmovlw b'00000110'call blinkbtfss PORTA,0goto mainmovlw b'00000010'call blinkbtfss PORTA,0goto mainmovlw b'01010010'call blinkbtfss PORTA,0goto mainmovlw b'00100100'call blinkbtfss PORTA,0goto mainmovlw b'01010010'call blinkbtfss PORTA,0goto main

movlw b'00100100'call blinkbtfss PORTA,0goto mainmovlw b'01010010'call blinkbtfss PORTA,0goto mainmovlw b'00100100'call blinkbtfss PORTA,0

goto maingoto LED

SERVOnop

PHAImovlw .2movwf CNTmovlw b'00001100'movwf PORTAcall DEL

btfss PORTA,0goto maincall DEL

clrf PORTAPH1

movlw .12movwf TMR0

loop1

btfsc TMR0,7goto Cont1lp1

bsf PORTA,2bsf PORTB,7btfss PORTA,0goto maingoto loop1

Cont1btfss TMR0,6goto lp1goto Ctr

Ctrdecfsz CNT,1goto PH1

goto TRAI TRAI

bcf PORTB,7movlw b'00001100'movwf PORTAcall DEL

btfss PORTA,0goto maincall DELclrf PORTAmovlw .2movwf CNT

 TR1movlw .12movwf TMR0

loop2btfsc TMR0,7

goto Cont2lp2

bsf PORTA,3bsf PORTA,1btfss PORTA,0goto maingoto loop2

Cont2btfss TMR0,6goto lp2

goto Ctr2Ctr2decfsz CNT,1

 Trang56_57

8/6/2019 Ebook4u.vn PIC 16F84

http://slidepdf.com/reader/full/ebook4uvn-pic-16f84 57/57

Phaàn IV: öùng duïng

goto TR1goto PHAI

blinkmovwf PORTBcall DEL

returnDELMOVLW 0x02 ;2 DECMOVWF TMP2MOVLW 0x0E5 ;229 DECMOVWF TMP1MOVLW 0x0D9 ;217 DECMOVWF TMP0DECFSZ TMP0,FGOTO $-1DECFSZ TMP1,FGOTO $-5DECFSZ TMP2,FGOTO $-9

return

end