baocao_TN[11] sửa

Embed Size (px)

Citation preview

an tt nghip

HC VIN CNG NGH BU CHNH VIN THNG

KHOA K THUT IN T I

KHO LUN TT NGHIP I HC ti: THIT K MCH IU KHIN THIT B IN QUA IN THOI DI NG

Ging vin hng dn : Sinh vin thc hin : Lp : Kho : H :

ThS. NGUYN HNG HOA NGUYN TRUNG KIN 07-KTT1 2007-2012 Chnh quy

H Ni, thng 12 nm 2011 SVTH : Nguyn Trung Kin D07KTDT1 i

an tt nghip

LI NI U Ngy nay, ngnh cng ngh thng tin t c nhng tin b vt bc vi s ra i ca ngnh cng nghip phn cng, cng nh phn mm vic gii quyt cc cng vic gip con ngi tr nn d dng, thun tin v nhanh chng. Cng vi s pht trin ca ngnh cng ngh thng tin l s pht trin mnh m ca cc h thng thng tin lin lc, s ra i ca cc dch v in thoi m c th l in thoi di ng vi u th d dng hot ng khi di chuyn mi lc mi ni. Chnh v vy ngoi vic dng in thoi lin lc mt vn c t ra l chng ta c th s dng in thoi nh mt chic Remote iu khin cc thit b in t xa. T yu cu trn v nhng kin thc em c hc trng em la chn ti: iu khin thit b in in s dng in thoi di ng. Gii hn ti: Vic thit k cc ng dng ca PIC vi in thoi di ng, IC thu phat DTMF rt phong ph v phc tp, do vy trong ti ny em tp trung gii quyt cc vn chnh: Thit k phn cng iu khin thit b in thng qua IC MT8870. iu khin bt/tt thit b in. Hn gi bt/tt thit b in. Hin th trn LCD m iu khin kim tra.

SVTH : Nguyn Trung Kin D07KTDT1

ii

an tt nghip

LI CM N Li u tin trong kho lun em xin by t lng bit n ti ton th cc thy, c gio trong Khoa K Thut in T - Hc Vin Cng Ngh Bu Chnh Vin Thng nhit tnh ch bao, dy d em trong sut nhng nm hc va qua. Em xin chn thnh cm n c gio Nguyn Hng Hoa hng dn, quan tm, ch bo tn tnh em hon thnh kho lun tt nghip ny. Cm n gia nh, bn b ng vin, khch l, gip v mi mt trong qu trnh em hoan thanh n tt nghip.

H Ni, thng 12 nm 2011 Sinh vin thc hin

Nguyn Trung Kin

SVTH : Nguyn Trung Kin D07KTDT1

iii

an tt nghip

NHN XT, NH GI, CHO IM.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. im: .(bng ch: ....) ng /Khng ng cho sinh vin bo v trc hi ng chm n tt nghip?. , ngy thng nm 20 CN B- GING VIN HNG DN (k, h tn)

SVTH : Nguyn Trung Kin D07KTDT1

iv

an tt nghip NGUYN HNG HOA

MC LC.............................................................................................................................................i MC LC..........................................................................................................................v DANH MC CC HNH V...........................................................................................ix DANH MC CC T VIT TT..................................................................................xii CHNG 1.....................................................................................................................xiii GII THIU TI.............................................................................................xiii 1.1 tng bi ton.......................................................................................................xiii 1.2 Cu to c bn v nguyn l hot ng ca in thoi..............................................xiv 1.2.1 cu to c bn ...............................................................................................xiv 1.2.2 Nguyn l hot ng......................................................................................xiv 1.3 Tn hiu DTMF.........................................................................................................xv 1.3.1 nh ngha......................................................................................................xv 1.3.2 KEYPAD........................................................................................................xv 1.3.3 IC MT8870 thu tn hiu DTMF...................................................................xviii CHNG 2....................................................................................................................xxv TM HIU VI IU KHIN PIC 16F877A...................................................................xxv 2.1 Gii thiu PIC 16F877A..........................................................................................xxv 2.2 Cc thnh phn chnh trong vi iu khin PIC 16F877A........................................xxvi SVTH : Nguyn Trung Kin D07KTDT1 v

an tt nghip 2.3 T chc b nh ......................................................................................................xxix 2.3.1 Thanh ghi chc nng c bit SFR.............................................................xxxii 2.3.2 Thanh ghi mc ch chung GPR ...............................................................xxxiii 2.3.3 Stack.........................................................................................................xxxiv 2.4 Cc cng xut nhp ca PIC16F877A...................................................................xxxiv 2.4.1 PORTA .....................................................................................................xxxv 2.4.2 PORTB .....................................................................................................xxxv 2.4.3 PORTC ....................................................................................................xxxvi 2.4.4 PORTD .....................................................................................................xxxvi 2.4.5 PORTE .....................................................................................................xxxvi 2.5 Cc b nh thi....................................................................................................xxxvi 2.5.1 TIMER 0....................................................................................................xxxvi 2.5.2 TIMER 1.................................................................................................xxxviii 2.5.3 TIMER2 ..........................................................................................................xl 2.6 ADC ........................................................................................................................xlii 2.7 NGT (INTERRUPT) ............................................................................................xliii 2.7.1 Ngt INT ......................................................................................................xliv 2.7.2 Ngt do s thay i trng thi cc Pin trong PORTB...................................xlv 2.7.3 Watchdog Timer (WDT)...............................................................................xlv 2.7.4 Ch Sleep.................................................................................................xlvi 2.7.5 nh thc Vi iu khin..........................................................................xlvi CHNG 3......................................................................................................................50 THIT K MCH IU KHIN THIT B IN QUA IN THOI DI NG .....50 SVTH : Nguyn Trung Kin D07KTDT1 vi

an tt nghip 3.1 tng......................................................................................................................50 3.2 S khi ca mch..................................................................................................51 3.3 Nguyn l hot ng..................................................................................................52 3.3.1 Thc hin i password..................................................................................53 3.3.2 Thc hin bt tt thit b in.........................................................................53 3.3.3 Thc hin hn gi bt tt thit b....................................................................55 3.4 Thit k phn cng.....................................................................................................55 3.4.1 Thit k mch nguyn l.................................................................................55 3.4.2 Khi x l trung tm.......................................................................................56 3.4.3 Khi thu v gii m DTMF.............................................................................58 3.4.4 Khi hin th thng tin....................................................................................58 3.4.5 Khi ngun nui.............................................................................................59 3.4.6 Khi iu khin thit bi in...........................................................................60 3.4.7 Khi tin hiu phan hi.....................................................................................60 3.4.8 Mch in thc t sau khi thit k......................................................................60 3.5 Thit k phn mm.....................................................................................................61 3.5.1 Lp trnh cho PIC............................................................................................61 3.5.2 Thut ton iu khin......................................................................................62 3.5.3 Gii thiu v CCS...........................................................................................62 3.5.4 Thut ton iu khin.....................................................................................79 CHNG 4......................................................................................................................80 KT LUN V HNG PHT TRIN TI...........................................................80 4.1 nh gi kt qu.........................................................................................................80 SVTH : Nguyn Trung Kin D07KTDT1 vii

an tt nghip 4.1.1 Tng quan kt qu...........................................................................................80 4.1.2 Mch thc t sau khi thit k v chy th.......................................................81 4.2 L do chn PIC 16F877A..........................................................................................82 4.3 Hng pht trin ti ..............................................................................................83 DANH MC CC TI LIU THAM KHO.................................................................85

SVTH : Nguyn Trung Kin D07KTDT1

viii

an tt nghip

DANH MC CC HNH V

Hnh 1.1: Dng tn hiu DTMF........................................................................................xvi Hnh 1.2: Bn phm chun 12 nt...................................................................................xvii Hnh 1.3: Bn phm m rng 16 phm............................................................................xvii Hinh 1.4: IC thu DTMF MT8870..................................................................................xviii Hnh 1.5: S khi ca MT8870....................................................................................xx Hnh 1.6: S mch test th vi IC MT8870..............................................................xxiii Hnh 2.1: S chn ca PIC16F877A..........................................................................xxv Hnh 2.2: S khi ca PIC16F877A........................................................................xxvii Hnh 2.3: B nh chng trnh PIC16F877A................................................................xxix Hnh 2.4: B nh d liu ca PIC 16F877A..................................................................xxxi Hnh 2.5: S khi ca Timer 0...............................................................................xxxvii Hnh 2.6: S khi ca Timer1.................................................................................xxxix Hnh 2.7: S i khi ca Timer2......................................................................................xl Hnh 2.8: S khi b chuyn i ADC......................................................................xliii Hinh 2.9: S logic cua tt ca cac ngt trong PIC16F877A.........................................xliv Hnh 3.1: S khi ca mch.........................................................................................51 Hnh 3.2: S mch nguyn l h thng........................................................................56 SVTH : Nguyn Trung Kin D07KTDT1 ix

an tt nghip Hnh 3.3: S nguyn l ca PIC16F877A trong mch.................................................57 Hnh 3.4: S nguyn l kt ni trong mch ca IC MT8870........................................58 Hnh 3.5: S nguyn l kt ni ca LCD1602 trong mch in...................................59 Hnh 3.6: S nguyn l ngun nui ca mch..............................................................59 Hnh 3.7 : S nguyn l khi ng ngt thit b in...................................................60 Hinh 3.8: S nguyn ly khi tin hiu phan hi.............................................................60 Hnh 3.9: S mch in thc t sau thit k.....................................................................61 Hnh 3.10: Giao din ca PIC C Compiler........................................................................62 Hnh 3.11: To Project bng PIC Wizard..........................................................................63 Hnh 3.12: Ca s Save As...............................................................................................64 Hnh 3.13: Tab General.....................................................................................................64 Hnh 3.14: Tab Communications......................................................................................65 Hnh 3.15: Tab SPI and LCD............................................................................................66 Hnh 3.16: Tab Timer.......................................................................................................67 Hnh 3.17: Tab Analog......................................................................................................68 Hnh 3.18: Tab Other........................................................................................................69 Hnh 3.19: Tab Interrupts..................................................................................................70 Hnh 3.20 : TabDriver.......................................................................................................70 Hnh 3.21: PG2C mch np PIC qua cng COM..............................................................71 SVTH : Nguyn Trung Kin D07KTDT1 x

an tt nghip Hnh 3.22: Giao din phn mm np WinPic800..............................................................72 Hnh 3.23: Test cable........................................................................................................73 Hnh 3.24: Test Hardware.................................................................................................73 Hnh 3.25:Vi iu khin PIC 40 chn...............................................................................74 Hnh 3.26:Vi iu khin PIC 18 chn...............................................................................75 Hnh 3.27:Vi iu khin PIC 28chn................................................................................75 Hnh 3.28:Vi iu khin PIC 8 chn.................................................................................75 Hnh 3.29: Qu trnh Dectect Vi iu khin......................................................................76 Hnh 3.30:Qu trnh np file .Hex vo Vi iu khin PICSau khi qu trnh np hon thnh l c th g vi iu khin ra dng. chc chn chng trnh np l ng chng ta c th bm vo read all.......................................................................................77 Hnh 3.31:c chng trnh ra t Vi iu khin PIC........................................................78 Hnh 3.32: So snh kim tra qu trnh np file .Hex ....................................................78 Hnh 3.33: Lu thut ton iu khin..........................................................................80 Hnh 4.1: Mch thc t sau khi thit k v chy th.........................................................82

SVTH : Nguyn Trung Kin D07KTDT1

xi

an tt nghip

DANH MC CC T VIT TTSTT1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 1 0 .

Thut ng ADC CCP CCS DTMF FSG GPR I2C ICSP LCD

nghaAnalog-to-Digital Converter Capture/Compare/PWM Custom Computer Services Dual Tone Multi Frequency File Select Register General Purpose Register Inter Intergrated Circuit In-Circuit Serial Programming Liquid Crytal Display

MCLR

Master Clear

SVTH : Nguyn Trung Kin D07KTDT1

xii

an tt nghip1 1 . 1 2 . 1 3 . 1 4 . 1 5 . 1 6 .

PIC

Programmable Intergrated Circuit

PWM

Pulse Width Modulation

SFG

Special Function Register

SPI

Serial Pripheral Interface

SSP

Synchronous Serial Port

WDT

Watchdog Timer

CHNG 1 GII THIU TI1.1 tng bi ton Ngy nay, cng ngh in thoi di ng ngy mt pht trin mnh. in thoi tr thnh mt nhu cu khng th thiu c ca con ngi trong nhp sng hin i chic in thoi gn nh lc no cng c chng ta mang theo bn ngi. Bi vy ngoi kh nng nghe, gi, nhn tin, truy cp internet, gii trvv th mt cu hi c t ra l: C th dng SVTH : Nguyn Trung Kin D07KTDT1 xiii

an tt nghip in thoi di ng iu khin cc thit b in nh T lnh, TV, iu ho nhit , my tnh, l vi sng, qut in, n chiu sng, bnh nng lnh.vv khng? Trong thc t cuc sng c khng t ln chng ta i n cng ty hay i ra ngoi m qun khng tt my tnh, iu ho, bnh nng lnh vv v nhiu khi chng ta phi tr v nh ch tt cc thit b ny bi nhiu l do nh: nguy c chy n, nguy him, hng hc, tn inTrong nhng ngy ma ng lnh trc khi i lm v chng ta mun c sn nc nng tm cho thoi mi sau mt ngy lm vic hay chng ta mun ngi mt ch iu khin cng vic t xa....vv. Xut pht t nhng yu cu thc t cuc sng ti ca em nghin cu thu tn hiu DTMF t in thoi di ng t gii m v a ra c cc tn hiu iu khin bt /tt thit b in.Vi kh nng ny chng ta ch cn mang in thoi ra v gi in nhp m iu khin l c th yn tm cc thit b in chng ta trng thi tt/bt nh mun. 1.2 Cu to c bn v nguyn l hot ng ca in thoi 1.2.1 cu to c bn Gm ba phn chnh sau: Phn chuyn i mch in: Phn ny gm h thng l m tip im v c nhim v ng m mch in khi c yu cu. Phn thu v pht tn hiu gi: Phn ny gm hai phn chnh l my in quay tay c nhim v pht tn hiu gi ln ng truyn v phn chung my c nhim v bin dng tn hiu gi thnh tn hiu gi. Phn thu pht thoi: Gm c loa v mic. Loa c nhim v bin i tn hiu m thanh thnh tn hiu in v mic th c nhim v ngc li bin tn hiu in thnh tn hiu m thanh. 1.2.2 Nguyn l hot ng Khi ta thc hin cuc gi dao ng m thanh ca ting ni s tc ng vo mng rung ca mic lm xut hin dng in bin i tng ng trong mch. Dng in bin i SVTH : Nguyn Trung Kin D07KTDT1 xiv

an tt nghip ny c truyn trn ng dy in thoi v c chuyn mch n my in thoi c gi, lm cho mng rung ca loa dao ng, lp khng kh trc mng s dao ng theo pht ra m thanh tc ng n tai ngi nghe v qu trnh truyn dn ngc li cng tng t. 1.3 Tn hiu DTMF 1.3.1 nh ngha DTMF(Dual Tone Multi Frequency): l tn hiu gm c hai tn s xp trng ln nhau. Mi tn s c la chn sao cho c li cho vic thit k b lc v d dng truyn i trn ng dy in thoi c bng thng khong chng 3,5KHz. DTMF pht ra l 1 tn hiu m thanh ghp ca 2 tn hiu trong di tn s t 697Hz n 1633Hz. Phin bn ca DTMF s dng cho tn hiu in thoi c bit n nh hng Touch-Tone, v c tiu chun ho bi ITU-T l Q.23. Tn hiu DTMF c th c pht hoc thu bng mt IC chuyn dng (VD: MTD887X). H thng DTMF ang pht trin v tr thnh ph bin trong h thng in thoi hin nay. H thng ny c hnh thnh vo nm 1960 nhng mi n nm 1970 mi c pht trin rng ri.

1.3.2 KEYPAD Trong DTMF mi ch s chn la c tn hiu di dng t hp ca hai tn s xoay chiu:

SVTH : Nguyn Trung Kin D07KTDT1

xv

an tt nghip Hnh 1.1: Dng tn hiu DTMF Khi mt nt c bm, hai tn s m t ch s c pht ra v c gi mt cch ng thi. c bit l hai m thanh ny khng cng m, tc l tn s ca m thanh ny khng c cng c s chung vi m thanh kia, iu ny trnh s nhm ln v tnh vi m hiu ni, s phn tch r rng gia hai loi ny l rt cn thit. V d nh hai tn s 750 v 500 l hai tn s khng th kt hp thnh tn hiu DTMF v c cng c s chung l 250, hai tn s ny l hai m thanh cng m. Keypad chun l mt ma trn ch nht gm ba ct v bn hng (3x4) to nn tng cng l 12 phm nhn: trong c 10 phm cho ch s (t 0 n 9), hai phm c bit l * v #. Mi hng trn bn phm bm c gn cho mt tn s tn hiu thp, mi ct c gn cho tn s tn hiu cao. Mi mt phm s c mt tn hiu DTMF ring c tng hp bi hai tn s tng ng vi hng v ct m phm ang ng. Nhng tn s ny c la chn cn thn sao cho c li cho vic thit k b lc v d dng truyn i trn ng dy in thoi.

SVTH : Nguyn Trung Kin D07KTDT1

xvi

an tt nghip

Hnh 1.2: Bn phm chun 12 nt Ngy nay, ngi ta cn cho thm mt vi phm to nn bng m c nm trong mt ma trn (4x4) vi mi hng miu t bng mt tn s thp v mi ct miu t bng mt tn s cao.

Hnh 1.3: Bn phm m rng 16 phm

SVTH : Nguyn Trung Kin D07KTDT1

xvii

an tt nghip

1.3.3 IC MT8870 thu tn hiu DTMF

Hinh 1.4: IC thu DTMF MT8870 nh ngha cc chn nh sau: PIN 1 (IN+) Non- Investing op-amp: Ng vo khng o. PIN 2 (IN-) Investing op-amp: Ng vo o. PIN 3 (GS) Gain Select: Gip truy xut ng ra ca b khuch i vi sai u cui qua in tr hi tip. PIN 4 (Vref ) Reference Voltage: Ng ra (Thng thng bng VDD/2). PIN 5 (INH) Inhibit: Ng vo (Khi chn ny mc logic cao th khng nhn c k t A,B,C ng ra). PIN 6 ( PWDN) Power down: Ng vo tc ng mc cao (Khi chn ny tc ng th s cm mch dao ng v IC 8870 hot ng). PIN 7 (OSC 1): Clock ng vo MHz PIN 8 (OSC 2): Clock ng ra (Ni hai chn 7 v 8 vi thch anh 3.579545 MHz, to mt mch dao ng ni). PIN 9 (Vss): Ni GND. xviii

SVTH : Nguyn Trung Kin D07KTDT1

an tt nghip PIN 10(TOE) Three Stage Output Enable: Ng vo, Ng ra Q1-Q4 hot ng khi TOE mc cao. PIN 11-14 t Q1-Q4: Ng ra (khi TOE mc cao cc chn ny cung cp m tng ng vi cc cp Tone d tm c theo bng chc nng. Khi TOE mc thp d liu ng ra trng thi tr khng cao). PIN 15 (STD) Delayed Steering: Ng ra, mc cao khi gp tn s Tone c ghi nhn v g ra cht thch hp, tr v mc thp khi in p trn ST/GT nh hn in p ngng VTST. PIN 16 (EST): Early Steering (ng ra), chn ny ln mc [1] khi b thut ton nhn c cp tone v tr v mc[0] khi mt Tone. PIN 17 (ST/GT): Steering Input /Guard tune output (ng ra), khi in p Vc ln hn VTST th ST s iu khin d tm cp Tone v cht ng ra. PIN 18 (VDD): in p cung cp, thng l +5V.

IC nhn tn hiu DTMF t ng in thoi qua chn 2 (IN -), sau khi thc hin gii m n a d liu ra 4 chn (t chn 11 n chn 14) di dng 4 bit nh phn.

SVTH : Nguyn Trung Kin D07KTDT1

xix

an tt nghip

Hnh 1.5: S khi ca MT8870

SVTH : Nguyn Trung Kin D07KTDT1

xx

an tt nghip

Bng trng thi MT8870:

Digit ANY 1 2 3 4 5 6 7 8 9 0 * # A B C D

TOE L H H H H H H H H H H H H H H H H

INH X X X X X X X X X X X X X L L L L

Est H H H H H H H H H H H H H H H H H

Q4 Z 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0

Q3 Z 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0

Q2 Z 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

Q1 Z 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

SVTH : Nguyn Trung Kin D07KTDT1

xxi

an tt nghip

Mch Test th vi MT8870:

SVTH : Nguyn Trung Kin D07KTDT1

xxii

an tt nghip

Hnh 1.6: S mch test th vi IC MT8870 Khi khng bm nt: TOE: Logic 0 Q3: Logic 0 Q2: Logic 0 Q1: Logic 0 Khi bm v gi nt 1: TOE: Logic 1 Q4: Logic 0 Q3: Logic 0 Q2: Logic 0 Q1: Logic 1 SVTH : Nguyn Trung Kin D07KTDT1 xxiii

an tt nghip

Th nt 1: TOE: Logic 0 Q4: Logic 0 Q3: Logic 0 Q2: Logic 0 Q1: Logic 1 Khi bm v gi nt 2: TOE: Logic 1 Q4: Logic 0 Q3: Logic 0 Q2: Logic 1 Q1: Logic 0 Th nt 2: TOE: Logic 0 Q4: Logic 0 Q3: Logic 0 Q2: Logic 1 Q1: Logic 0 Khi bm s in thoi th StD c mc logic l 1, cn khi ta khng bm th StD c mc logic l 0. Cn cc chn Q1, Q2, Q3, Q4 l m BCD ca s in thoi.

SVTH : Nguyn Trung Kin D07KTDT1

xxiv

an tt nghip

CHNG 2 TM HIU VI IU KHIN PIC 16F877A2.1 Gii thiu PIC 16F877A Vi iu khin vi chc nng l b s l trung tm, nhn tn hiu t b thu v gii m DTMF a ra tn hiu iu khin thit b. S chn VK PIC 16F877A:

Hnh 2.1: S chn ca PIC16F877A Chc nng cc chn VK: Chn OSC1/CLK1(13): Ng vo kt ni vi dao ng thch anh hoc ng vo nhn xung clock t bn ngoi. Chn OSC2/CLK0(14): Ng ra dao ng thch anh hoc ng cp xung clock. Chn /Vpp(1) C 2 chc nng: : Ng vo reset tch cc mc thp. Vpp: Ng vo nhn in p lp trnh khi lp trnh cho pic. Chn RA0/AN0(2), RA1/AN1(3), RA2/AN2 c 2 chc nng: RA0, 1, 2: Ng vo xut/nhp s. AN0, 1, 2: Ng vo tng t ca knh 0, 1, 2. SVTH : Nguyn Trung Kin D07KTDT1 xxv

an tt nghip Chn RA2/AN2/VREF-/VREF+(4): xut nhp s/ ng vo tng t knh th 2/ ng vo in p chun thp b AD/ ng vo in p chun cao b AD. Chn RA3/AN3/VREF+(5): xut nhp s/ ng vo knh tng t 3/ ng vo in p chun(cao) ca b AD. Chn RA4/TOCK1/C1OUT(6): xut nhp s/ ng vo xung clock bn ngoi cho TIMER0/ ng ra b so snh 1. Chn RA5/AN4/ /C2OUT(7): xut nhp s/ ng vo tng t knh 4/ ng vo la chn SPI ph/ ng ra b so snh 2. Chn RB0/INT(33): xut nhp s/ ng vo tn hiu ngt ngoi. Chn RB1(34), RB2(35): xut nhp s. Chn RB3/PGM(36): xut nhp s/ cho php lp trnh in p thp ICSP. Chn RB4(37), RB5(38): xut nhp s. Chn RB6/PGC(39): xut nhp s/ mch g ri v xung clock lp trnh ICSP. Chn RB7/PGD(40): xut nhp s/ mch g ri v d liu lp trnh ICSP. Chn RC0/T1OCO/T1CKI(15): xut nhp s/ ng vo dao ng Timer1/ ng vo xung clock bn ngoi Timer1. Chn RC1/T1OSI/CCP2(16): xut nhp s/ ng vo b dao ng Timer1/ ng vo capture2, ng ra compare2, ng ra PWM2. Chn RC2/CCP1(17): xut nhp s/ ng vo Capture1, ng ra Compare1, ng ra PWN1. Chn RC3/SCK/SCL(18): xut nhp s/ ng vo xung clock ni tip ng b, ng ra ch SPI/ ng vo xung clock ng b, ng ra ch I2C. Chn RC4/SDI/SDA(23): xut nhp s/ d liu vo SPI/ xut nhp I2C. Chn RC5/SDO(24): xut nhp s/ d liu ra SPI. Chn RC6/TX/CK(25): xut nhp s/ truyn bt ng b USART/ xung ng b USART. Chn RC7/RX/DT(26): xut nhp s/ nhn bt ng b USART. Chn RD0 7/PSP0 7(19 30): xut nhp s/ d liu port song song. Chn RE0/ /AN5(8): xut nhp s/ iu khin port song song/ ng vo tng t knh 5. Chn RE1/ /AN6(9): xut nhp s/ iu khin ghi port song song/ ng vo tng t knh 6. Chn RE2/ /AN7(10): xut nhp s/ chn chn la iu khin port song song/ ng vo tng t knh 7. Chn VDD(11, 32) v VSS(12, 31): l chn ngun ca Pic.

2.2 Cc thnh phn chnh trong vi iu khin PIC 16F877A S khi: SVTH : Nguyn Trung Kin D07KTDT1 xxvi

an tt nghip

Hnh 2.2: S khi ca PIC16F877A

SVTH : Nguyn Trung Kin D07KTDT1

xxvii

an tt nghip y l vi iu khin thuc h PIC16Fxxx vi tp lnh gm 35 lnh c di 14 bit. Mi lnh u c thc thi trong mt chu k xung clock. Tc hot ng ti a cho php l 20 MHz vi mt chu k lnh l 200ns. B nh chng trnh 8Kx14 bit, b nh d liu 368x8 byte RAM v b nh d liu EEPROM vi dung lng 256x8 byte. S PORT I/O l 5 vi 33 pin I/O. Cc c tnh ngoi vi bao gm cc khi chc nng sau: Timer0: b m 8 bit vi b chia tn s 8 bit. Timer1: b m 16 bit vi b chia tn s, c th thc hin chc nng m da vo xung clock ngoi vi ngay khi vi iu khin hot ng ch sleep. Timer2: b m 8 bit vi b chia tn s, b postcaler. Hai b Capture/so snh/iu ch rng xung. Cc chun giao tip ni tip SSP (Synchronous Serial Port), SPI v I2C. Chun giao tip ni tip USART vi 9 bit a ch. Cng giao tip song song PSP (Parallel Slave Port) vi cc chn iu khin RD, WR, CS bn ngoi. Cc c tnh Analog: 8 knh chuyn i ADC 10 bit. Hai b so snh. Bn cnh l mt vi c tnh khc ca vi iu khin nh: B nh Flash vi kh nng ghi xa c 100.000 ln. B nh EEPROM vi kh nng ghi xa c 1.000.000 ln. D liu b nh EEPROM c th lu tr trn 40 nm. Kh nng t np chng trnh vi s iu khin ca phn mm. Np c chng trnh ngay trn mch in ICSP (In Circuit Serial Programming) thng qua 2 chn. Watchdog Timer vi b dao ng trong. Chc nng bo mt m chng trnh. Ch Sleep. C th hot ng vi nhiu dng Oscillator khc nhau. SVTH : Nguyn Trung Kin D07KTDT1 xxviii

an tt nghip 2.3 T chc b nh

Hnh 2.3: B nh chng trnh PIC16F877A B nh chng trnh ca vi iu khin PIC16F877A l b nh flash, dung lng b nh 8K word (1 word = 14 bit) v c phn thnh nhiu trang (t page0 n page 3). Nh vy, b nh chng trnh c kh nng cha c 8*1024 = 8192 lnh (v mt lnh sau khi m ha s c dung lng 1 word (14 bit).

SVTH : Nguyn Trung Kin D07KTDT1

xxix

an tt nghip m ha c a ch ca 8K word b nh chng trnh, b m chng trnh c dung lng 13 bit (PC). Khi vi iu khin c reset, b m chng trnh s ch n a ch 0000h (Reset vector). Khi c ngt xy ra, b m chng trnh s ch n a ch 0004h (Interrupt vector). B nh chng trnh khng bao gm b nh Stack v khng c a ch ha bi b m chng trnh. B nh d liu: B nh d liu ca PIC l b nh EEPROM c chia ra lm nhiu bank. i vi PIC16F877A b nh d liu c chia ra lm 4 bank. Mi bank c dung lng 128 byte, bao gm cc thanh ghi c chc nng c bit SFG (Special Function Register) nm cc vng a ch thp v cc thanh ghi mc ch chung GPR(General Purpose Register) nm vng a ch cn li trong bank. Cc thanh ghi SFR thng xuyn c s dng (v d nh thanh ghi STATUS) s c t tt c cc bank ca b nh d liu gip thun tin trong qu trnh truy xut v lm gim bt lnh ca chng trnh. S c th ca b nh d liu PIC16F877A nh sau:

SVTH : Nguyn Trung Kin D07KTDT1

xxx

an tt nghip

Hnh 2.4: B nh d liu ca PIC 16F877A

SVTH : Nguyn Trung Kin D07KTDT1

xxxi

an tt nghip

2.3.1 Thanh ghi chc nng c bit SFR y l cc thanh ghi c s dng bi CPU hoc c dng thit lp v iu khin cc khi chc nng c tch hp bn trong vi iu khin. C th phn thanh ghi SFR lm hai lai: thanh ghi SFR lin quan n cc chc nng bn trong (CPU) v thanh ghi SRF dng thit lp v iu khin cc khi chc nng bn ngoi (v d nh ADC, PWM, ). Phn ny s cp n cc thanh ghi lin quan n cc chc nng bn trong. Cc thanh ghi dng thit lp v iu khin cc khi chc nng s c nhc n khi ta cp n cc khi chc nng . Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi cha kt qu thc hin php ton ca khi ALU, trng thi reset v cc bit chn bank cn truy xut trong b nh d liu.

Thanh ghi OPTION_REG (81h, 181h): thanh ghi ny cho php c v ghi, cho php iu khin chc nng pull-up ca cc chn trong PORTB, xc lp cc tham s v xung tc ng, cnh tc ng ca ngt ngoi vi v b m Timer0.

Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh): thanh ghi cho php c v ghi, cha cc bit iu khin v cc bit c hiu khi timer0 b trn, ngt ngoi vi RB0/INT v ngt interrput-on-change ti cc chn ca PORTB.

Thanh ghi PIE1 (8Ch): cha cc bit iu khin chi tit cc ngt ca cc khi chc nng ngoi vi.

SVTH : Nguyn Trung Kin D07KTDT1

xxxii

an tt nghip

Thanh ghi PIR1 (0Ch): cha c ngt ca cc khi chc nng ngoi vi, cc ngt ny c cho php bi cc bit iu khin cha trong thanh ghi PIE1.

Thanh ghi PIE2 (8Dh): cha cc bit iu khin cc ngt ca cc khi chc nng CCP2, SSP bus, ngt ca b so snh v ngt ghi vo b nh EEPROM.

Thanh ghi PIR2 (0Dh): cha cc c ngt ca cc khi chc nng ngoi vi, cc ngt ny c cho php bi cc bit iu khin cha trong thanh ghi PIE2.

Thanh ghi PCON (8Eh): cha cc c hiu cho bit trng thi cc ch reset ca vi iu khin.

2.3.2 Thanh ghi mc ch chung GPR Cc thanh ghi ny c th c truy xut trc tip hoc gin tip thng qua thanh ghi FSG (File Select Register). y l cc thanh ghi d liu thng thng, ngi s dng c th ty theo mc ch chng trnh m c th dng cc thanh ghi ny cha cc bin s, hng s, kt qu hoc cc tham s phc v cho chng trnh.

SVTH : Nguyn Trung Kin D07KTDT1

xxxiii

an tt nghip 2.3.3 Stack Stack khng nm trong b nh chng trnh hay b nh d liu m l mt vng nh c bit khng cho php c hay ghi. Khi lnh CALL c thc hin hay khi mt ngt xy ra lm chng trnh b r nhnh, gi tr ca b m chng trnh PC t ng c vi iu khin ct vo trong Stack. Khi mt trong cc lnh RETURN, RETLW hat RETFIE c thc thi, gi tr PC s t ng c ly ra t trong Stack, vi iu khin s thc hin tip chng trnh theo ng qui trnh nh trc. B nh Stack trong vi iu khin PIC h 16F87xA c kh nng cha c 8 a ch v hot ng theo c ch xoay vng. Ngha l gi tr ct vo b nh Stack ln th 9 s ghi ln gi tr ct vo Stack ln u tin v gi tr ct vo b nh Stack ln th 10 s ghi ln gi tr 6 ct vo Stack ln th 2. Cn ch l khng c c hiu no cho bit trng thi Stack, do ta khng bit c khi no Stack trn. Bn cnh tp lnh ca vi iu khin dng PIC cng khng c lnh POP hay PUSH, cc thao tc vi b nh Stack s hon ton c iu khin bi CPU. 2.4 Cc cng xut nhp ca PIC16F877A Cng xut nhp (I/O port) chnh l phng tin m vi iu khin dng tng tc vi th gii bn ngoi. S tng tc ny rt a dng v thng qua qu trnh tng tc , chc nng ca vi iu khin c th hin mt cch r rng. Mt cng xut nhp ca vi iu khin bao gm nhiu chn (I/O pin), ty theo cch b tr v chc nng ca vi iu khin m s lng cng xut nhp v s lng chn trong mi cng c th khc nhau. Bn cnh , do vi iu khin c tch hp sn bn trong cc c tnh giao tip ngoi vi nn bn cnh chc nng l cng xut nhp thng thng, mt s chn xut nhp cn c thm cc chc nng khc th hin s tc ng ca cc c tnh ngoi vi nu trn i vi th gii bn ngoi. Chc nng ca tng chn xut nhp trong mi cng hon ton c th c xc lp v iu khin c thng qua cc thanh ghi SFR lin quan n chn xut nhp .

SVTH : Nguyn Trung Kin D07KTDT1

xxxiv

an tt nghip Vi iu khin PIC16F877A c 5 cng xut nhp, bao gm PORTA, PORTB, PORTC, PORTD v PORTE. 2.4.1 PORTA PORTA (RPA) bao gm 6 I/O pin. y l cc chn hai chiu (bidirectional pin), ngha l c th xut v nhp c. Chc nng I/O ny c iu khin bi thanh ghi TRISA (a ch 85h). Mun xc lp chc nng ca mt chn trong PORTA l input, ta set bit iu khin tng ng vi chn trong thanh ghi TRISA v ngc li, mun xc lp chc nng ca mt chn trong PORTA l output, ta clear bit iu khin tng ng vi chn trong thanh ghi TRISA. Thao tc ny hon ton tng t i vi cc PORT v cc thanh ghi iu khin tng ng TRIS (i vi PORTA l TRISA, i vi PORTB l TRISB, i vi PORTC l TRISC, i vi PORTD l TRISD v i vi PORTE l TRISE). Bn cnh PORTA cn l ng ra ca b ADC, b so snh, ng vo analog ng vo xung clock ca Timer0 v ng vo ca b giao tip MSSP (Master Synchronous Serial Port). Cc thanh ghi SFR lin quan n PORTA bao gm: PORTA (a ch 05h): cha gi tr cc pin trong PORTA. TRISA (a ch 85h): iu khin xut nhp. CMCON (a ch 9Ch): thanh ghi iu khin b so snh. CVRCON (a ch 9Dh): thanh ghi iu khin b so snh in p. ADCON1 (a ch 9Fh): thanh ghi iu khin b ADC. 2.4.2 PORTB PORTB (RPB) gm 8 pin I/O. Thanh ghi iu khin xut nhp tng ng l TRISB. Bn cnh mt s chn ca PORTB cn c s dng trong qu trnh np chng trnh cho vi iu khin vi cc ch np khc nhau. PORTB cn lin quan n ngt ngoi vi v b Timer0. PORTB cn c tch hp chc nng in tr ko ln c iu khin bi chng trnh. Cc thanh ghi SFR lin quan n PORTB bao gm: PORTB (a ch 06h,106h): cha gi tr cc pin trong PORTB. SVTH : Nguyn Trung Kin D07KTDT1 xxxv

an tt nghip TRISB (a ch 86h,186h): iu khin xut nhp. OPTION_REG (a ch 81h,181h): iu khin ngt ngoi vi v b Timer0. 2.4.3 PORTC PORTC (RPC) gm 8 pin I/O. Thanh ghi iu khin xut nhp tng ng l TRISC. Bn cnh PORTC cn cha cc chn chc nng ca b so snh, b Timer1, b PWM v cc chun giao tip ni tip I2C, SPI, SSP, USART. Cc thanh ghi iu khin lin quan n PORTC: PORTC (a ch 07h): cha gi tr cc pin trong PORTC. TRISC (a ch 87h): iu khin xut nhp. 2.4.4 PORTD PORTD (RPD) gm 8 chn I/O, thanh ghi iu khin xut nhp tng ng l TRISD. PORTD cn l cng xut d liu ca chun giao tip PSP (Parallel Slave Port). Cc thanh ghi lin quan n PORTD bao gm: Thanh ghi PORTD: cha gi tr cc pin trong PORTD. Thanh ghi TRISD: iu khin xut nhp. Thanh ghi TRISE: iu khin xut nhp PORTE v chun giao tip PSP. 2.4.5 PORTE PORTE (RPE) gm 3 chn I/O. Thanh ghi iu khin xut nhp tng ng l TRISE. Cc chn ca PORTE c ng vo analog. Bn cnh PORTE cn l cc chn iu khin ca chun giao tip PSP. Cc thanh ghi lin quan n PORTE bao gm: PORTE: cha gi tr cc chn trong PORTE. TRISE: iu khin xut nhp v xc lp cc thng s cho chun PSP. ADCON: thanh ghi iu khin khi ADC. 2.5 Cc b nh thi 2.5.1 TIMER 0 y l mt trong ba b m hoc b nh thi ca vi iu khin PIC16F877A. Timer0 l b m 8 bit c kt ni vi b chia tn s (prescaler) 8 bit. Cu trc ca SVTH : Nguyn Trung Kin D07KTDT1 xxxvi

an tt nghip Timer0 cho php ta la chn xung clock tc ng v cnh tch cc ca xung clock. Ngt Timer0 s xut hin khi Timer0 b trn. Bit TMR0IE (INTCON) l bit iu khin ca Timer0. TMR0IE=1 cho php ngt Timer0 tc ng, TMR0IF= 0 khng cho php ngt Timer0 tc ng. S khi ca Timer0 nh sau:

Hnh 2.5: S khi ca Timer 0 Mun Timer0 hot ng ch Timer ta clear bit TOSC (OPTION_REG), khi gi tr thanh ghi TMR0 s tng theo tng chu k xung ng h (tn s vo Timer0 bng tn s oscillator). Khi gi tr thanh ghi TMR0 t FFh tr v 00h, ngt Timer0 s xut hin. Thanh ghi TMR0 cho php ghi v xa c gip ta n nh thi im ngt Timer0 xut hin mt cch linh ng. Mun Timer0 hot ng ch counter ta set bit TOSC (OPTION_REG). Khi xung tc ng ln b m c ly t chn RA4/TOCK1. Bit TOSE (OPTION_REG)

SVTH : Nguyn Trung Kin D07KTDT1

xxxvii

an tt nghip cho php la chn cnh tc ng vo b m. Cnh tc ng s l cnh ln nu TOSE=0 v cnh tc ng s l cnh xung nu TOSE=1. Khi thanh ghi TMR0 b trn, bit TMR0IF (INTCON) s c set. y chnh l c ngt ca Timer0. C ngt ny phi c xa bng chng trnh trc khi b m bt u thc hin li qu trnh m. Ngt Timer0 khng th nh thc vi iu khin t ch sleep. B chia tn s (prescaler) c chia s gia Timer0 v WDT (Watchdog Timer). iu c ngha l nu prescaler c s dng cho Timer0 th WDT s khng c c h tr ca prescaler v ngc li. Prescaler c iu khin bi thanh ghi OPTION_REG. Bit PSA (OPTION_REG) xc nh i tng tc ng ca prescaler. Cc bit PS2:PS0 (OPTION_REG) xc nh t s chia tn s ca prescaler. Xem li thanh ghi OPTION_REG xc nh li mt cch chi tit v cc bit iu khin trn. Cc lnh tc ng ln gi tr thanh ghi TMR0 s xa ch hot ng ca prescaler. Khi i tng tc ng l Timer0, tc ng ln gi tr thanh ghi TMR0 s xa prescaler nhng khng lm thay i i tng tc ng ca prescaler. Khi i tng tc ng l WDT, lnh CLRWDT s xa prescaler, ng thi prescaler s ngng tc v h tr cho WDT. Cc thanh ghi iu khin lin quan n Timer0 bao gm: TMR0 (a ch 01h, 101h): cha gi tr m ca Timer0. INTCON (a ch 0Bh, 8Bh, 10Bh, 18Bh): cho php ngt hot ng (GIE v PEIE). OPTION_REG (a ch 81h, 181h): iu khin prescaler. 2.5.2 TIMER 1 Timer1 l b nh thi 16 bit, gi tr ca Timer1 s c lu trong hai thanh ghi (TMR1H:TMR1L). C ngt ca Timer1 l bit TMR1IF (PIR1). Bit iu khin ca Timer1 s l TMR1IE (PIE). Tng t nh Timer0, Timer1 cng c hai ch hot ng: ch nh thi (timer) vi xung kch l xung clock ca oscillator (tn s ca timer bng tn s ca

SVTH : Nguyn Trung Kin D07KTDT1

xxxviii

an tt nghip oscillator) v ch m (counter) vi xung kch l xung phn nh cc s kin cn m ly t bn ngoi thng qua chn RC0/T1OSO/T1CKI (cnh tc ng l cnh ln). Vic la chn xung tc ng (tng ng vi vic la chn ch hot ng l timer hay counter) c iu khin bi bit TMR1CS (T1CON). Sau y l s khi ca Timer1:

Hnh 2.6: S khi ca Timer1 Ngoi ra, Timer1 cn c chc nng reset input bn trong c iu khin bi mt trong hai khi CCP (Capture/Compare/PWM). Khi bit T1OSCEN (T1CON) c set, Timer1 s ly xung clock t hai chn: RC1/T1OSI/CCP2 v RC0/T1OSO/T1CKI lm xung m. Timer1 s bt u m sau cnh xung u tin ca xung ng vo. Khi PORTC s b qua s tc ng ca hai bit TRISC v PORTC c gn gi tr 0. Khi clear bit T1OSCEN Timer1 s ly xung m t oscillator hoc t chn RC0/T1OSO/T1CKI. Timer1 c hai ch m l ng b (Synchronous) v bt ng b (Asynchronous). Ch m c quyt nh bi bit iu khin T1SYNC (T1CON). Khi T1SYNC = 1 xung m ly t bn ngoi s khng c ng b ha vi xung clock bn trong, Timer1 s tip tc qu trnh m khi vi iu khin ang ch sleep v ngt do Timer1 to ra khi b trn c kh nng nh thc vi iu khin. ch m bt ng b, Timer1 khng th c s dng lm ngun xung clock cho khi CCP (Capture/Compare/Pulse width modulation). SVTH : Nguyn Trung Kin D07KTDT1 xxxix

an tt nghip Khi T1SYNC = 0 xung m vo Timer1 s c ng b ha vi xung clock bn trong. ch ny Timer1 s khng hot ng khi vi iu khin ang ch sleep. Cc thanh ghi lin quan n Timer1 bao gm: INTCON (a ch 0Bh, 8Bh, 10Bh, 18Bh): cho php ngt hot ng (GIE v PEIE). PIR1 (a ch 0Ch): cha c ngt Timer1 (TMR1IF). PIE1( a ch 8Ch): cho php ngt Timer1 (TMR1IE). TMR1L (a ch 0Eh): cha gi tr 8 bit thp ca b m Timer1. TMR1H (a ch 0Eh): cha gi tr 8 bit cao ca b m Timer1. T1CON (a ch 10h): xc lp cc thng s cho Timer1. 2.5.3 TIMER2 Timer2 l b nh thi 8 bit v c h tr bi hai b chia tn s prescaler v postscaler. Thanh ghi cha gi tr m ca Timer2 l TMR2. Bit cho php ngt Timer2 tc ng l TMR2ON (T2CON). C ngt ca Timer2 l bit TMR2IF (PIR1). Xung ng vo (tn s bng tn s oscillator) c a qua b chia tn s prescaler 4 bit (vi cc t s chia tn s l 1:1, 1:4 hoc 1:16 v c iu khin bi cc bit T2CKPS1:T2CKPS0 (T2CON).

Hnh 2.7: S i khi ca Timer2

SVTH : Nguyn Trung Kin D07KTDT1

xl

an tt nghip Timer2 cn c h tr bi thanh ghi PR2. Gi tr m trong thanh ghi TMR2 s tng t 00h n gi tr cha trong thanh ghi PR2, sau c reset v 00h. Khi reset thanh ghi PR2 c nhn gi tr mc nh FFh. Ng ra ca Timer2 c a qua b chia tn s postscaler vi cc mc chia t 1:1 n 1:16. Postscaler c iu khin bi 4 bit T2OUTPS3:T2OUTPS0. Ng ra ca postscaler ng vai tr quyt nh trong vic iu khin c ngt. Ngoi ra ng ra ca Timer2 cn c kt ni vi khi SSP, do Timer2 cn ng vai tr to ra xung clock ng b cho khi giao tip SSP. Cc thanh ghi lin quan n Timer2 bao gm: INTCON (a ch 0Bh, 8Bh, 10Bh, 18Bh): cho php ton b cc ngt (GIE v PEIE). PIR1 (a ch 0Ch): cha c ngt Timer2 (TMR2IF). PIE1 (a ch 8Ch): cha bit iu khin Timer2 (TMR2IE). TMR2 (a ch 11h): cha gi tr m ca Timer2. T2CON (a ch 12h): xc lp cc thng s cho Timer2. PR2 (a ch 92h): thanh ghi h tr cho Timer2. Ta c mt vi nhn xt v Timer0, Timer1 v Timer2 nh sau: Timer0 v Timer2 l b m 8 bit (gi tr m ti a l FFh), trong khi Timer1 l b m 16 bit (gi tr m ti a l FFFFh). Timer0, Timer1 v Timer2 u c hai ch hot ng l timer v counter. Xung clock c tn s bng tn s ca oscillator. Xung tc ng ln Timer0 c h tr bi prescaler v c th c thit lp nhiu ch khc nhau (tn s tc ng, cnh tc ng) trong khi cc thng s ca xung tc ng ln Timer1 l c nh. Timer2 c h tr bi hai b chia tn s prescaler v postcaler c lp, tuy nhin cnh tc ng vn c c nh l cnh ln. Timer1 c quan h vi khi CCP, trong khi Timer2 c kt ni vi khi SSP. Mt vi so snh s gip ta d dng la chn c Timer thch hp cho ng dng.

SVTH : Nguyn Trung Kin D07KTDT1

xli

an tt nghip 2.6 ADC ADC (Analog to Digital Converter) l b chuyn i tn hiu gia hai dng tng t v s. PIC16F877A c 8 ng vo analog (RA4:RA0 v RE2:RE0). Hiu in th chun VREF c th c la chn l VDD, VSS hay hiu in th chun c xc lp trn hai chn RA2 v RA3. Kt qu chuyn i t tn tiu tng t sang tn hiu s l 10 bit s tng ng v c lu trong hai thanh ghi ADRESH:ADRESL. Khi khng s dng b chuyn i ADC, cc thanh ghi ny c th c s dng nh cc thanh ghi thng thng khc. Khi qu trnh chuyn i hon tt, kt qu s c lu vo hai thanh ghi ADRESH:ADRESL, bit (ADCON0) c xa v 0 v c ngt ADIF c set. Qui trnh chuyn i t tng t sang s bao gm cc bc sau: Thit lp cc thng s cho b chuyn i ADC. Chn ng vo analog, chn in p mu (da trn cc thng s ca thanh ghi ADCON1) Chn knh chuyn i AD (thanh ghi ADCON0). Chn xung clock cho knh chuyn i AD (thanh ghi ADCON0). Cho php b chuyn i AD hot ng (thanh ghi ADCON0). Thit lp cc c ngt cho b AD. Clear bit ADIF. Set bit ADIE. Set bit PEIE. Set bit GIE. i cho ti khi qu trnh ly mu hon tt. Bt u qu trnh chuyn i (set bit GO/DONE ). i cho ti khi qu trnh chuyn i hon tt bng cch: Kim tra bit GO/DONE . Nu GO/DONE =0, qu trnh chuyn i hon tt. Kim tra c ngt.

SVTH : Nguyn Trung Kin D07KTDT1

xlii

an tt nghip c kt qu chuyn i v xa c ngt, set bit chuyn i). Tip tc thc hin cc bc 1 v 2 cho qu trnh chuyn i tip theo.GO/DONE

(nu cn tip tc

Hnh 2.8: S khi b chuyn i ADC 2.7 NGT (INTERRUPT) PIC16F877A c n 15 ngun to ra hot ng ngt c iu khin bi thanh ghi INTCON (bit GIE). Bn cnh mi ngt cn c mt bit iu khin v c ngt ring. Cc c ngt vn c set bnh thng khi tha mn iu kin ngt xy ra bt chp trng thi ca bit GIE, tuy nhin hot ng ngt vn ph thuc vo bit GIE v cc bit iu khin khc. Bit iu khin ngt RB0/INT v TMR0 nm trong thanh ghi INTCON, thanh ghi ny cn cha bit cho php cc ngt ngoi vi PEIE. Bit iu khin cc ngt nm trong thanh ghi PIE1 v PIE2. C ngt ca cc ngt nm trong thanh ghi PIR1 v PIR2. Trong mt thi im ch c mt chng trnh ngt c thc thi, chng trnh ngt c kt thc bng lnh RETFIE. Khi chng trnh ngt c thc thi, bit GIE t ng c xa, a ch lnh tip theo ca chng trnh chnh c ct vo trong b nh Stack SVTH : Nguyn Trung Kin D07KTDT1 xliii

an tt nghip v b m chng trnh s ch n a ch 0004h. Lnh RETFIE c dng thot khi chng trnh ngt v quay tr v chng trnh chnh, ng thi bit GIE cng s c set cho php cc ngt hot ng tr li. Cc c hiu c dng kim tra ngt no ang xy ra v phi c xa bng chng trnh trc khi cho php ngt tip tc hot ng tr li ta c th pht hin c thi im tip theo m ngt xy ra. i vi cc ngt ngoi vi nh ngt t chn INT hay ngt t s thay i trng thi cc pin ca PORTB (PORTB Interrupt on change), vic xc nh ngt no xy ra cn 3 hoc 4 chu k lnh ty thuc vo thi im xy ra ngt. Cn ch l trong qu trnh thc thi ngt, ch c gi tr ca b m chng trnh c ct vo trong Stack, trong khi mt s thanh ghi quan trng s khng c ct v c th b thay i gi tr trong qu trnh thc thi chng trnh ngt. iu ny nn c x l bng chng trnh trnh hin tng trn xy ra.

Hinh 2.9: S logic cua tt ca cac ngt trong PIC16F877A 2.7.1 Ngt INT Ngt ny da trn s thay i trng thi ca pin RB0/INT. Cnh tc ng gy ra ngt c th l cnh ln hay cnh xung v c iu khin bi bit INTEDG (thanh ghi OPTION_ REG ). Khi c cnh tc ng thch hp xut hin ti pin RB0/INT, c ngt SVTH : Nguyn Trung Kin D07KTDT1 xliv

an tt nghip INTF c set bt chp trng thi cc bit iu khin GIE v PEIE. Ngt ny c kh nng nh thc vi iu khin t ch sleep nu bit cho php ngt c set trc khi lnh SLEEP c thc thi. 2.7.2 Ngt do s thay i trng thi cc Pin trong PORTB Cc pin PORTB c dng cho ngt ny v c iu khin bi bit RBIE (thanh ghi INTCON). C ngt ca ngt ny l bit RBIF (INTCON). 2.7.3 Watchdog Timer (WDT) Watchdog timer (WDT) l b m c lp dng ngun xung m t b to xung c tch hp sn trong vi iu khin v khng ph thuc vo bt k ngun xung clock ngoi vi no. iu c ngha l WDT vn hot ng ngay c khi xung clock c ly t pin OSC1/CLKI v pin OSC2/CLKO ca vi iu khin ngng hot ng (chng hn nh do tc ng ca lnh sleep). Bit iu khin ca WDT l bit WDTE nm trong b nh chng trnh a ch 2007h (Configuration bit). WDT s t ng reset vi iu khin (Watchdog Timer Reset) khi b m ca WDT b trn (nu WDT c cho php hot ng), ng thi bit TO t ng c xa. Nu vi iu khin ang ch sleep th WDT s nh thc vi iu khin (Watchdog Timer Wake-up) khi b m b trn. Nh vy WDT c tc dng reset vi iu khin thi im cn thit m khng cn n s tc ng t bn ngoi, chng hn nh trong qu trnh thc thi lnh, vi iu khin b kt mt ch no m khng thot ra c, khi vi iu khin s t ng c reset khi WDT b trn chng trnh hot ng ng tr li. Tuy nhin khi s dng WDT cng c s phin toi v vi iu khin s thng xuyn c reset sau mt thi gian nht nh, do cn tnh ton thi gian thch hp xa WDT (dng lnh CLRWDT). V vic n nh thi gian reset c linh ng, WDT cn c h tr mt b chia tn s prescaler c iu khin bi thanh ghi OPTION_REG (prescaler ny c chia s vi Timer0). Mt im cn ch na l lnh sleep s xa b m WDT v prescaler. Ngoi ra lnh xa CLRWDT ch xa b m ch khng lm thay i i tng tc ng ca prescaler (WDT hay Timer0). SVTH : Nguyn Trung Kin D07KTDT1 xlv

an tt nghip 2.7.4 Ch Sleep y l ch hot ng ca vi iu khin khi lnh SLEEP c thc thi. Khi nu c cho php hot ng, b m ca WDT s b xa nhng WDT vn tip tc hot ng, bit (STATUS) c reset v 0, bit c set, oscillator ngng tc ng v cc PORT gi nguyn trng thi nh trc khi lnh SLEEP c thc thi. Do khi ch SLEEP, dng cung cp cho vi iu khin l rt nh nn ta cn thc hin cc bc sau trc khi vi iu khin thc thi lnh SLEEP: a tt c cc pin v trng thi VDD hoc VSS. Cn bo m rng khng c mch ngoi vi no c iu khin bi dng in ca vi iu khin v dng in nh khng kh nng cung cp cho cc mch ngoi vi hot ng. Tm ngng hot ng c khi A/D v khng cho php cc xung clock t bn ngoi tc ng vo vi iu khin. n chc nng ko ln in tr PORTB. Pin phi mc logic cao. 2.7.5 nh thc Vi iu khin Vi iu khin c th c nh thc di tc ng ca mt trong s cc hin tng sau: Tc ng ca reset ngoi vi thng qua pin Tc ng ca WDT khi b trn. Tc ng t cc ngt ngoi vi t PORTB (PORTB Interrupt on change hoc pin INT). Cc bitP DML CR

.

v

T O

c dng th hin trng thi ca vi iu khin v pht hinP D

ngun tc ng lm reset vi iu khin. Bit WDT tc ng do b m b trn.

c set khi vi iu khin c cpT O

ngun v c reset v 0 khi vi iu khin ch sleep. Bit

c reset v 0 khi

Ngoi ra cn c mt s ngun tc ng khc t cc chc nng ngoi vi bao gm: c hay ghi d liu thng qua PSP (Parallel Slave Port). Ngt Timer1 khi hot ng ch m bt ng b. SVTH : Nguyn Trung Kin D07KTDT1 xlvi

an tt nghip Ngt CCP khi hot ng ch Capture. Cc hin tng c bit lm reset Timer1 khi hot ng ch m bt ng b dng ngun xung clock bn ngoi). Ngt SSP khi bit Start/Stop c pht hin. SSP hot ng ch Slave mode khi truyn hoc nhn d liu. Tc ng ca USART t cc pin RX hay TX khi hot ng ch Slave mode ng b. Khi chuyn i A/D khi ngun xung clock hot ng dng RC. Hon tt qu trnh ghi vo EEPROM. Ng ra b so snh thay i trng thi. Cc tc ng ngoi vi khc khng c tc dng nh thc vi iu khin v khi ch sleep cc xung clock cung cp cho vi iu khin ngng hot ng. Bn cnh cn cho php cc ngt hot ng trc khi lnh SLEEP c thc thi bo m tc ng ca cc ngt. Vic nh thc vi iu khin t cc ngt vn c thc thi bt chp trng thi ca bit GIE. Nu bit GIE mang gi tr 0, vi iu khin s thc thi lnh tip theo sau lnh SLEEP ca chng trnh (v chng trnh ngt khng c cho php thc thi). Nu bit GIE c set trc khi lnh SLEEP c thc thi, vi iu khin s thc thi lnh tip theo ca chng trnh v sau nhy ti a ch cha chng trnh ngt (0004h). Trong trng hp lnh tip theo khng ng vai tr quan trng trong chng trnh, ta cn t thm lnh NOP sau lnh SLEEP b qua tc ng ca lnh ny, ng thi gip ta d dng hn trong vic kim sot hot ng ca chng trnh ngt. Tuy nhin cng c mt s im cn lu nh sau: Nu ngt xy ra trc khi lnh SLEEP c thc thi, lnh SLEEP s khng c thc thi v thay vo l lnh NOP, ng thi cc tc ng ca lnh SLEEP cng s c b qua.

SVTH : Nguyn Trung Kin D07KTDT1

xlvii

an tt nghip Nu ngt xy ra trong khi hay sau khi lnh SLEEP c thc thi, vi iu khin lp tc c nh thc t ch sleep, v lnh SLEEP s c thc thi ngay sau khi vi iu khin c nh thc. kim tra xem lnh SLEEP c thc thi hay cha, ta kim tra bit bitP D P D

. Nu

vn mang gi tr 1 tc l lnh SLEEP khng c thc thi v thay vo l

lnh NOP. Bn cnh ta cn xa WDT chc chn rng WDT c xa trc khi thc thi lnh SLEEP, qua cho php ta xc nh c thi im vi iu khin c nh thc do tc ng ca WDT.

SVTH : Nguyn Trung Kin D07KTDT1

xlviii

an tt nghip

SVTH : Nguyn Trung Kin D07KTDT1

xlix

n tt nghip

Chng 3: Thit k mch

CHNG 3 THIT K MCH IU KHIN THIT B IN QUA IN THOI DI NG3.1 tng Thit k mch iu khin qua in thoi di ng c chc nng thc hin iu khin ng ngt thit b in t xa thng qua in thoi di ng. H thng c thit k gm 5 khi: Khi in thoi thu s dng in thoi Nokia 1200 hoc 1202. Khi thu v gii m DTMF s dng IC MT8870. Khi x l trung tm s dng PIC 16F877A. Khi hin th s dng LCD 1602. Khi iu khin thit b s dng Relay 12VDC ng/ ct thit b. Khi tn hiu phn hi s dng Speaker 5V. H thng iu khin c thit k c th ng/ ngt c 4 thit b in v hon ton c th nng cp ln iu khin c nhiu thit b hn.

n tt nghip 3.2 S khi ca mchAudioGND

Chng 3: Thit k mch

in thoi thu

Khi thu v gii m DTMF

Khi iu khin thit b

Khi x l trung tm

StD/Q1Q4

Tn hiu phn hi

Khi hin th

Hnh 3.1: S khi ca mch. Chc nng ca tng khi: Khi x l trung tm: vi iu khin PIC 16F877A iu khin ton b hot ng ca mch: nhn d liu gii m DTMF t b gii m. DTMF(MT8870) kim tra password v hin th password ln mn hnh LCD sau a ra tn hiu iu khin bt /tt (hn gi bt /tt) thit b in. Khi thu v gii m DTMF: Khi ny c nhim v nhn tn hiu DTMF t in thoi di ng thu v sau gii m thnh m nh phn 4 bit a vo khi x l trung tm. Khi hin th: L mn hnh tinh th lng LCD (2 dng, mi dng 16 k t) hin th password m ngi iu khin bm t in thoi iu khin. ng thi cho bit password m ngi iu khin va bm l ng hay sai, trng thi ca b iu khin l ang iu khin thit b hay ang thay i password h thng. Khi ngun nui: L khi c bn nht n cung cp dng nui cho ton b linh kin trong mch. N to ra in p n nh tho mn cc ch s v in p v dng .

n tt nghip

Chng 3: Thit k mch

Khi bt tt thit b in: L khi s dng Relay ng /ngt mch hot ng ca cc thit b in khi ny nhn tn hiu t VK PIC 16F877A. Khi tn hiu phn hi: L khi bo hiu cc trng thi iu khin ca mch iu khin. Khi ng nhp thnh cng hay tht bi, iu khin bt/tt thit b th h thng u a ra tn hiu m thanh ngi iu khin khng nh c lnh iu khin l ng hay sai v vic iu khin thit b c thc hin c hay khng ?. 3.3 Nguyn l hot ng Mch iu khin c ghp vi ng Audio, GND ca in thoi di ng thu vi ti ny em s dng in thoi Nokia 1200. Mch c chc nng nh sau: + iu khin bt /tt cc thit b in. + Hn gi bt /tt thit b in. + Hin th m iu khin kim tra. iu khin c cc thit b in th u tin ngi iu khin phi gi in ti s my ni lp t mch iu khin. in thoi c gi, c mc vi mch iu khin qua ng Audio v Gnd (thit b mun iu khin on/off c mc vo mch iu khin). Sau mt thi gian nht nh th in thoi t ng nhc my. Ngi iu khin phai cai t tinh thi gian goi trn in thoai iu khin bit c in thoai thu a nhc may (Nhin thy giy ng h bt u chay tc la u bn kia a nhc may). Sau ngi iu khin s nhn m password ng nhp vo h thng iu khin v a ra lnh iu khin cc thit b thng qua cc m iu khin c quy nh trc. Cc trng thi iu khin gm c: + Thay i password ng nhp h thng. + Bt /tt thit b in. + Hn gi bt/ tt thit b in.

n tt nghip 3.3.1 Thc hin i password

Chng 3: Thit k mch

Gi ti s my in thoi mc vi mch iu khin thit b sau khi a thng thoi th ngi iu khin nhn 1123456# (password 123456 ny c th thay i). Ngi iu khin buc phi nhp password ny th h thng mi cho php thay i password. Sau khi ng nhp thanh cng thi Speaker se phat ra 1 ting ku bip bao hiu ng nhp thanh cng(nu ng nhp tht bai thi Speaker phan hi la 2 ting bip h thng c Reset va ngi iu khin phai thc hin lai qua trinh ng nhp t u). Tip ngi iu khin s nhp m 2 (m i password) tip theo m 2 l 6 k t mt khu mi ri nhn # kt thc. Sau khi i password thanh cng thi Speaker se phan hi lai bng 1 ting bip. Nu i password tht bai thi Speaker se phan hi lai bng 2 ting bip va h thng c Reset luc nay ngi iu khin phai ng nhp lai t u va thc hin lai tt ca cac bc trn. C th: Khi ngi iu khin nhn m nh sau: 1 123456 # ng nhp sau nhn 2 658856 # th lc ny h thng s t cp nht mt khu mi ng nhp vo h thng l 658856. 1 : l k t quy nh cho vic ng nhp trc khi i password.

123456 : l password cho php ng nhp vo h thng. Sau khi ng nhp password ny th mi c php i mt khu. 2 mi. 658856 : l 6 k t ca password mi. # : l bo kt thc vic nhp password. : l k t quy nh vic bt u i password sau k t 2 l password

3.3.2 Thc hin bt tt thit b in bt /tt c thit b th trc tin ngi iu khin phi nhp password ng nhp vo h thng bt u l m 1 sau m 1 l 6 k t password ri nhn # sau nhp vo m 3(m quy nh cho vic bt/tt thit b ) sau m 3 l m thit b v m trng thi bt hoc tt.

n tt nghip

Chng 3: Thit k mch

C th: bt thit b 1 th ngi iu khin nhp m nh sau: 1 658856 # 3 1 1 # Trong : 1 : l k t quy nh vic ng nhp iu khin bt /tt thit b in.

658856 : l password ng nhp iu khin bt /tt thit b in. # 3 1 1 # Nh vy: tt thit b 1 ta nhp m nh sau: 1658856# 310# bt thit b 2 ta nhp m: 1658856# 321# tt thit b 2 ta nhp m: 1658856# 320# bt thit b 3 ta nhp m: 1658856# 331# tt thit b 3 ta nhp m: 1658856#330# Trong qua trinh ng nhp nu ng nhp thanh cng thi Speaker phat ra 1 ting ku bip(nu ng nhp tht bai thi Speaker phan hi bng 2 ting ku bip va h thng c Reset ngi iu khin phai ng nhp lai t u). + Nu thit bi c bt thi Speaker phan hi lai bng 1 ting Bip. + Nu thit bi c tt thi Speaker phan hi lai bng 2 ting Bip. + Nu nhn sai ma thi Speaker phan hi bng 1 ting Bip dai va h thng c reset luc nay ngi iu khin phai thc hin lai cac bc t u nu vn mun tip tuc iu khin. : kt thc vic nhp password ng nhp. : l k t quy nh cho trng thi bt/tt thit b in. : l l thit b 1. : l quy nh bt thit b : kt thc vic ra lnh iu khin bt/tt thit b in.

n tt nghip 3.3.3 Thc hin hn gi bt tt thit b

Chng 3: Thit k mch

hn gi bt/tt thit b in th sau khi ng nhp bng password ng nhp h thng( 1658856#) ngi iu khin nhp m 4, sau m 4 l bn k t quy nh mc thi gian (gi, pht) kt thc vic bt hay tt thit b. C th nu ngi iu khin nhp m nh sau: 3 0306 Trong : 3 0306 0420 0545 1655 : l k t quy nh vic hn gi bt ri tt thit b in. : l thi gian hn gi (3 gi 06 pht) ng vi thit b 1. : l thi gian hn gi (4 gi 20 pht) ng vi thit b 2. : l thi gian hn gi (5 gi 45 pht) ng vi thit b 3. : l thi gian hn gi (16 gi 55 pht) ng vi thit b 4. 0306 0420 0545 1655 #) th trng thi iu khin cc 0420 0545 1655 #

Sau vic nhp m (3 thit b nh sau:

+ Thit b 1 c bt n thi gian l 3 gi 6 pht th tt. + Thit b 2 c bt n thi gian l 4 gi 20 pht th tt. + Thit b 3 c bt n thi gian l 5 gi 45 pht th tt. + Thit b 4 c bt n thi gian l 16 gi 55 pht th tt. Trong qua trinh ng nhp nu ng nhp thanh cng thi Speaker phat ra 1 ting ku bip(nu ng nhp tht bai thi Speaker phan hi bng 2 ting ku bip va reset lai h thng ngi iu khin phai ng nhp lai t u). Nu mt thit bi c bt thi Speaker phan hi bng 1 ting ku bip ngc lai nu iu khin sai thi Speaker phan hi bng 1 ting Bip dai. H thng c Reset va ngi iu khin phai thc hin lai cac bc t u. 3.4 Thit k phn cng 3.4.1 Thit k mch nguyn l Da trn s khi mch nguyn l c thit k tng th trn 5 khi.

n tt nghip

Chng 3: Thit k mch

Hnh 3.2: S mch nguyn l h thng

3.4.2 Khi x l trung tm Khi x l trung tm l vi iu khin PIC16F877A, l IC c 40 chn, vi 5 cng vo ra l Port A(RA0RA5), Port B(RB0RB7), Port C(RC0RC7), Port D(RD0RD7), Port E(RE0RE2). N c 8K Flash ROM v 368 Byte RAM. S chi tit nh sau:

n tt nghip

Chng 3: Thit k mch

Hnh 3.3: S nguyn l ca PIC16F877A trong mch Chn RESET l chn s 1 ca PIC (chn MCLR) PIC s reset khi chn ny mc thp. B dao ng thch anh (8 MHz) c ni vi chn 13 v 14 ca vi iu khin, b dao ng c thm t 22p tng s n nh cho ngun xung nhp ca h thng. PIC c cp ngun qua hai cp chn VSS v VDD. Hai cp chn VSS l chn 12 v 31 ni t cn hai cp chn VDD l chn 11 v 32 ni ln ngun +5V do b ngun nui cung cp. Cc cng ca PortD (t RD0 n RD7, RD3 khng dng) ni n LCD. Cc cng ca PortC (t RC0 n RC3) l li vo ca tn hiu DTMF c m ho thnh m nh phn 4 bit. Cc cng RA v RE c ni vi Jump cm vi Board mch iu khin thit b in v Speaker

n tt nghip 3.4.3 Khi thu v gii m DTMF

Chng 3: Thit k mch

Gii m DTMF c thc hin bng vi mch chuyn dng IC MT8870 nh th m vic gii m tr nn n gin hn. S nguyn l kt ni ca IC MT8870 trong mch c trnh by nh hnh di:

Hnh 3.4: S nguyn l kt ni trong mch ca IC MT8870. 3.4.4 Khi hin th thng tin S dng mn hnh tinh th lng LCD (Liquid Crytal Display) loi 2 dng, 16 k t LCD1602. Mn hnh LCD rt ph bin trn th trng v vic lp trnh cho n rt n gin thm vo l n c mt thm m rt cao. S dng ngun nui thp (t 2, 5 n 5V). C th hot ng hai ch 4 bit hoc 8 bit (trong ti ny em s dng ch 4 bit).

n tt nghip

Chng 3: Thit k mch

Hnh 3.5: S nguyn l kt ni ca LCD1602 trong mch in LCD1602 c ghp ni vi vi iu khin thng qua PortD (RD0 n RD7 Khng s dng RD3). RD0 ni vi chn E, RD1 ni vi chn RS, RD2 ni vi chn R/W l chn c ghi d liu v chn RD4 n RD7 l chn d liu vo. 3.4.5 Khi ngun nui Dng IC 7805 to ngun +5V n nh cp ton mch cho mch. S nguyn l nh hnh di:

Hnh 3.6: S nguyn l ngun nui ca mch

n tt nghip 3.4.6 Khi iu khin thit bi in

Chng 3: Thit k mch

Hnh 3.7 : S nguyn l khi ng ngt thit b in. Khi iu khin thit b in s dng Relay ng/ ngt mch in khi cng sut ny nhn lnh iu khin t VK PIC 16F877A. 3.4.7 Khi tin hiu phan hi

Hinh 3.8: S nguyn ly khi tin hiu phan hi

Khi tn hiu phn hi nhn tn hiu t VK khin a ra cc m thanh phn hi ng vi trng thi ca h thng.

3.4.8 Mch in thc t sau khi thit k Da trn s nguyn l mch in c thit k 1 lp c din tch 7x15 cm.

n tt nghip

Chng 3: Thit k mch

Hnh 3.9: S mch in thc t sau thit k 3.5 Thit k phn mm 3.5.1 Lp trnh cho PIC Vic lp trnh cho PIC 16F877A s dng ngn ng C chun, vit bng phn mm CCS PIC C Compiler phin bn 3.249. Phn mm CCS h tr mt th vin vi kh nhiu hm con nn vic lp trnh tr nn d dng hn. Giao din ca phn mm kh p v c th s dng mt cch d dng. Thm vo CCS cung cp mt trang web c code chun tham kho: ccsinfo.com/forum .

n tt nghip 3.5.2 Thut ton iu khin Giao din ca PIC C Compiler

Chng 3: Thit k mch

Hnh 3.10: Giao din ca PIC C Compiler 3.5.3 Gii thiu v CCS CCS l trnh bin dch lp trnh ngn ng C cho Vi iu khin PIC ca hng Microchip. Chng trnh l s tch hp ca 3 trnh bin dch ring bit cho 3 dng PIC khc nhau l: PCB cho dng PIC 12bit opcodes PCM cho dng PIC 14bit opcodes PCH cho dng PIC 16 v 18bit

Tt c 3 trnh bin dch ny uc tch hp li vo trong mt chng trnh bao gm c trnh son tho v bin dch l CCS. Ging nh nhiu trnh bin dch C khc cho PIC, CCS gip cho ngi s dng nm bt nhanh c vi iu khin PIC v s dng PIC trong cc d n. Cc chng trnh diu khin s c thc hin nhanh chng v t hiu qu cao thng qua vic s dng ngn ng lp trnh cp cao ngn ng C. To PROJECT u tin trong CCS

n tt nghip

Chng 3: Thit k mch

to mt Project trong CCS c nhiu cch, c th dng Project Wizard, Manual Creat, hay n gin l to mt Files mi v thm vo cc khai bo ban u cn thit v bt buc. Trc ht, bn khi ng chng trnh lm vic PIC C Compiler. T giao din chng trnh di chut chn Project > New > PIC Wizard chut chn. nhn nt tri

Hnh 3.11: To Project bng PIC Wizard Sau khi nhn chut, mt ca s hin ra yu cu nhp tn Files cn to, to mt th mc mi, vo th mc v lu tn files cn to ti y.

n tt nghip

Chng 3: Thit k mch Hnh 3.12: Ca s Save As

Sau khi nhn nt Save, mt ca s New Project hin ra. Trong ca s ny bao gm rt nhiu Tab, mi Tab m t v mt vi tnh nng ca con PIC. Ta s chn tnh nng s dng ti cc Tab tng ng Tab General Tab General cho php la chn loi PIC m ta s dng v mt s la chn khc nh chn tn s thch anh dao ng, thit lp cc bit CONFIG nhm thit lp ch hot ng cho PIC.

Hnh 3.13: Tab General Device: Lit k danh sch cc loi PIC 12F, 16F, 18F Chn tn Vi PIC m ta s dng trong d n. Ly v d ta chn PIC16F877A. Oscilator Frequency: Tn s thch anh s dng, chn 20 MHz (ty tng Fuses: Thit lp cc bit Config nh: Ch dao ng (HS, RC, Internal ), ch bo v Code, Brownout detected Chn kiu con tr RAM l 16bit hay 8bit. loi)

iu khin.

n tt nghip Tab Communications

Chng 3: Thit k mch

Tab Communications lit k cc giao tip ni tip m mt con PIC h tr, thng l RS232 v I2C, cng vi cc la chn thit lp ch hot ng cho tng loi giao tip. Giao tip RS232 Mi mt Vi iu khin PIC h tr mt cng truyn thng RS232 chun. Tab ny cho php ta la chn chn Rx, Tx, tc Baud, Data bit, Bit Parity Giao tip I2C s dng I2C ta tch vo nt chn Use I2C, khi ta c cc la chn: Chn SDA, SCL, Tc truyn (Fast Slow), ch Master hay Slave, a ch cho Slave.

Hnh 3.14: Tab Communications Tab SPI and LCD. Tab ny lit k cho ngi dng cc la chn i vi giao tip ni tip SPI, chun giao tip tc cao m PIC h tr v phn cng. Ch khi ta dng I2C th khng th dng SPI v ngc li. c th s dng c hai giao tip ny cng mt lc th buc mt trong 2 giao tip phi lp trnh bng phn mm (ging nh khi dng I2C cho cc chip AT8051, khng c h tr phn cng SSP). Phn cu hnh cho LCD dnh cho cc chp dng 18F v 30F.

n tt nghip

Chng 3: Thit k mch

Hnh 3.15: Tab SPI and LCD. Tab Timer Lit k cc b m/nh thi m cc con PIC dng Midrange c: Timer0, timer1, timer2, WDT Trong cc la chn cu hnh cho cc b m/nh thi c: chn ngun xung ng h (trong/ngoi), khong thi gian xy ra trn

n tt nghip

Chng 3: Thit k mch

Hnh 3.16: Tab Timer Tab Analog Lit k cc la chn cho b chuyn i tng t/s (ADC) ca PIC. Ty vo tng IC c th m c cc la chn khc nhau, bao gm: La chn cng vo tng t. Chn chn in p ly mu (Vref) Chn phn gii: 8bit = 0 ~ 255 hay 10bit = 0~1023 Ngun xung ng h cho b ADC (trong hay ngoi), t m ta c c tc ly mu, thng ta chn l internal 26 us. Khi khng s dng b ADC ta chn none.

n tt nghip

Chng 3: Thit k mch

Hnh 3.17: Tab Analog Tab Other Tab ny cho php thit lp cc thng s cho cc b

Capture/Comparator/PWM. Capture Bt gi Chn bt gi xung theo sn dng (rising edge) hay sn m (falling edge) ca xung vo. Chn bt gi sau 1, 4 hay 16 xung (copy gi tr ca TimerX vo thanh ghi lu tr CCCPx sau 1, 4 hay 16 xung). Compare So snh Ta c cc la chn thc hin lnh khi xy ra bng nhau gia 2 i tng so snh l gi tr ca Timer1 vi gi tr lu trong thanh ghi so snh. Bao gm: Thc hin ngt v thit lp mc 0 Thc hin ngt v thit lp mc 1 Thc hin ngt nhng khng thay i trng thi ca chn PIC.

n tt nghip

Chng 3: Thit k mch

a Timer1 v 0 nhng khng thay i trng thi chn. PWM iu ch rng xung La chn v tn s xung ra v duty cycle. Ta c th la chn sn hay t chn tn s, tt nhin tn s ra phi nm trong mt khong nht nh. Comparator So snh in p La chn mc in p so snh Vref. C rt nhiu mc in p ta la chn. Ngoi ra ta cn c th la chn cho u vo ca cc b so snh.

Hnh 3.18: Tab Other Tab Interrupts v Tab Driver Tab Interrupts cho php ta la chn ngun ngt m ta mun s dng. Ty vo tng loi PIC m s lng ngun ngt khc nhau, bao gm: ngt ngoi 0(INT0), ngt RS232, ngt Timer, ngt I2CSPI, ngt onchange PORTB.v.v Tab Drivers c dng la chn nhng ngoi vi m trnh dch h tr cc hm giao tip. y l nhng ngoi vi m ta s kt ni vi PIC, trong cc IC m CCS h tr, ng ch l cc loi EEPROM nh 2404, 2416, 2432, 9346, 9356 Ngoi ra cn c IC RAM PCF8570, IC thi gian thc DS1307, Keypad 3x4, LCD, ADC Chi tit ta c th xem trong th mc Driver ca chng trnh: \...\PICC\Drivers

n tt nghip

Chng 3: Thit k mch

Hnh 3.19: Tab Interrupts

Hnh 3.20 : TabDriver

Sau cc bc chn trn, ta nhn OK kt thc qu trnh to mt Project trong CCS, mt Files ten_project.c c to ra, cha nhng khai bo cn thit cho PIC.Mch np s dng np chng trnh cho PIC 16F877A l mch np PG2C

n tt nghip

Chng 3: Thit k mch

Hnh 3.21: PG2C mch np PIC qua cng COM Chc nng ca mch: C kh nng np hu ht cc loi vi iu khin h PIC bao gm cc loi 8 chn, 14 chn, 18 chn, 28 chn v 40 chn. Cc dng dsPIC 30F thng qua 2 chng trnh np ni ting l Winpic800 v ICProg. C kh nng np trc tip cho vi iu khin ri thng qua socket hoc thng qua ng ICSP. Cch thc s dng mch np PG2C kh n gin. Vic u tin chng ta cn lm l ci t chng trnh WinPIC 800 ln my tnh.

Giao din phn mm np cho PIC WinPic800:

n tt nghip

Chng 3: Thit k mch

Hnh 3.22: Giao din phn mm np WinPic800. Em s dng phn mm WinPic800 np cho PIC ngay trn mch theo chun ICSP. Khi trnh dch CCS dch d liu thnh file *.hex, sau WinPic800 s gi t my tnh ti vi iu khin, vi iu khin s nhn d liu thng qua cng truyn thng ni tip v ghi ln b nh chng trnh. u tin chng ta vo menu Settings chn hardware v chn cc thng s nh hnh v:

n tt nghip Hnh 3.23: Test cable

Chng 3: Thit k mch

Chng ta c th b du tch bn phi pha trn v chn du tch pha gia ri nhn n tn hiu trn mch np, nu n nhp nhy theo vic tch (v) th tc l Cable ca chng tt, cn nu n khng nhp nhy cn phi kim tra li cp cm cng COM. Sau chn device ri chn hardware test :

Hnh 3.24: Test Hardware

n tt nghip

Chng 3: Thit k mch

T lc ny c th cm vi iu khin vo socket l c th bt u np c:

Hnh 3.25:Vi iu khin PIC 40 chn

n tt nghip

Chng 3: Thit k mch Hnh 3.26:Vi iu khin PIC 18 chn

Hnh 3.27:Vi iu khin PIC 28chn

Hnh 3.28:Vi iu khin PIC 8 chn

n tt nghip

Chng 3: Thit k mch

Trong qu trnh cm vi iu khin vo Socket cn lu l phi set li jump ngay cnh sang cc v tr cho ph hp vi loi vi iu khin . Sau khi cm vi iu khin vo , chn detect device xem mch nhn thit b cha? Sau khi nhn c thit b vo file, chn open v tm n file .Hex cn np. Sau bm vo biu tng program all bt u np.

Hnh 3.29: Qu trnh Dectect Vi iu khin

n tt nghip

Chng 3: Thit k mch

Hnh 3.30:Qu trnh np file .Hex vo Vi iu khin PICSau khi qu trnh np hon thnh l c th g vi iu khin ra dng. chc chn chng trnh np l ng chng ta c th bm vo read all.

n tt nghip

Chng 3: Thit k mch

Hnh 3.31:c chng trnh ra t Vi iu khin PIC Sau khi c xong chng ta s thy mt bng cc thanh ghi trng thi ca vi iu khin c np. Bm vo verify all chng trnh kim tra xem n c ging vi file hex ca chng ta khng v s cho kt qu l ng bo hiu qu trnh np tt.

Hnh 3.32: So snh kim tra qu trnh np file .Hex . Trong sut qu trnh np cc loi PIC khc nhau chng ta khng cn phi chn li vi iu khin m ch cn chn vi iu khin mt loi PIC bt k l mch np c th t nhn ra c. Qu trnh np trc tip trn mch thng qua cp ICSP cho dsPIC ch cn lu cm ng cc chn vo mch. Trn mch np c k hiu chn MCLR trnh nhm ln, sau chn vi iu khin loi dsPIC tng ng v bt u qu trnh np nh vi PIC.

n tt nghip 3.5.4 Thut ton iu khinBegi n

Chng 3: Thit k mch

Sound_wrong()# c

N

Reset SystemN

nhn

N

1 c

2 c

N

3 c

N

4 c

K bt tt TB

nhn

nhn

nhn

nhn

Y NSS Temp[] v psw[] ?

Y YWirte_ EEPROM Password new Sound_correct.Ss Temp[] vi hh v mm ?

Y

N

Y YOff

Yt Enable=1 Sound_correctOn TB1

Y

1 c

N

0 c

nhn

nhnN

TB1

YOn TB2

1 c

N

0 c

YOff TB2

nhn

nhn

NSound_wrong() Reset System.On TB3

Y

1 c

N

0 c

YOff TB3

nhn

nhn

N

Reset System

YOn TB4

1 c

N

0 c

YOff TB4

nhn

nhn

n tt nghip

Chng 3: Thit k mch

Hnh 3.33: Lu thut ton iu khin

CHNG 4 KT LUN V HNG PHT TRIN TI4.1 nh gi kt qu 4.1.1 Tng quan kt qu Trong qu trnh thc hin ti em tm hiu v in thoi v tn hiu DTMF. Mt chic in thoi di ng hay ban thng thng s dng mi su cp tn hiu DTMF biu din cc s bm trn bn phm bm, ngha l mt phm bm c miu t bi hai tn hiu c tn s khc nhau. Do vy em tm hiu kh k v tn hiu DTMF v n l c s l thuyt quan trng trong ti ny. V vic gii m DTMF em s dng vi mch MT8870, y l vi mch chuyn dng gii m tn hiu DTMF. Vi mch MT8870 ly tn hiu DTMF t ng in thoi vo chn hai (IN-) cn tn hiu c gii m thnh m BCD 4 bit th xut ra bn chn Q1,Q2,Q3,Q4, chn StD l chn bo khi c nhn phm. Em cng tm hiu v lm ch c vi iu khin PIC 16F877A ca hng Microchip. Vi iu khin PIC 16F887A c tch hp kh nhiu module, thm vo l c th s dng kh nhiu ngn ng lp trnh. Khi hin th thng tin em s dng LCD 1602 (2 dng, 16 k t). Em thc hin c vic hin th ln mn hnh LCD, lp trnh hin th ln LCD kh n gin v c hm xy dng sn trong th vin ca CCS.

n tt nghip

Chng 3: Thit k mch

Mn hnh LCD c chia lm hai dng, dng u tin c a ch bt u l 0x80 v a ch kt thc l 0x8f, cn dng th hai c a ch bt u l 0xc0 v a ch kt thc l 0xcf. Lp trnh cho PIC em s dng ngn ng C chun, vit bng phn mm CCS PIC C Compiler phin bn 3.249. Phn mm CCS h tr mt th vin vi kh nhiu hm con nn vic lp trnh tr nn d dng hn. Giao din ca phn mm kh p v c th s dng mt cch d dng. Thm vo CCS cung cp mt trang web c nhiu code chun tham kho: ccsinfo.com/forum . Em s dng phn mm WinPic800 np chng trnh vo vi iu khin PIC.

4.1.2 Mch thc t sau khi thit k v chy th

n tt nghip

Chng 3: Thit k mch

Hnh 4.1: Mch thc t sau khi thit k v chy th Mch thc t sau khi thit k v chy th iu khin ng ngt chnh xc cc thit b t xa. Tuy nhin, cn vi nhc im cn khc phc. 4.2 L do chn PIC 16F877A Ngy nay vi iu khin c s dng rt nhiu trong lnh vc iu khin t ng m vi iu khin c rt nhiu loi nh: dng 89 hay AVR, PIC, PSOCEm chn PIC

n tt nghip

Chng 3: Thit k mch

m ko chn AVR hay 89, bi nu so vi 89 v mt tnh nng v cng nng th c th xem PIC vt tri hn rt nhiu so vi 89 vi nhiu module c tch hp sn nh ADC10 BIT, PWM 10 BIT, PROM 256 BYTE, COMPARATER, VERF COMPARATERNhng v mt gi c th c i cht chnh lch nh gi 1 con 89S52 khong 20.000 th PIC16F877A l 50.000 nhng khi so snh nh th th em li thy phn linh kin cho vic thit k mch nu nh dng 89 mun c ADC em phi mua con ADC chng hn nh ADC0808 hay 0809 vi gi vi chc nghn v b opamp th khi s dng PIC n tch hp cho em sn cc module , c ngha l em khng cn mua ADC, opam, EPPROM v PIC c sn trong n ri ngoi ra em s gp nhiu thun li hn trong thit k board, khi board mch ca em s nh gn v p hn d thi cng hn rt nhiu, nn tnh v gi c tng cng cho n lc thnh phm th PIC c th xem nh r hn 89, mt c im na l tt c cc con PIC s dng th u c chun PI tc chun cng nghip thay v chun PC (chun dn dng) nu mua mt con 89PI th lc gi c gia PIC v 89PI chnh lch rt nhiu ri. V gn y Philip cng ra 1 dng 89VRD mi b sung thm chc nng PWM nhng gi c cn rt t m vn cn thiu nhiu tnh nng so vi PIC. Ngoi ra PIC cn c rt nhiu nh sn xut phn mm to ra cc ngn ng h tr cho vic lp trnh ngoi ngn ng Asembly ra chng ta cn c th s dng ngn ng C nh CCSC, HTPIC hay s dng Basic th c MirkoBasic v cn nhiu chng trnh khc na h tr cho vic lp trnh bn cnh ngn ng kinh in l Asembler. Tm li em chn PIC bi n c pht trin lu i v c rt nhiu dng sn phm cho em la chn nh dng basic PIC 12 midrange l PIC16, hi end l PIC18, gn y l DS PIC, vi nhng ai quan tm n lp trnh iu khin t xa th c IF PIC v trong mi dng sn phm y li c rt nhiu loi chip p ng mi nhu cu ca chng ta. 4.3 Hng pht trin ti Sau 12 tun thc hin n tp nghip em a hoan thanh an ung thi gian quy inh cung nh thc hin c cac yu cu t ra. Tuy nhin do thi gian v kh nng c hn trong n cn mt s mt em cha thc hin c nh khi iu khin thi thay vi phan hi bng ting Bip ta s dung IC phat ting noi phan hi. Nh vy

n tt nghip

Chng 3: Thit k mch

phn hi bng ging ni l mt trong nhng hng pht trin ti ln mt cp cao hn. ti c th pht trin ln bng cch: + Sau khi thu tn hiu DTMF t MT8870 v a vo PIC 16F877A x l iu khin th s kt hp pht khng dy iu khin cc thit b in iu khin c linh hot thng minh hn. S dung IC phat ting noi ngi iu khin nm bt c trang thai iu khin mt cach chinh xac, d dang. + Nghin cu gii m c cc k t trong tin nhn SMS t in thoi di ng thay vi thu tn hiu DTMF a ra tn hiu iu khin.Vi phng php ny th mch iu khin s rt n gin v chi ph cho vic iu khin s l rt thp. + S dung Modem GSM giai ma tin nhn SMS iu khin thit bi in sn phm c to ra mang tnh cng nghip cao.

n tt nghip

Chng 3: Thit k mch

DANH MC CC TI LIU THAM KHOTing Vit: 1. Ng Din Tp , Vi x l trong o lng v iu khin. Nh xut bn khoa hc v k thut. H Ni 1999, ti bn 2001. 2. Ng Din Tp , Vi iu khin vi lp trnh C. Nh xut bn khoa hc k thut. H Ni 2001. Danh mc cc website tham kho: 1. http://catalogdatasheet.com 2. http://ccsinfo.com/forum 3. http://dientuvietnam.net 4. http://picvietnam.com 5. http://diendandientu.com