You are on page 1of 66

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

NHN XET CUA GIAO VIN HNG DN ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... Thai Nguyn, Ngay thang nm 2012 Giao vin hng dn ( ky ghi ro ho tn)

NHN XET CUA GIAO VIN CHM ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... Thai Nguyn, Ngay thang nm 2012 Giao vin chm ( ky ghi ro ho tn)

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai LI NOI U

Ngy nay, vic ng dng cho cc h thng nhng ngy cng tr nn ph bin: t nhng ng dng n gin nh iu khin mt cht n giao thng nh thi, m sn phm trong mt dy chuyn sn xut, iu khin tc ng c in mt chiu, thit k mt bin qung co dng Led ma trn, mt ng h thi gian thc.n cc ng dng phc tp nh h thng iu khin robot, b kim sot trong nh my hoc h thng kim sot cc my nng lng ht nhn. Cc h thng t ng trc y s dng nhiu cng ngh khc nhau nh cc h thng t ng hot ng bng nguyn l kh nn, thy lc, rle c in, mch in t s, cc thit b my mc t ng bng cc cam cht c kh... cc thit b, h thng ny c chc nng x l v mc t ng thp so vi cc h thng t ng hin i c xy dng trn nn tng ca cc h thng nhng. Nganh vin thng ang ong mt vai tro rt quan trong i vi nn kinh t cua mi quc gia, no giup con ngi tin gn hn vi nn khoa hoc ky thut ang phat trin nh vu bao cua nhn loai hin nay. H thng vin thng khng ngng phat trin t c inh sang di ng. Con ngi co th lin lac vi nhau du bt ky ni u. Da vao c tinh truyn tin xa va vn dung c tinh nay, nhom a chon tai Thit k mach iu khin thit bi thng qua in thoai nhm cai tin khoang cach iu khin trong cng ngh ngi nha thng minh hin nay. Vi tai nay, nhom mun s dung in thoai di ng iu khin thit bi in dn dung, in thoai c hoat ng trn nn mang GSM thu thng tin iu khin. tai tuy con n gian, thit bi iu khin khng nhiu nhng nhom mong y se la tai liu b ich cho nhng ai quan tm va mong mun phat trin theo cng ngh iu khin nay. Trong qua trinh thc hin an, chung em chn thanh cam n cac thy c trong b mn va c bit la thy giao Nguyn Tun Linh a tn tinh hng dn, chi bao chung em thc hin an nay vi kt qua tt nht. Nhom sinh vin thc hin Trng Vn Dng Nguyn Hu c Trn Quang Dun

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

MC LC

CHNG I : PHN TICH H THNG


1. GII THIU TAI

Ngay nay cung vi s phat trin manh me cua khoa hoc ky thut , cng ngh ky thut in t ma trong o c bit la nganh iu khin t ng ong vai tro quan trong moi linh vc cua khoa hoc ky thut, quan ly cng nghip, cung cp thng tin. Nh chung ta a bit gn nh cac thit bi t ng cua nha may, trong i sng cua cac gia inh ngay nay u hoat ng c lp vi nhau, mi thit bi co mt quy trinh s dung khac nhau tuy thuc vao s thit lp, cai t cua ngi dung. Chung cha co s lin kt nao vi nhau v mt d liu. Nhng i vi h thng iu khin thit bi thng qua in thoai thi khac, cac thit bi c kt ni vi nhau tao thanh mt h thng cac thit bi hoan chinh qua mt thit bi trung tm va co th giao tip vi nhau v mt d liu. H thng iu khin thit bi t xa thng qua in thoai co th diu khin c nhng thit bi t n gian n phc tap hn nh bong en, quat in, may iu hoa hay tivi, h thng bao ng. Nghia la tt ca cac thit bi nay c iu khin cung trong mt b iu khin trung tm. B iu khin trung tam nay co th la mt may tinh hoan chinh hay mt b x ly a c lp trinh sn tt ca cac chng trinh iu khin. Thng thng, cac thit bi gia inh trong nha nh quat in, tu lanh, tivico th c iu khin bt tt thng qua mt cuc goi thoai hay chi mt tin nhn SMS. Ngoai ra, h thng con mang tinh bao mt, nghia la chi nhng ai bit c mt khu xm nhp vao h thng mi co th iu khin c cac thit bi trong nha [1]. 2. CAC YU CU VA RANG BUC I VI H THNG 2.1 Cac yu cu i vi h thng - H thng c s dung iu khin bt/tt cac thit bi gia inh. - H thng co kha nng iu khin nhiu thit bi. - H thng iu khin c lp t trong nha. - S dung mang GSM truyn cac thng tin iu khin. - H thng lam vic at c s n inh

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thi gian tr hp l - Ch bao mt cua h thng - Chi phi cho toan b h thng ti thiu nht h thng co th thng mai hoa. 2.2 Cac iu kin rang buc Vi h thng lam vic mang in thoai di ng GSM nn no co cac rang buc sau: - Cng tin hiu cua mang tai ni t b iu khin - Anh hng cua nhiu n h thng - iu kin mi trng: nhit , m - Chi phi cho h thng 2.3 Chc nng cua h thng iu khin thit bi thng qua in thoai - Kim tra trang thai cua thit bi trc khi iu khin. - T kt qua kim tra, ngi dung co th goi in n bn in thoai thu tin hiu iu khin dung cac lnh iu khin thit bi. - H thng sau khi nhn lnh se thc hin vic x ly lnh iu khin va iu khin cac thit bi. - Thc hin bao mt bng password 2.4 Phng php nghin cu Trong ti ny nhm em s dng cc phng php nghin cu: - Phng php tham kho ti liu: bng cch thu thp thng tin t sch, tp ch v in t v truy cp t mng internet. - Phng php quan st: kho st mt s mch in thc t ang c trn th trng v tham kho thm mt s dng mch t mng Internet. - Phng php thc nghim: t nhng tng v kin thc vn c ca mnh kt hp vi s hng dn ca gio vin, nhm em lp rp th nghim nhiu dng mch khc nhau t chn lc nhng mch in ti u. Vi ti ny, nhm em da vo sch gio khoa v nhng kin thc c trang b trong qu trnh hc tp cng vi s tr gip ca my tnh v nhng thng tin trn mng

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Internet. Ngoi ra, cn c nhng thit b tr gip trong qu trnh thit k mch do nhm em t trang b. 3. LA CHON PHNG AN iu khin thit bi chung ta co th la chon mt trong hai phng phap thu nhn tin hiu iu khin o la:
- S dung modul GSM/GPRS.

- S dng in thoi ( MOBILE). Phng n 1 : Dng b MODULE GSM/GPRS M590 kt ni vi vi iu khin PIC16F877A : chi ph v gi thnh kh t. Thch hp cho lp trnh lnh AT d dng v y tn nng cho lp trnh vi lnh AT. Ngoi ra cn c th pht trin ng dng su thm vi GPRS, GPS. Phng n 2: Dng in thoi di ng (Ericssion T28, T39 ) c chc nng ging vi MODULE GSM/GPRS M590 kt ni vi PIC16F877A. Vic lp trnh cho in thoi di ng cng gn tng t nh GSM MODULE nhng c hn ch hn v mt s loi in thoi ch h tr lnh AT dng Mode PDU nn lp trnh rt phc tp. Ngoi ra phn kt ni gia in thoi di ng vi khi vi iu khin cng rt phc tp. Phng n la chn : chn phng n 1 v MODULE GSM/GPRS M590 h tr lp trnh lnh AT c 2 ch Mode Text v Mode PDU nn vic lp trnh n gin hn nhiu so vi in thoi di ng. Mc d gi thnh kh t nhng v n h tr ch Mode Text nn vic lp trnh n gin hn nhiu so vi dng in thoi di ng v vy nhm em quyt nh dng Module GSM/GPRS M590. Ngoi ra cn c th pht trin cc ng dng khc s dng GPRS, GPS.

CH NG II : THIT K H THNG 1. THIT K NGUYN LY

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

1.1. S tng quat h thng

VI
MODULE GSM/GPRS M590

IU KHIN PIC16F877A KHI IU KHIN THIT BI KHI NGUN

CHC NNG TNG KHI: Khi giao tip SMS C chc nng gi nhn tin nhn SMS cho vic iu khin cc thit b. Khi ny cn 1 thit b in thoi di ng v 1 Module GSM/GPRS M590: - Thit b in thoi di ng : dnh cho ngi s dng (iu khin). Ngi s dng cn phi ng k dch v vin thng i vi cc nh cung cp dch v trong nc.
- Module GSM/GPRS M590 : Module ny phi c gn Sim ca nh cung cp

dch v v cng cn phi c chc nng nh mt in thoi di ng kt ni vi vi iu khin PIC16F877A. Ci ny c t c nh v thng xuyn kt ni vi PIC16F877A. Khi ngi s dng nhn mt tin SMS c ni dung l mt lnh yu cu iu khin thit b. V d : DV:ADA:ON, DV:ADA:OFF, PT:ADA:ON, .. th Module GSM/GPRS M590 s nhn tin nhn v c x l bi cu lnh iu khin c lp trnh v c np vo vi iu khin PIC16F877A. Khi x l phn cng

GVHD: Ths. Nguyn Tun Linh

Khi Giao Tip SMS


MOBILE

EE THIT BI Hinh 2.1 S khi tng th h thng

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Khi x l phn cng l khi trung tm trong vic x l v iu khin phn cng. Khi do mt vi iu khin PIC16F877A m nhn v c nhim v gi nhn d liu vi Module GSM/GPRS M590 mt cch lin tc. Khi Module GSM/GPRS M590 gi thng tin iu khin th Khi x l phn cng s c lp trnh thc thi. Vi iu khin c nhim v giao tip vi khi cng sut. Khi cng sut Khi ny bao gm 2 BJT C1815 c nhim v khuch i in p kch cho relay. Khi cng sut vi dng thp, p ng ti tiu t cng sut thp v dn dng nh bng n.
1.2 . S callgraph cua h thng
Ph n m m i u khi n

Timer

ADC routines

Modul GSM / GPRS M 590

ch i u khi n

ADC

Nh n g i SMS

i u khi n c thi t

Hinh 2.2 S callgraph cua h thng


1.3 Tng quan v cac linh kin c dung

Vi an nay chung em la chon cac linh sau se c dung trong mach: -

Modul GSM/GPRS, tp lnh AT command Mach iu khin dung PIC16F877A Giao tip gia mach iu khin va modul qua cng COM. Cach ly quang OPTO 817 c dung bao v cho PIC iu khin ong m cac thit bi dung Rle 12V/10A.

Ngoai ra con cac linh kin khac nh LM7805 ( bin i v n nh in p ngun 5V), cac loai tu in, in tr, it

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2. THIT K KY THUT 2.1 Gii thiu modul GSM/GPRS M590 va tp lnh AT command 2.1.1 Gii thiu modul GSM/GPRS M590 2.1.1.1. ng dng NeoWay M590 l loi Modul khng dy GSM/GPRS hoat ng hai bng tn. N h tr kt ni mang GPRS, gi nhn SMS v cc chc nng khc. M590 c ng dng ph bin trong cc lnh vc cng nghip v thng mi. Modem RS232 M590 l mt modem GPRS c thit k truyn v nhn d liu thng qua mang GSM. Modem nay co pham vi ng dung rng rai trong cac linh vc nh :truy nhp mng, nh v t xa, tp hp d liu v tuyn t b cm bin, quan st t xa, iu khin v bo hiu Modem RS232 M590 s dung tp lnh iu khin AT GSM 07.07 va c trang b vi cc Led ch th kim tra trng thi kt ni [2]. 2.1.1.2. Cc chi tit k thut Bang thng s ky thut cua Modul M590 : c im Kch thc Khi lng Tn sut nhy tng i Cng truyn ti a DCS1800 nhm 1 ( 1W) Dng in Dng in hot ng Dng chun Nhit hot ng in ap hoat ng Giao thc Ti a 2A 210mA 2.5mA -40C +80C 3.3V 4.8 VDC Tng thch vi GSM/GPRS pha 2/2+ Miu t 28x24x11 ( di x rng x cao ) 7g EGSM900/GSM1800 bng kp -106dBm EGSM900 nhm 4 (2W)

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

AT

GSM 07.07 Tp AT m rng

Connector SMS

GSM RF connector TEXT/ PDU im im, qung b cell

Nhm d liu

GPRS nhm 10 Phng thc m ha :CS1, CS2, CS3, CS4

Knh chuyn mch d liu

H tr dch v d liu CSD H tr USSD

2.1.1.3. Hnh dng chi tit v sn phm GPRS modem M590 c th hin trn hnh 2.3

Hnh 2.3 : Chi tit v sn phm Trn hnh 1.1 bao gm : 1. Cc Led ch th trng thi xanh v 2. DB9 connector(RS232) cng kt ni d liu 3. Cng Adapter kt ni ngun 10 30VDC. 4. RF Cable kt ni ti anten GSM. Cng kt ni d liu connector DB9

GVHD: Ths. Nguyn Tun Linh

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Connector c s dng kt ni ti thit b iu khin, giao thc chuyn i RS232.

Hnh 2.4 : S chn kt ni cng RS232

ngha ca cc chn tin hiu: STT 1 2 3 4 5 6 7 8 9 Chn NC RXD TXD NC GND NC NC NC NC GND ( chn ni t ) Thu d liu Truyn d liu Mc ch

2.1.1.4. Trng thi ca Led LED Trng thi Khng sng M t Cha c ngun cp, hoc ngun co vn .

GVHD: Ths. Nguyn Tun Linh

10

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

XANH

Led sng 1s/ ln Led khng sng

nhn c ngun cp Tnh trng kt ni mng tt Cha kt ni c mng

2.1.1.5 Hinh anh y u cua modul va antenna

Hinh 2.5 Hinh anh y u v modul GSM/GPRS M590

2.1.2 Tp lnh AT command 2.1.2.1 Gii thiu tp lnh AT Cc lnh AT l cc hng dn c s dng iu khin mt modem. AT l mt cch vit gn ca ch Attention. Mi dng lnh ca n bt u vi AT hay at. l l do ti sao cc lnh Modem c gi l cc lnh AT. Nhiu lnh ca n c s dng iu khin cc modem quay s s dng dy mi (wired dial-up modems), chng hn nh ATD (Dial), ATA (Answer), ATH (Hool control) v ATO (return to online data state), cng c h tr bi cc modem GSM/GPRS v cc in thoi di ng . Bn cch b lnh AT thng dng ny, cc modem GSM/GPRS v cc in thoi di ng cn c h tr bi mt b lnh AT c bit i vi cng ngh GSM. N bao

GVHD: Ths. Nguyn Tun Linh

11

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

gm cc lnh lin quan ti SMS nh AT+ CMGS (gi tin nhn SMS), AT+CMSS (gi tin nhn SMS t mt vng l tr), AT+CMGL (chui lit k cc tin nhn SMS) v AT+CMGR (c tin nhn SMS) [1]. Ngoi ra, cc modem GSM cn h tr mt b lnh AT m rng. Nhng lnh AT m rng ny c nh ngha trong cc chun ca GSM. Vi cc lnh AT m rng ny,bn c th lm mt s th nh sau:

c,vit, xa tin nhn Gi tin nhn SMS Kim tra chiu di tn hiu Kim tra trng thi sc bin v mc sc ca bin. c, vit v tm kim v cc mc danh b

S tin nhn SMS c th c thc thi bi mt modem SMS trn mt pht th rt thp, n ch khong t 6 n 10 tin nhn SMS trn 1 pht. 2.1.2.2 Cc lnh cua MODULE GSM/GPRS M590: a. Cac lnh khi tao [2]: Lnh AT<cr>

Nu lnh thc hin c th tr v: Ok Bt u thc hin cc lnh tip theo. Nu lnh khng thc hin c th tr v dng: +CMS ERROR <err> Lnh AT+CMGF=[<mode>] <cr>

Nu lnh thc hin c th tr v: Ok <mode> : 0 dng d liu PDU 1 dng d liu kiu text Nu lnh khng thc hin c th tr v dng:

GVHD: Ths. Nguyn Tun Linh

12

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

+CMS ERROR <err> Lnh AT&W[<n>]

Nu lnh thc hin c th tr v: Ok Lu cu hnh cho GSM Module Sim300CZ Nu lnh khng thc hin c th tr v dng: +CMS ERROR <err> Lnh ATE[<value>]

Nu lnh thc hin c th tr v: Ok <value> 0 Tt ch Echo 1 Bt ch Echo Nu lnh khng thc hin c th tr v dng: + CMS ERROR <err> b. Cc lnh x l cuc gi: Lnh quay s:

ATD<cr> V d: mun quay s ti s in thoi 01266609025 thi ta g lnh ATD01266609025;<cr> <cr>: Enter Lnh nhc my:

ATA<cr> V d: khi c s in thoai no gi n s in thoi c gn trn modem Sim300Cz, ta mun nht my kt ni th g lnh ATA <cr> Lnh b cuc gi:

GVHD: Ths. Nguyn Tun Linh

13

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

ATH<cr> V d: khi c s in thoai no gi n s in thoi c gn trn modem Sim300Cz, ta khng mun nhc my m t chi cuc gi th g lnh ATH<cr> c. Cc lnh v SMS Lnh Xa tin nhn

AT+CMGD V d: mun xa mt tin nhn no c lu trn sim th ta thc hin lnh sau. AT+CMGD=<index> <cr> <index>: v tr ngn nh lu tin nhn Nu lnh thc hin c th tr v: Ok Nu lnh khng thc hin c th tr v dng: + CMS ERROR <err> Lnh c tin nhn:

AT+CMGR=<index>[,mode] <cr> <index> : s nguyn, l v tr ngn nh cha tin nhn cn c <mode> : 0 dng d liu PDU 1 dng d liu kiu text Nu nh lnh c thc hin th kiu d liu tr v di dng text ( mode=1): T SMS-DELIVER: + CMGR:<stat>,<oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>, <length>]<CR><LF><data> T SMS-SUBMIT: + CMGR:<stat>,<da>,[<alpha>][,<toda>,<fo>,<pid>,<dcs>,[<vp>],<sca>,<tosca>, <length>]<CR><LF><data>

GVHD: Ths. Nguyn Tun Linh

14

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

T SMS-STATUS-REPORTs: + CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st> T SMS-COMMANDs: + CMGR:<stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>], <length><CR><LF><cdata>] T CBM storage + CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF> <data> Nu d liu tr v dng PDU(mode=0): + CMGR: <stat>,[<alpha>],<length><CR><LF><pdu> Nu lnh b li th tr v di dng: +CMS ERROR: <err> Lnh gi tin nhn SMS:

AT+CMGS Nu gi tin nhn di dng text: (+CMGF=1): + CMGS=<da>[,<toda>]<CR> text is entered <ctrl-Z/ESC> Nu gi tin nhn dng PDU: (+CMGF=0): + CMGS=<length><CR> PDU is given <ctrl-Z/ESC> Lnh c thc hin thnh cng thi d liu tr v: Dng text : +CMGS: <mr> OK Dng PDU : +CMGS: <mr> OK

GVHD: Ths. Nguyn Tun Linh

15

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Lnh b li : +CMS ERROR: <err> Lnh vit tin nhn ri lu vo ngn nh:

AT+CMGW Nu vit tin nhn di dng text : AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered <ESC> Lnh c thc hin ng th d liu tr v dng: + CMGW: <index> OK Lnh sai: + CMS ERROR: <err> Nu vit tin nhn di dng PDU: AT+CMGW=<length>[,<stat>]<CR> PDU is given <ctrl-Z/ESC> Lnh gi tin nhn t mt ngn nh no : <ctrl-Z/ESC>

AT+CMSS=<index>[,<da>[,<toda>]] Nu lnh c thc hin thnh cng d liu tr v dng: Dng text: +CMGS: <mr> [,<scts>] OK Dng PDU: +CMGS: <mr> [,<ackpdu>] OK Nu lnh b li: +CMS ERROR: <err> Lnh bo hiu tin nhn mi:

AT+CNMI=[<mode>[,<mt>[,<bm> [,<ds>[,<bfr>]]]]] Nu lnh c thch hin ng th d liu tr v dng: OK

GVHD: Ths. Nguyn Tun Linh

16

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Nu lnh b li: +CMS ERROR: <err> d. Cc lnh v GPRS AT+CGATT : lnh gn hay tch thit b khi GPRS AT+CGDCONT : nh ngha dng PDP AT+CGQMIN : cht lng dich v mc thp nht AT+CGQREQ : cht lng dich v AT+CGDATA : trng thi d liu vo AT+CGREG : tnh trng ng k ca mng AT+CGCOUNT : m gi d liu vo

e. Cc lnh v TCP/IP Lnh bt u kt ni TCP hay UDP AT+CIPSTART=<mode>,[<IPaddress>,<domain name>],<port> Trong : <mode> : tham s bo kiu kt ni TCP hay UDP <IP address> : a ch IP ca ngi iu khin t xa <port> : <domain name> : tn min ca ngi iu khin t xa Nu lnh thc hin ng th lnh tr v : CONNECT OK Nu lnh thc hin g. Cc lnh khc Lnh ngh

AT+CFUN V d mun tt ht chc nng lin quan n truyn nhn sng RF v cc chc nng

GVHD: Ths. Nguyn Tun Linh

17

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

lin quan n sim th g lnh: AT+CFUN=0 <cr> OK Lnh chuyn t ch ngh sang ch hot ng bnh thng

AT+CFUN V d sim ang ch ngh ta mun chuyn sang ch hot ng bnh thng thi g lnh: AT+CFUN=1 <cr> OK Lnh reset mode

ATZ <cr> OK Lnh tt ch echo

ATE0 <cr> h. Cc lnh kim tra ban u:


- Ly thng tin c bn v in thoi di ng hay modem GSM/GPRS. V d nh tn

ca nh sn xut (AT+CGMI), s model (AT+CGMM), s IMEI (International Mobile Equipment Identity) (AT+CGSN) v phin bn phn mm (AT+CGMR).
- Ly cc thng tin c bn v nhng ngi k tn di y. Th d, MSISDN

(AT+CNUM) v s IMS (International Mobile Subscriber Identity) (AT+CIMI).


- Ly thng tin trng thi hin ti ca in thoi di ng hay modem GSM/GPRS.

V d nh trng thi hot ng ca in thoi (AT+CPAS), trng thi ng k mng mobile (AT+CREG), chiu di sng radio (AT+CSQ), mc sc bin v trng thi sc bin (AT+CBC).
- c (AT+CPBR), vit (AT+CPBW) hay tm kim (AT+CPBF) c mc v danh b

in thoi (phonebook).

GVHD: Ths. Nguyn Tun Linh

18

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thc thi cc nhim v lin quan ti an ton, chng hn nh m hay ng cc kha

chc nng (AT+CLCK), kim tra xem mt chc nng c kha hay cha (AT+CLCK) v thay i password (AT+CPWD).
- iu khin hot ng ca cc m kt qu/cc thng bo li ca cc lnh AT. V

d, bn c th iu khin cho php hay khng cho php kch hot hin th thng bo li (AT+CMEE) v cc thng bo li nn c hin th theo dng s hay theo dng dng ch (AT+CMEE=1 hay AT+CMEE=2).
- Thit lp hay thay i cu hnh ca in thoi di dng hay modem GSM/GPRS. V

d, thay i mng GSM (AT+COPS), loi dch v ca b truyn tin (AT+CBST), cc thng s protocol lin kt vi radio (AT+CRLP), a ch trung tm SMS (AT+CSCA) v khu vc lu tr cc tin nhn SMS (AT+CPMS).
- Lu v phc hi cc cu hnh ca in thoi di ng hay modem GSM/GPRS. V

du, lu (AT+COPS) v phc hi (AT+CRES) cc thit lp lin quan ti tin nhn SMS chng hn nh a ch trung tm tin nhn SMS [1].
2.2 Khao sat vi iu khin PIC16F877A

2.2.1 S chn cua vi iu khin PIC16F877A

Hinh 2.6 S chn cua vi iu khin PIC16F877A 2.2.2 Mt s thng s v vi iu khin PIC16F877A y la vi iu khin thuc ho ho PIC16Fxxx vi tp lnh gm 35 lnh co o dai 14 bit. Mi lnh u c thc thi trong mt chu ky xung clock. Tc hoat ng ti a

GVHD: Ths. Nguyn Tun Linh

19

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

cho phep la 20MHz vi chu ky lnh la 200ns. B nh chng trinh la 8K x 14 bit, b nh d liu la 368x8 byte RAM va b nh d liu EEPROM vi dung lng 256x8 byte. S PORT I/O la 5 vi 33 pin I/O [3]. Cac c tinh ngoai vi bao gm cac khi chc nng sau: Timer0 : B m 8 bit vi b chia tn 8 bit. Timer1 : B m 16 bit vi b chia tn s, co th thc hin chc nng m da vao xung clock ngoai vi ngay khi vi iu khin hoat ng ch sleep. Timer2 : B m 8 bit vi b chia tn s, b postcaler. Hai b Capture/ so sanh/ iu ch rng xung. Cac chun giao tip ni tip SSP ( synchronous Serial Port ), SPI va I2C. Chun giao tip ni tip USART vi 9 bit ia chi. Cng giao tip song song PSP ( Parallel Slave Port )vi cac chn iu khin RD,WR, CS bn ngoai. Cac c tinh Analog : - 8 knh chuyn i ADC 10bit. - Hai b so sanh Bn canh o la mt vai c tinh khac cua vi iu khin nh : - B nh flash vi kha nng ghi/xoa c 100.000 ln. - B nh EEPROM vi kha nng ghi/xoa c 1000.000 ln. - D liu b nh EEPROM co th lu tr trn 40 nm. - Kha nng t nap chng trinh vi kha nng iu khin cua phn mm. - Nap c chng trinh ngay trn mach in ICSP ( In Circuit SeRial Programming ) thng qua 2 chn.
- Watchdog timer vi b giao ng trong.

- Chc nng bao mt chng trinh. - Ch Sleep


- Co th hoat ng vi nhiu dang Oscillator khac nhau.

GVHD: Ths. Nguyn Tun Linh

20

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2.2.3 S khi cua vi iu khin PIC16F877A S khi cua PIC16F877A nh hinh di [4]:

Hinh 2.7 S khi cua PIC16F877A 2.2.4 T chc b nh Cu truc b nh cua vi iu khin PIC16F877A gm co b nh chng trinh (Program memory ) va b nh d liu ( Data memory). 2.2.4.1 B nh chng trinh ( program memory) B nh chng trinh cua vi iu khin PIC16F877A la b nh flash, dung lng b nh la 8K word ( 1word = 14 bit ) va c phn thanh nhiu trang ( t page0 n page3). Nh vy b nh chng trinh co kha nng cha c 8*1024 = 8192 lnh ( vi mi lnh sau khi ma hoa co dung lng 1 word = 14 bit [3]. ma hoa c ia chi cua 8K b nh chng trinh thi b m chng trinh phai co dung lng la 13 bit ( PC<12:0>).

GVHD: Ths. Nguyn Tun Linh

21

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Khi vi iu khin c reset thi b m chng trinh se chi n ia chi 0000h (Reset vector ). Khi co ngt xay ra thi b m chng trinh se chi m ia chi 0004h ( Interrupt vector ). B nh chng trinh khng bao gm b nh Stack va khng c ia chi hoa bi b m chng trinh. B nh Stack c cp cu th trong phn sau.

Hinh 2.8 B nh chng trinh PIC16F877A

2.2.4.2 B nh d liu B nh d liu cua PIC la b nh EEPROM c chia thanh nhiu bank. Vi PIC166F877A b nh d liu c chia la 4 bank. Mi bank co dung lng 128 byte, bao gm cac thanh ghi co chc nng c bit SFR ( Special Function Rigister ) nm vung ia chi thp va cac thanh ghi co muc ich chung GPR (General Purpose Register)

GVHD: Ths. Nguyn Tun Linh

22

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

nm vung ia chi con lai cua bank. Cac thanh ghi SFR thng xuyn c s dung (vi du nh thanh ghi STATUS ) se c t tt ca cac bank trong b nh d liu giup thun tin cho qua trinh truy xut va giam bt lnh cua chng trinh. S cu th cua b nh d liu cua PIC16F877A nh sau [4]:

Hinh 2.9 S b nh d liu cua PIC16F877A a. Thanh ghi chc nng c bit SFR

GVHD: Ths. Nguyn Tun Linh

23

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

y la cac thanh ghi s dung bi CPU hoc c dung thit lp va iu khin cac khi chc nng c tich hp bn trong vi iu khin. Co th phn thanh ghi SFR thanh hai loai : thanh ghi SFR lin quan n chc nng bn trong ( CPU ) va thanh ghi dung thit lp va iu khin cac khi chc nng bn ngoai ( vi du nh ADC, PWM) [3]. Thanh ghi STATUS ( 03h, 83h, 103h, 183h) : thanh ghi cha kt qua thc hin cac phep toan cua khi ALU, trang thai reset va cac bit chon bank cn c truy xut trong b nh d liu.

Thanh ghi OPTION_REG (81h, 181h) : thanh ghi nay cho phep oc va ghi, cho phep iu khin chc nng pull-up cua cac chn PORTB,xac lp cac tham s v cac xung tac ng, cach tac ng cua ngt ngoai vi va b m TIMER0.

Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh): thanh ghi cho phep oc va ghi, cha cac bit iu khin va cac bit c hiu khi TIMER0 tran va ngt ngoai vi RB0/INT va ngt interrput- on- change tai cac chn cua PORTB.

Thanh ghi PIE1 (8Ch): cha cac bit iu khin chi tit cac ngt cua cac khi chc nng ngoai vi.

Thanh ghi PIR1 (0Ch): cha c ngt cua cac khi chc nng ngoai vi, cac ngt nay c cho phep bi cac bit iu khin cha trong thanh ghi PIE1.

GVHD: Ths. Nguyn Tun Linh

24

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Thanh ghi PIE2 (8Dh): cha cac bit iu khin cac ngt cua cac khi chc nng CCP2, SSP bus, ngt cua b so sanh va ngt ghi vao b nh EEPROM.

Thanh ghi PIR2 (0Dh): cha cac c ngt cua cac khi chc nng ngoai vi, cac ngt nay c cho phep bi cac bit iu khin cha trong thanh ghi PIE2.

Thanh ghi PCON (8Eh): cha cac c hiu cho bit trang thai cua ch reset cua vi iu khin.

b. Thanh ghi muc ich chung GPR Cac thanh ghi nay co th c truy xut trc tip hoc gian tip thng qua thanh ghi FSG ( File Select Register ). y la cac thanh ghi d liu thng thng, ngi s dung co th tuy theo muc ich chng trinh ma co th dung cac thanh ghi nay cha cac bin s, hng s, kt qua hoc tham s phuc vu cho chng trinh [3]. 2.2.5 Stack Stack khng nm trong b nh chng trinh hay b nh d liu ma la mt vung nh c bit khng cho phep oc hay ghi. Khi lnh CALL c thc hin hay khi mt ngt xay ra lam chng trinh bi re nhanh, gia tri cau b m chng trinh PC t ng c vi iu khin ct vao stack. Khi mt trong cac lnh RETURN, RETLW hay RETFIE c thc thi, gia tri PC se t ng c ly ra t trong stack, vi iu khin se thc hin tip chng trinh theo ung quy trinh inh trc. B nh Stack trong vi iu khin PIC ho 16F87xA co kha nng cha c 8 ia chi va hoat ng theo c ch xoay vong. Nghia la gia tri ct vao b nh Stack ln th 9 se ghi e ln gia tri ct vao Stack ln u tin va gia tri ct vao Stacsk ln th 10 se ghi e ln gia tri ct vao Stack ln th 2. Cn chu y la khng co c hiu nao cho bit trang thai Stack, do o ta khng bit c khi nao Stack se tran. Bn canh o tp lnh cua vi iu khin dong PIC cung khng co

GVHD: Ths. Nguyn Tun Linh

25

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

lnh POP hay PUSH, cac thao tac vi b nh Stack se hoan toan c iu khin bi CPU [3]. 2.2.6 Cac cng xut nhp cua PIC16F877A Cng xut nhp (I/O port) chinh la phng tin ma vi iu khin dung tng tac vi th gii bn ngoai. S tng tac nay rt a dang va thng qua qua trinh tng tac o, chc nng cua vi iu khin c th hin mt cach ro rang. Mt cng xut nhp cua vi iu khin bao gm nhiu chn I/O pin, tuy theo cach b tri va chc nng cua vi iu khin ma s lng cng xut nhp va s lng chn trong mi cng co th khac nhau. Bn canh o, do vi iu khin c tich sn bn trong cac c tinh giao tip ngoai vi nn bn cach chc nng la cng xut nhp thng thng thi mt s chn xut nhp co cac chc nng khac thc hin s tac ng cua cac daewcj tinh ngoai vi nu trn i vi th gii ngoai. Chc nng cua tng chn xut nhp trong mi cng hoan toan co th c xac lp va iu khin thng qua thanh ghi SFR lin quan n cac chn xut nhp o. Vi iu khin PIC16F877A co 5 cng xut nhp la PORTA, PORTB, PORTC, PORTD va PORTE. Cu truc va chc nng tng cng xut nhp c trinh bay cu th trong phn tip theo [3]. 2.2.6.1 PORTA PORTA (RPA ) bao gm 6 I/O pin.y la cac chn 2 chiu (bidirectional pin) nghia la co th xut va nhp c. Chc nng I/O nay c iu khin bi thanh ghi TRISA ( ia chi 85h ). Mun xac lp chc nng cua mt chn trong PORTA la input, ta set bit iu khin tng ng vi chn o trong thanh ghi TRISA va ngc lai, mun xac lp chc nng cua mt chn trong PORTA la output ta clear bit iu khin vi chn o trong thanh ghi TRISA. Thao tac nay hoan toan tng t i vi cac PORT va cac thanh ghi iu khin tng ng ( i vi PORTA la TRISA, i vi PORTB la TRISB, i vi PORTC la TRISC, i vi PORTD la TRISD, i vi PORTE la TRISE ). Bn canh o, PORTA con la ngo ra cua b ADC, b so sanh, ngo vao analog, ngo vao xung clock cua Timer0 va ngo vao cua b giao tip MSSP (Master Synchronous Serial Port) [3]. Chc nng cac chn trong PORTA [4]:

GVHD: Ths. Nguyn Tun Linh

26

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.10 Chc nng cua cac chn trong PORTA Cac thanh ghi SFR lin quan n PORTA bao gm [3]: - PORTA (ia chi 05h): cha gia tri cua pin trong PORTA. - TRISA ( ia chi 85h): iu khin xut nhp. - CMCON ( ia chi 9Ch): thanh ghi iu khin b so sanh. - CVRCON ( ia chi 9Dh): thanh ghi iu khin b so sanh in ap. - ADCON1 ( ia chi 9Eh): thanh ghi iu khin b ADC. 2.2.6.2 PORTB PORTB (RPB) gm 8 pin I/O. thanh ghi iu khin xut nhp tng ng la TRISB. Bn canh o mt s chn cua PORTB con c s dung trong qua trinh nap chng

GVHD: Ths. Nguyn Tun Linh

27

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

trinh cho vi iu khin vi cac ch nap khac nhau. PORTB con lin quan n ngt ngoai vi va b Timer0 [3]. Chc nng cu th cua tng chn trong PORTB nh sau [4]:

Hinh 2.11 Chc nng cac chn trong PORTB Cac thanh ghi SFR lin quan n PORTB bao gm [3]:
- PORTB ( ia chi 06h, 106h ): cha cac gia tri pin trong PORTB.

- TRISB ( ia chi 86h, 186h ): thanh ghi iu khin xut nhp. - OPTION_REG ( ia chi 81h, 181h ): iu khin ngt ngoai vi va b Timer0.
2.2.6.3 PORTC

PORTC (RPC) gm 8 pin I/O. Thanh ghi iu khin xut nhp tng ng la TRISC. Bn canh o PORTC con cha cac chn chc nng cua b so sanh, Timer1, b PWM va cac chun giao tip ni tip I2C, SPI, SSP, USART [3]. Chc nng cu th cua cac chn trong PORTC nh sau [4]:

GVHD: Ths. Nguyn Tun Linh

28

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.12 Chc nng cac chn trong PORTC Cac thanh ghi iu khin lin quan n PORTC gm [3]: - PORTC ( ia chi 07h): cha gia tri pin trong PORTC. - TRISC ( ia chi 87h ): thanh ghi iu khin xut nhp. 2.2.6.4 PORTD PORTD ( RPD) gm 8n chn I/O. Thanh ghi iu khin xut nhp tng ng la TRISD. Ngoai ra PORTD con la cng xut d kiu cua chun giao tip PSP (Parallel Slave Port) [3]. Chc nng cu th cac chn trong PORTD nh sau [4]:

GVHD: Ths. Nguyn Tun Linh

29

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.13 Chc nng cac chn trong PORTD Cac thanh ghi lin quan n PORTD bao gm [3]:
- PORTD : cha gia tri cac pin trong PORTD.

- TRISD: thanh ghi iu khin xut nhp. 2.2.6.5 PORTE PORTE ( RPE) gm 3 chn I/O. Thanh ghi iu khin xut nhp tng ng la TRISE. Cac chn cua PORTE co ngo vao analog. Bn canh o PORTE con la cac chn iu khienr cua chun giao tip PSP.[3] Chc nng cu th cua cac chn trong PORTE nh sau [4]:

GVHD: Ths. Nguyn Tun Linh

30

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.14 Chc nng cac chn trong PORTE Cac thanh ghi lin quan n PORTE bao gm [3]: - PORTE : cha gia tri pin trong PORTE. - TRISE : iu khin xut nhp va xac lp cac thng s cho chun giao tip PSP.
- ADCON1 : thanh ghi iu khin khi ADC.

2.2.7 Timer 2.2.7.1 Timer0 y la mt trong ba b m hoc inh thi cua vi iu khin PIC16F877A, Timer0 la b m 8 bit c kt ni vi b chia tn ( prescaler) 8 bit. Cu truc cua Timer0 cho phep ta la chon xung clock tac ng va canh tich cc cua xung clock. Ngt Timer0 se xut hin khi Timero bi tran. Bit TMR0IE ( INTCON<5>) la bit iu khin cua Timer0. TMR0IE=1 cho phep ngt Timer0 tac ng, TMR0IE=0 khng cho phep Timer0 tac ng. S khi cua Timer0 nh sau [3]:

GVHD: Ths. Nguyn Tun Linh

31

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.15 S khi cua Timer0 Mun Timer0 hoat ng ch Timer ta clear bit TOSC ( OPTION_REG<5>), khi o gia tri thanh TMR0 se tng theo chu ky xung ng h ( tn s vao Timer0 bng tn s oscillator). Khi gia tri thanh ghi TMR0 t FFh tr v 00h thi ngt Timer0 se xut hin mt cach linh ng. Mun Timer0 hoat ng ch counter ta set bit TOSC ( OPTION_REG<5>), khi o xung tac ng ln b m se c ly t chn RA4/TOCK1. Bit TOSE (OPTION_REG<4>) cho phep la chon tac ng vao b m. Canh tac ng se la canh ln nu TOSE=0 va canh tac ng se la canh xung nu TOSE=1. Khi thanh ghi TMR0 bi tran bit TM0IF (INTCON<2>) se c set. y chinh la c ngt cua Timer0. C ngt nay phai c xoa bng chng trinh trc khi b m bt u thc hienjlaij qua trinh m. Ngt Timer0 khng th anh thc vi iu khin t ch sleep. B chia tn s ( presccaler ) c chia se gia Timer0 va WDT ( Watchdog Timer). iu o co nghia la nu prescaler c s dung cho Timer0 thi WDT^ se c h tr cua prescaler va ngc lai. Prescaler c iu khin bi thanh ghi OPTION_REG. Bit PSA (OPTION_REG<3>) xac inh i tng tac ng cua prescaler. Cac bit PS2:PS0

GVHD: Ths. Nguyn Tun Linh

32

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

(OPTION_REG<2:0> ) xac inh ti s chia tn s cua prescaler. Xem lai thanh ghi OPTION_REG xac inh lai mt cach chi tit v cac bit iu khin trn[3]. Cac thanh ghi iu khin lin quan n Timer0 bao gm [3]: TMR0 ( ia chi 01h, 101h ): cha gia tri m cua Timer0. INTCON ( ia chi 0Bh, 8Bh, 10Bh, 18bh): cho phep ngt hoat ng (GIE va PEIE). OPTION_REG ( ia chi 81h, 181h ): iu khin prescaler. 2.2.7.2 Timer1 Timer1 la b inh thi 16 bit, gia tri cua Timer1 se c lu lai trong hai thanh ghi (TMR1H:TMR1L). C ngt cua Timer1 la bit TMR1IF ( PIR1<0>). Bit iu khin cua Timer1 la TMR1IE ( PIE<0>). Tng t nh Timer0, Timer1 cung co hai ch hoat ng: ch inh thi (Timer) vi xung kich la xung clock cua oscillator ( tn s cua Timer bng tn s cua oscillator) va ch m ( Counter) vi xung kich la xung phan anh cac s kin cn m ly t bn ngoai thng qua chn RC0/T1OSO/T1CKI ( canh tac ng la canh ln). Vic la chon xung tac ng ( tng ng vi vic la chon ch hoat ng la Timer hay Counter ) c iu khin bi TMR1CS ( T1CON<1>) [3]. S khi cua Timer1 [4]:

Hinh 2.16 S khi cua Timer1 Ngoai ra Timer1 con co hai chc nng reset input bn trong iu khin bi mt trong hai khi CCP (Capture/Compare/PWM). Khi bit T1OSCEN (T1CON<3>) c set, Timer1 se ly xung clock t hia chn RC1/T1OSI/CCP2 va RC0/T1OSO/T1CKI lam xung m. Timer1 se bt u m sau

GVHD: Ths. Nguyn Tun Linh

33

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

canh xung u tin cua xung ngo vao. Khi o PORTC se bo qua s tac ng cua hai bit TRISC<1:0> va PORTC<2:1> c gan gia tri 0. Khi clear bit T1OSCEN Timer1 se ly xung t oscillator hoc t chn RC0/T1OSO/T1CKI. Timer1 co hai ch m la ng b (Synchronous) va bt ng b (Asynchronous). Ch m c quyt inh bi bit iu khin T 1SYNC (T1CON<2>). Khi T 1SYNC = 1 xung m ly t bn ngoai se khng c ng b vi xung clock bn trong, Timer1 se tip tuc qua trinh m khi vi iu khin ch sleep va ngt do Timer1 tao ra khi bi tran co kha nng anh thc vi iu khin . Khi T 1SYNC =0 xung m vao Timer1 se c ng b hoa vi xung clock bn trong. ch nay Timer1 se khng hoat ng khi vi iu khin ang ch sleep. [3]. Cac thanh ghi lin quan n Timer1 bao gm [3]: INTCON ( ia chi 0Bh, 8Bh, 10Bh, 18Bh ): cho phep ngt hoat ng (GIE va PEIE). PIR1 ( ia chi 0Ch ): cha c ngt Timer1 ( TMR1IF). PIE1 ( ia chi 8Ch): cho phep ngt Timer1 ( TMR1IE). TMR1H ( ia chi 0Eh ): cha gia tri 8 bit thp cua b m Timer1. TMR1L ( dia chi 0Eh): cha 8 bit cao cua b m Timeer1. T1CON ( ia chi 10h): xac lp cac thng s cho Timer1. 2.2.7.3 Timer2 Timer2 la b inh thi 8 bit va c h tr bi hai b chia tn prescaler va potscaler. Thanh ghi cha gia tri m cua Timer2 la TMR2. Bit cho phep ngt Timer2 tac ng la TMR2ON ( T2CON<2>). C ngt cau Timer2 la bit TMR2IF (PIR1<1>). Xung ngo vao ) tn s bng tn s oscillator) c a qua b chia tn prescaler 4 bit ( vi cac ty s chia tn s la 1:1, 1:4, 1:16 va c iu khin bi cac bit T2CKPS1:T2CKPS0(T2CON<1:0>)) [3]. S khi cua Timer2:

GVHD: Ths. Nguyn Tun Linh

34

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.17 S khi cua Timer2 Timer2 con c h tr bi thanh ghi PR2. Gia tri m trong thanh ghi TMR2 se tng t 00h n gia tri cha trong thanh ghi PR2, sau o c reset v 00h. khi reset thanh ghi PR2 nhn c gia tri mc inh FFh. Ngoai ra ngo ra cua Timer2 con c kt ni vi khi SSp do o Timer2 con ong vai tro tao ra xung clock ng b cho khi giao tip SSP. Cac thanh ghi lin quan n Timer2 bao gm : INTCON ( ia chi 0Bh, 8Bh, 10Bh, 18Bh): cho phep hoat ng toan b cac ngt (GIE va PEIE). PIR1( ia chi 0Ch) : cha c ngt Timer2 ( TMR2IF). PIE1 ( ia chi 8Ch ) : cha bit iu khin Timer2 ( TMR2IE). TMR2 ( ia chi 11h) : cha gia tri m cua Timer2. T2CON ( ia chi 12h) : xac lp ca thng s cua Timer2. PR2 ( ia chi 92h) : thanh ghi h tr cho Timer2. 2.2.8 ADC ADC (Analog to Digital Converter) la b chuyn i tin hiu t tng t sang s. PIC16F877A co 8 ngo vao analog (RA4:RA0 va RE2:RE0). Hiu in th chun VREF co th c la chon la VDD, VSS hay hiu in th chun c xac lp trn hai chn RA2 va RA3. Kt qua chuyn i tin hiu t tng t sang s la 10 bit s tng ng va c lu trong hai thanh ghi ADRESH:ADRESL. Khi khng s dung b chuyn i ADC

GVHD: Ths. Nguyn Tun Linh

35

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

cac thanh ghi nay co th c s dung nh cac thanh ghi thng thng khac. Khi qua trinh chuyn i hoan tt, kt qua se c lu vao hai thanh ghi ADRESH : ADRESL, bit ADCON0<2> c xoa v 0 va c ngt ADIF c set. Quy trinh chuyn i tin hiu t tng t sang s bao gm cac bc sau: Thit lp cac thng s cho b chuyn i ADC:

Chon ngo vao analog, chon in ap mu ( da trn cac thng s cua thanh ghi ADCON1). Chon knh chuyn i AD ( thanh ghi ADCON0). Chon xung clock cho knh chuyn i AD ( thanh ghi ADCON0). Cho phep b chuyn i AD hoat ng (thanh ghi ADCON0). - Thit lp cac c ngt cho b AD: Clear bit ADIF. Set bit ADIE. Set bit PEIE. Set bit GIE - i cho ti khi qua trinh ly mu hoan tt.
-Bt u qua trinh chuyn i ( set bit GO / DONE ).

- i cho ti khi qua trinh chuyn i hoan tt bng cach: Kim tra bit GO / DONE , nu GO / DONE =0 thi qua trinh chuyn i hoan tt. Kim tra c ngt.
-oc kt qua chuyn i va xoa c ngt, set bit GO / DONE ( nu cn tip tuc chuyn

i). - Tip tuc thc hin cac bc 1 va 2 cho cac qua trinh chuyn i tip theo [3].

GVHD: Ths. Nguyn Tun Linh

36

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hinh 2.18 S khi b chuyn i ADC Cac thanh ghi lin quan n b chuyn i ADC bao gm [3]: INTCON ( ia chi ch 0Bh, 8Bh, 10Bh, 18Bh): cho phep cac ngt cac bit GIE, PEIE PIR1 ( ia chi 0Ch): cha c ngt AD ( ADIF). PIE1 ( ia chi 8Ch): cha bit iu khin AD( ADIE). ADRESH ( ia chi 1Eh) va ADRESL ( ia chi 9Eh): cac thanh ghi cha kt qua chuyn i AD. ADCON0 ( iac chi 1Fh) va ADCON1 ( ia chi 9Fh): xac lp cac thng s cua b chuyn i AD. PORTA ( ia chi 05h) va TRISA ( ia chi 85h): lin qun n cac ngo vao analog PORTA. PORTE ( ia chi 09h) va TRISE ( iac hi 89h): lin quan n cac ngo vao analog PORTE.

GVHD: Ths. Nguyn Tun Linh

37

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2.2.9 Truyn thng ni tip 2.2.9.1 USART USART ( Universal Synchronous Asynchronous Receiver Transmitter) l mt trong hai chun giao tip. USART cn c gi l giao din giao tip ni tip ni tip SCI (Serial Communication Interface). C th s dng giao din ny cho cc giao tip vi thit b ngoi vi, vi cc vi iu khin khc hay vi my tnh. Cc dng ca giao din ngoi vi bao gm: - Bt ng b (Asynchronous) - ng b _ Master mode - ng b _ Slave mode Hai pin dng cho giao din ny l RC6/TX/CK v RV7/RX/DT, trong RC6/TS/CK dng truyn xung clock (baud rate) v RC7/RX/DT dng truyn data. Trong trng hp ny ta phi set bit TRISC <7:6> v SPEN (RCSTA<7> cho php giao din USART. Pic16F877A c tch hp sn b to tc baud BRG ( Baud Rate Genetator) 8 bit dng cho giao din USART. BRG thc cht l mt b m c th s dng cho c hai dng ng b v bt ng b v c iu khin bi thanh ghi PSBRG. dng bt ng b, BRG cn c iu khin bi bit BRGH (TXSTA<2>). dng ng b tc ng ca bit BRGH c b qua. Tc baud do BRG to ra c tnh theo cng thc sau:

Trong X l gi tr ca thanh ghi RSBRG ( X l s nguyn v 0<X<255) Cc thanh ghi lin quan n BRG bao gm: - TXSTA ( a ch 98h): chn ch ng b hay bt ng b ( bit SYNC) v chn mc tc baud (bit BRGH). - RCSTA (a ch 18h): cho php hot ng cng ni tip ( bit SPEN). - RSBRG ( a ch 99h): quyt nh tc baud.

GVHD: Ths. Nguyn Tun Linh

38

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2.2.9.1.1 USART bt ng b ch ny USART hot ng theo chun NRZ (None-Return-to-Zero), ngha l cc bit truyn i s bao gm 1 bit start, 8 hay 9 bit d liu ( thng thng l 8 bit ) v 1 bit stop. Bit LSB s c truyn i trc. Cc khi truyn v nhn data c lp vi nhau s dng chung tn s tng ng vi tc baud cho qu trnh truyn d liu ( tc baud gp 16 hay 64 ln tc dch d liu ty theo gi tr ca bit BRGH), v m bo tnh hiu qu ca d liu th hai khi truyn v nhn phi dng chung mt nh dng d liu.
a. Truyn d liu qua chun giao tip USART bt ng b

Thnh phn quan trng nht ca khi truyn d liu l thanh ghi dch d liu TSR ( Transmit Shift Register). Thanh ghi TSR s ly d liu t thanh ghi m dng cho qu trnh truyn d liu TXREG. D liu cn truyn phi c a trc vo thanh ghi TXREG. Ngay sau khi bit Stop ca d liu cn truyn trc c truyn xong, d liu t thanh ghi TXREG s c a vo thanh ghi TSR, thanh ghi TXREG b rng, ngt xy ra v c hiu TXIF ( PIR1<4>) c set. Ngt ny c iu khin bi bit TXIE (PIE1<4>). C hiu TXIF vn c set bt chp trng thi ca bit TXIE hay tc ng ca chng trnh ( khng th xa TXIF bng chng trnh ) m ch reset v 0 khi c d liu mi c a vo thanh ghi TXREG.

Hnh 1.19 S khi ca khi truyn d liu USART Trong khi c hiu TXIF ng vai tr ch th trng thi thanh ghi TXREG th c hiu TRMT ( TXSTA<1>) c nhim v th hin trng thi thanh ghi TSR. Khi thanh ghi TSR rng, bit TRMT s c set. Bit ny ch c v khng c ngt no c gn vi trng thi ca n. Mt im cn ch na l thanh ghi TSR khng c trong b nh d liu v ch c iu khin bi CPU.

GVHD: Ths. Nguyn Tun Linh

39

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Khi truyn d liu c cho php hot ng khi bit TXEN (TXSTA<5>) c set. Qu trnh truyn d liu ch thc s bt u khi c d liu trong thanh ghi TXREG v xung truyn baud c to ra. Khi khi truyn d liu c khi ng ln u tin, thanh ghi TSR rng. Ti thi im , d liu a vo thanh ghi TXREG ngay lp tc c load vo thanh ghi TSR v thanh ghi TXREG b rng. Lc ny ta c th hnh thnh mt chui d liu lin tc cho qu trnh truyn d liu. Trong qu trnh truyn d liu nu bit TXEN b set v 0, qu trnh truyn kt thc, khi truyn d liu c reset v pin RC6/TX/CK chuyn n trng thi high-impedance. Trong trng hp d liu cn truyn l 9 bit, bit TX9 ( TXSTA<6>) c set v bit d liu th 9 s c lu trong bit TX9D (TXSTa<0>). Nn ghi bit d liu th 9 vo trc, v khi ghi 8 bit d liu vo thanh ghi TXREG trc c th xy ra trng hp ni dung thanh ghi TXREG s c load vo thanh ghi TSG trc, nh vy d liu truyn i s b sai khc so vi yu cu. Tm li, truyn d liu theo giao din USART bt ng b, ta cn thc hin tun t cc bc sau: - To xung truyn baud bng cch a cc gi tr cn thit vo thanh ghi RSBRG v bit iu khin mc tc baud BRGH. - Cho php cng giao din ni tip ni tip bt ng b bng cch clear bit SYNC v set bit PSEN. - Set bit TXIE nu cn s dng ngt truyn. - Set bit TX9 nu nh dng d liu cn truyn l 9 bit. - Set bit TXEN cho php truyn d liu ( lc ny bit TXIF cng c set ) - Nu nh dng d liu l 9 bit, a d liu th 9 vo bit TX9D. - a 8 bit d liu cn truyn vo thanh ghi TXREG. - Nu s dng ngt truyn, cn kim tra li cc bit GIE v PEIE ( thanh ghi INTCON ). Cc thanh ghi lin quan n qu trnh truyn d liu bng giao din USART bt ng b: - Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cho php tt c cc ngt. - Thanh ghi PIR1 ( a ch 0Ch): cha c hiu TXIF.

GVHD: Ths. Nguyn Tun Linh

40

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt truyn TXIE. - Thanh ghi RCSTA ( a ch 18h): cha bit cho php cng truyn d liu ( hai pin RC6/TX/CK v RV7/RX/DT. - Thanh ghi TXREG ( a ch 19h): thanh ghi cha d liu cn truyn. - Thanh ghi TXSTA ( a ch 98h): xc lp cc thng s cho giao din. - Thanh ghi SPBRG ( a ch 99h): quyt nh tc baud.
b. Nhn d liu qua chun giao tip USART bt ng b

D liu c a vo chn RC7/RX/DT s kch hot khi phc hi d liu. Khi phc hi d liu thc cht l mt b dch d liu tc cao v c tn s hot ng gp 16 ln hoc bng 64 ln tn s baud. Trong khi tc dch ca thanh ghi nhn d liu s bng vi tn s baud hoc tn s ca oscillator.

Hnh 2.20 S khi ca khi nhn d liu USART. Bit iu khin cho php khi nhn d liu l bit RCEN ( RCSTA<4>). Thnh phn quan trng nht ca khi nhn d liu l thanh ghi nhn d liu RSR ( Receive Shift Register). Sau khi nhn din bit Stop ca d liu truyn ti, d liu nhn c trong thanh ghi RSR s c a vo thanh ghi RCGER, sau c hiu RCIF (PIR1<5>) s c set v ngt nhn c kch hot. Ngt ny c iu khin bi bit RCIE ( PIE1<5>). Bit c hiu RCIF l bit ch c v khng th c tc ng bi chng trnh. RCIF ch reset v 0 khi d liu nhn vo thanh ghi RCREG c c v khi thanh ghi RCREG rng. Thanh ghi RCREG l thanh ghi c b m kp ( double-

GVHD: Ths. Nguyn Tun Linh

41

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

buffered-register) v hot ng theo c ch FIFO (Fist In First Out) cho php nhn 2 byte v byte th 3 tip tc c a vo thanh ghi RSR. Nu sau khi nhn c bit Stop ca byte d liu th 3 m thanhg ghi RCREG vn cn y, c hiu bo trn d liu ( Overrun Error bit) OERR( RCSTA<1>) s c set, d liu trong thanh ghi RSR s b mt i v trong qu trnh a d liu t thanh ghi RSR vo thanh ghi RCREG s b gin on. Trong trng hp ny cn ly ht d liu thanh ghi RSREG vo trc khi tip tc nhn byte d liu tip theo. Bit OERR phi c xa bng phn mm v thc hin bng cch clear bit RCEN ri set li. Bit FERR ( RCSTA<2>) s c set khi pht hin bit Stop ca d liu nhn vo. Bit d liu th 9 s c a vo bit RX9D ( RCSTA<0>). Khi c d liu t thanh ghi RCREG, hai bit FERR RX9D s nhn cc gi tr mi. Do cn c d liu t thanh ghi RCSTA trc khii c d liu t thanhg ghi RCREG trnh b mt d liu. Tm li, khi s dng giao din nhn d liu USART bt ng b cn tin hnh tun t cc bc sau: 1. Thit lp tc baud ( a gi tr thch hp vo thanh ghi SPBRG v bit BRGH. 2. Cho php cng giao tip USART bt ng b ( clear bit SYNC v set bit SPEN). 3. Nu cn s dng ngt nhn d liu, set bit RCIE. 4. 5. Nu d liu truyn nhn c nh dng l 9 bit, set bit RX9. Cho php nhn d liu bng cch set bit CREN.

6. Sau kkhi d liu c nhn, bit RCIF s c set v ngt c kch hot ( nu bit RCIE c set). 7. c gi tr thanh ghi RCSTA c bit d liu th 9 v kim tra xem qu trnh nhn d liu c b li khng. 8. 9. 10. c 8 bit d liu t thanh ghi RCREG. Nu qu trnh truyn nhn c li xy ra, xa li bng cch xa bit CREN. Nu s dng ngt nhn cn set bit GIE v PEIE ( thanh ghi INTCON).

Cc thanh ghi lin quan n qu trnh nhn d liu bng giao din USART bt ng b:

GVHD: Ths. Nguyn Tun Linh

42

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cha cc bit cho php ton b cc ngt ( bit GIER v PEIE). - Thanh ghi PIR1 (a ch 0Ch): cha c hiu RCIE. - Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt RCIE. Thanh ghi RCSTA ( a ch 18h): xc nh cc trng thi trong qu trnh nhn d liu. - Thanh ghi RCREG ( a ch 1Ah): cha d liu nhn c. - Thanh ghi TXSTA ( a ch 98h): cha cc bit iu khin SYNC v BRGH. - Thanh ghi SPBRG ( a ch 99h): iu khin tc baud. 2.2.9.1.2 USART ng b Giao din USART ng b c kch hot bng cch set bit SYNC. Cng giao tip ni tip vn l hai chn RC6/TX/CK v RV7/RX/DT v c cho php bng cch set SPEN. USART cho php hai ch truyn nhn d liu l Master mode v Slave mode. Master mode c kch hot bng cch set bit CSRC ( TXSTA<7> ), Slave mode c kch hot bng cch clear bit CSRC. im khc bit duy nht gia hai ch ny l Master mode s ly xung clock ng b t b to xung baud BRG cn Slave mode ly xung clock ng b t bn ngoi qua chn RC6/TX/CK. iu ny cho php Slave mode hot ngay c khi vi iu khin ang ch sleep. a. Truyn d liu qua chun giao tip USART ng b Master mode Tng t nh giao din USART bt ng b, thnh phn quan trng nht ca khi truyn d liu l thanh ghi dch TSR (Transmit Shift Register). Thanh ghi ny ch c iu khin bi CPU. D liu a vo thanh ghi TSR c cha trong thanh ghi TXREG. C hiu ca khi truyn d liu l bit TXIF ( ch th trng thi thanh ghi TXREG), c hiu ny c gn vi mt ngt v bit iu khin ngt ny l TXIE. C hiu ch th trng thi thanh ghi TSR l bit TRMT. Bit TXEN cho php hay khng cho php truyn d liu Cc bc cn tin hnh khi truyn d liu qua giao tip USART ng b Master mode: 1. To xung truyn baud bng cch ua cc gi tr cn thit vo thanh ghi RSBRG v bit iu khin mc tc baud BRGH.

GVHD: Ths. Nguyn Tun Linh

43

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2. Cho php cng giao din ni tip ni tip ng b bng cch set bit SYNC, PSEN v CSRC. 3. Set bit TXIE nu cn s dng ngt truyn. 4. Set bit TX9 nu nh dng d liu cn truyn l 9 bit. 5. Set bit TXEN cho php truyn d liu. 6. Nu nh dng d liu l 9 bit, a bt d liu th 9 vo bit TX9D. 7. a 8 bit d liu cn truyn vo thanh ghi TXREG. 8. Nu s dng ngt truyn, cn kim tra li cc bit GIE v PEIE ( thanh ghi INTCON) Cc thanh ghi lin quan n qu trnh truyn d liu bng giao din USART ng b Master mode. Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cho php tt c cc ngt. Thanh ghi PIR1 ( a ch 0Ch); cha c hiu TXIF. Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt truyn TXIE.

- Thanh ghi RCSTA ( a ch 18h): cha bit cho php cng truyn d liu ( hai pin RC6/TX/CK v RC7/RX/DT). Thanh ghi TXREG ( a ch 19h): thanh ghi cha d liu cn truyn . Thanh ghi TXSTA ( a ch 98h): xc lp cc thng s cho giao din. Thanh ghi SPBRG ( a ch 99h): quyt nh tc baud.

b. Nhn d liu qua chun giao tip USART ng b Master mode Cu trc khi nhn d liu l khng i so vi giao din bt ng b, k c cc c hiu, ngt nhn v cc thao tc trn cc thnh phn . im khc bit duy nht l giao din ny cho php hai ch nhn d liu, l ch nhn 1 word d liu ( set bit SCEN) hay nhn mt chui d liu ( Set bit CREN) cho ti khi ta cleaar bit CREN. Nu c hai bit u c set, bit iu khin CREN s c u tin. Cc bc cn tin hnh khi nhn d liu bng giao din USART ng b Master mode: 1. Thit lp tc baud ( a gi tr thch hp vo thanh ghi SPBRG v bit BRGH).

GVHD: Ths. Nguyn Tun Linh

44

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2. Cho php cng giao tip USART bt ng b ( set bit SYNC,SPEN va CSRC). 3. Clear bit CREN v SREN. 4. Nu cn s dng ngt nhn d liu, set bit RCIE. 5. Nu d liu truyn nhn c nh dng l 9 bit, set bit RX9. 6. Nu ch nhn 1 word d liu, set bit SREN, nu nhn 1 chui word d liu, set bit CREN. 7. Sau khi d liu c nhn, bit RCIF s c set v ngt c kch hot ( nu bit RCIE c set) 8. c gi tr thanh ghi RCSTA c bit d liu th 9 v kim tra xem qu trinh nhn d liu c b li khng. 9. c 8 bit d liu t thanh ghi RCREG. 10. Nu qu trinh truyn nhn c li xy ra, xa li bng cch xa bit CREN. 11. Nu s dng ngt nhn cn set bit GIE v PEIE ( thanh ghi INTCON) Cc thanh ghi lin quan n qu trnh nhn d liu bng giao din USART ng b Master mode: - Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cha cc bit cho php ton b cc ngt ( bit GIER v PEIE). - Thanh ghi PIR1 (a ch 0Ch): cha c hiu RCIE. - Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt RCIE. - Thanh ghi RCSTA ( a ch 18h): xc nh cc trng thi trong qu trnh nhn d liu. - Thanh ghi RCREG ( a ch 1Ah): cha d liu nhn c. - Thanh ghi TXSTA ( a ch 98h): cha cc bit iu khin SYNC v BRGH. - Thanh ghi SPBRG ( a ch 99h): iu khin tc baud. c. Truyn d liu qua chun giao tip USART ng b Slave mode Qu trnh ny khng c s khc bit so vi Master mode khi vi iu khin hot ng ch bnh thng. Tuy nhin khi vi iu khin ang trng thi sleep, s khc bit

GVHD: Ths. Nguyn Tun Linh

45

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

c th hin r rng. Nu c hai word d liu c a vo thanh ghi TXREG trc khi lnh sleep c thc thi th qu trinh sau s xy ra: 1. Word d liu u tin s ngay lp tc c a vo thanh ghi TSR truyn i 2. Word d liu th 2 vn nm trong thanh ghi TXREG. 3. C hiu TXIF s khng c set. 4. Sau khi word d liu u tin dch khi thanh ghi TSR, thanh ghi TXREG tip tc truyn word th hai vo thanh ghi TSR v c hiu TXIF c set. 5. Nu ngt truyn c cho php hot ng, ngt ny s nh thc vi iu khin v nu ton b cc ngt c cho php hot ng, b m chng trnh s ch ti a ch cha chng trnh ngt ( 0004h). Cc bc cn tin hnh khi truyn d liu bng giao din USART ng b Slave mode: 1. Set bit SYNC, SPEN v clear bit CSRC. 2. Clear bit CREN v SREN. 3. Nu cn s dng ngt, set bit TXIE. 4. Nu nh dng d liu l 9 bit, set bit TX9. 5. Set bit TXEN. 6. a bit d liu th 9 vo bit TX9D trc ( nu nh dng d liu l 9 bit). 7. a 8 bit d liu vo thanh ghi TXREG. 8. Nu ngt truyn c s dng, set bit GIE v PEIE ( thanh ghi INTCON). Cc thanh ghi lin quan n qu trnh truyn d liu bng giao din USART ng b Slave mode: Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cho php tt c cc ngt. Thanh ghi PIR1 ( a ch 0Ch); cha c hiu TXIF. Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt truyn TXIE.

- Thanh ghi RCSTA ( a ch 18h): cha bit cho php cng truyn d liu ( hai pin RC6/TX/CK v RC7/RX/DT). Thanh ghi TXREG ( a ch 19h): thanh ghi cha d liu cn truyn .

GVHD: Ths. Nguyn Tun Linh

46

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Thanh ghi TXSTA ( a ch 98h): xc lp cc thng s cho giao din. Thanh ghi SPBRG ( a ch 99h): quyt nh tc baud.

d. Nhn d liu qua chun giao tip USART ng b Slave mode S khc bit ca Slave mode so vi Master mode ch th hin r rng khi vi iu khin hot ng ch sleep. Ngoi ra ch Slave mode khng quan tm ti bit SREN. Khi bit CREN ( cho php nhn chui d liu ) c set trc khi lnh sleep c thc thi, mt word d liu vn c tip tc nhn, sau khi nhn xong bit thanh ghi TSR s chuyn d liu vo thanh ghi RCREG v bit RCIF c set. Nu bit RCIE ( cho php ngt nhn) c set trc , ngt s c thc thi v vi iu khin c nh thc, b m chng trnh s ch n a ch 0004h v chng trinh ngt s c thc thi. Cc bc cn tin hnh khi nhn d liu bng giao din USART ng b Slave mode: 1. Cho php cng giao tip USART ng b (set bit SYNC, SPEN clear bit CSRC). 2. Nu cn s dng ngt nhn d liu, set bit RCIE. 3. Nu d liu truyn nhn c nh dng l 9 bit, set bit RX9. 4. Set bit CREN cho php qu trnh nhn d liu bt u. 5. Sau khi d liu c nhn, bit RCIF s c set v ngt c kch hot ( nu bit RCIE c set). 6. c gi tr thanh ghi RCSTA c bit d liu th 9 v kim tra xem qu trnh nhn d liu c b li khng. 7. c 8 bit d liu t thanh ghi RCREG. 8. Nu qu trinh truyn nhn c li xy ra, xa li bng cch xa bit CREN. 9. Nu s dng ngt nhn cn set bit GIE v PEIE ( thanh ghi INTCON ). Cc thanh ghi lin quan n qu trnh nhn d liu bng giao din USART ng b Slave mode: - Thanh ghi INTCON ( a ch 0Bh,8Bh,10Bh,18Bh): cha cc bit cho php ton b cc ngt ( bit GIER v PEIE).

GVHD: Ths. Nguyn Tun Linh

47

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thanh ghi PIR1 (a ch 0Ch): cha c hiu RCIE. - Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt RCIE. - Thanh ghi RCSTA ( a ch 18h): xc nh cc trng thi trong qu trnh nhn d liu. - Thanh ghi RCREG ( a ch 1Ah): cha d liu nhn c. - Thanh ghi TXSTA ( a ch 98h): cha cc bit iu khin SYNC v BRGH. - Thanh ghi SPBRG ( a ch 99h): iu khin tc baud.

2.2.9.2 MSSP MSSP ( Master Synchronous Serial Port ) l giao din ng b ni tip dng giao tip vi cc thit b ngoi vi ( EEPROM, ghi dch, chuyn i ADC, ) hay cc vi iu khin khc. MSSP c th hot ng di hai dng giao tip:
-

I2C: Inter- Intergrated Circuit SPI: Serial Pheripheral Interface

Cc thanh ghi iu khin giao din chun giao tip ny bao gm thanh ghi trng thi SSPSTAT v hai thanh ghi iu khin khi MSSP ( giao dinTy Hnh 2.21 S SSPSON v SSPSON2. SPI) theo chun giao tip c s dng ( SPI hay I2c) m chc nng cc thanh ghi ny th hin khc nhau. 2.2.9.2.1 SPI Chun giao tip SPI cho php truyn nhn ng b. Ta cn s dng 4 pin cho chun giao tip ny : RC5/SDO: ng ra d liu dng ni tip ( Serial Data Output). RC4/SDI/SDA: ng vo d liu dng ni tip ( Serial Data Input). RC3/SCK/SCL: xung ng b ni tip ( Serial Clock).

GVHD: Ths. Nguyn Tun Linh

48

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- RA5/AN4/SS/C2OUT: chn i tng giao tip ( Serial Select) khi giao tip ch Slave mode. Cc thanh ghi lin quan n MSSP khi hot ng chun giao tip SPI bao gm: Thanh ghi iu khin SSPCON, thanh ghi ny cho php c v ghi Thanh ghi trng thi SSPSTAT, thanh ghi ny ch cho php c v ghi 2 bit trn, 6 bit cn li ch cho php c. Thanh ghi ng vai tr l buffer truyn nhn SSPBUF, d liu truyn i hoc nhn c s c a vo thanh ghi ny. SSPBUF khng c cu trc m hai lp ( doubledbuffer), do d liu ghi vo thanh ghi SSPBUF s lp tc c ghi vo thanh ghi SSPSR. Thanh ghi dich d liu SSPSR dng dch d liu vo hoc ra. Khi 1 byte d liu c nhn hon chnh, d liu s t thanh ghi SSPSR chuyn qua thanh ghi SSPBUF v c hiu c set, ng thi ngt s xy ra. 2.2.9.3 I2C y l mt dng khc ca MSSP. Chun giao tip I2C cng c hai ch Master, Slave v cng c kt ni vi ngt. I2C s s dng 2 pin truyn nhn d liu: - RC3/SCK/SCL: chn truyn dn xung clock RC4/SDI/SDA: chn truyn dn d liu

Cc khi c bn trong s khi ca I2C khng c nhiu khc bit so vi SPI. Tuy nhin I2C cn c thm khi pht hin bit Start v bit Stop ca d liu * Start ang Stop bit detect ) v khi xc nh a ch ( Match detect). Cc thanh ghi lin quan n I2C bao gm:
- Thanh ghi SSPCON v SSPCON2: iu

khin MSSP. - Thanh ghi SSPSTAT: thanh ghi cha cc trng thi hot ng ca MSSP.

GVHD: Ths. Nguyn Tun Linh

49

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

- Thanh ghi SSPBUF: buffer truyn nhn ni tip. - Thanh ghi SSPSR: thanh ghi dch dng truyn nhn d liu. - Thanh ghi SSPADD: thanh ghi cha a ch ca giao din MSSP. Cc thanh ghi SSPCON, SSPCON2 cho php c v ghi. Thanh ghi SSPSTAT ch cho php c v ghi 2 bt u,6 bit cn li ch cho php c. Thanh ghi SSPBUF cha d liu s c truyn i hoc nhn c v ng vai tr nh mt thanh ghi m cho thanh ghi dch d liu SSPSR. Thanh ghi SSPADD cha a ch ca thit b ngoi vi cn truy xut d liu ca I2c khi hot ng Slave mode. Khi hot ng Master mode, thanh ghi SSPADD cha gi tr to ra tc baud cho xung clock dng truyn nhn d liu. Trong qu trnh nhn d liu, sau khi nhn c 1 byte d liu hon chnh, thanh ghi SSPSR s chuyn d liu vo thanh ghi SSPBUF. Thanh ghi SSPSR khng c v ghi c, qu trinh truy xut thanh ghi ny phait thong qua thanh ghi SSPBUF. Trong qu trinh truyn d liu, d liu cn truyn khi c a vo thanh ghi SSPBUF cng s ng thi a vo thanh ghi SSPSR. I2C c nhiu ch hot ng v c iu khin bi cc bit SSPCON <3:0>, bao gm:
- I2C Master mode, xung clock = fosc / 4* (SSPADD+1).

Hnh 2.22 S khi MSSP (I2C Slave Mode)

- I2C Slave mode, 7 bit a ch - I2C Slave mode, 10 bit a ch - I2C Slave mode, 7 bit a ch, cho php ngt khi pht hin bit Start v bit Stop. - I2C Slave mode, 10 bit a ch, cho php ngt khi pht hin bit Start v bit Stop. - I2c Firmware Control Master mode. a ch truyn i s bao gm cc bit a ch v 1 bt R/W xc nh thao tc ( c hay ghi d liu) vi i tng cn truy xut d liu. Khi la chn giao din I2C va khi set bit SSPEN, cc pin SCL v SDA s trng thi cc thu h. Do trong trng hp cn thit ta phi s dng in tr ko ln bn

GVHD: Ths. Nguyn Tun Linh

50

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

ngoi vi iu khin, bn cnh cn n nh cc gi tr ph hp cho cc bit TRISC<4:3>( bit iu khin xut nhp cc chn SCL v SDA) [3].
2.2.9 Cng giao tip song song PSP ( PARALLEL SLAVE PORT)

Ngoai cac cng ni tip va cac giao din ni tip c trinh bay phn trn, vi iu khin PIC16F877A con c h tr mt cng giao tip sng va chun giao tip song song thng qua PORTD va PORTE. Do cng song song chi hoat ng ch Slave mode nn vi iu khin khi giao tip qua giao din nay se chiu s iu khin cua thit bi ngoai thng qua cac pin cua PORTE, trong khi d liu se c oc hoc ghi theo dang bt ng b thng qua 8 pin cua PORTD. Bit iu khin PSP la PSPMODE ( TRISE<4>). PSPMODE c set khi thit lp chc nng cac pin cua PORTE la cac pin cho phep oc d liu RD ( RE 0 / RD / AN 5 ) cho phep ghi d liu WR ( RE1/ WR / AN 6 ) va cac pin chon vi iu khin CS (
RE 2 / CS / AN 7 ) phuc vu cho vic truyn nhn d liu song song thng qua bus d liu

8 bit cua PORTD. PORTD luc nay ong vai tro la thanh ghi cht d liu 8 bit, ng thi s tac ng cua thanh ghi TRISD cung se bo qua do PORTD luc nay chiu s iu khin cua thit bi ngoai. PORTE vn chiu s tac ng cua thanh ghi TRISE, do o cn xac lp trang thai cac pin PORTE la input bng cach set cac bit TRISE<2:0>. Ngoai ra cn a gia tri thich hp cho cac bit PCFG3:PCFG0 ( thanh ghi ADCON1<3:0>) n inh cac pin cua PORTE la cac pin I/O dang digital ( PORTE con la cac pin chc nng cua khi ADC) [3]. Khi cac pin CS va WR cung mc thp d liu t bn ngoai se c ghi ln PORTD. Khi mt trong hai pin c chuyn ln mc logic cao, c d liu trong Buffer a y BIF (TRISE<7>) c set va c ngt PSPIF (PIR1<7>) c set bao hiu kt thuc ghi d liu. Bit BIF chi c xoa v 0 khi d liu va nhn c PORTD c oc vao. Bit bao hiu d liu trong buffer bi tran IBOV (TRISE<5>) se c set khi vi iu khin nhn tip d liu tip theo trong khi cha oc vao d liu a nhn c trc o [3].

GVHD: Ths. Nguyn Tun Linh

51

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Cn chu y la ngt SSPIF c diu khin bi bit PSPIE ( PIE<7>) va c xoa bng chng trinh. Hnh 2.23 S khi cua PORTD va PORTE Cc thanh ghi lin quan n PSP bao gm: khi hoat ng ch PSP Slave mode

Thanh ghi PORTD ( a ch 08h): cha d liu cn c hoc ghi. Thanh ghi PORTE ( a ch 09h): cha gi tr c pin PORTE. Thanh ghi TRISE ( a ch 89h): cha cc bit iu khin PORTE v PSP. Thanh ghi PIR1( a ch 0Ch): cha c ngt PSPIF. Thanh ghi PIE1 ( a ch 8Ch): cha bit cho php ngt PSP. Thanh ghi ADCON1 ( a ch 9Fh): iu khin khi ADC ti PORTE.
2.2.10 Ngt (INTERRUPT)

PIC16F877A c n 15 ngun to ra hot ng ngt c iu khin bi thanh ghi INTCON (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 ngt ngoi vi PEIE. Bit iu khin cc ngt nm trong thanh ghi PIE1vaf PIE2. C ngt ca cc ngt nm trong thanh ghi PIR1 v PIR2. 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 ba hoc bn chu k lnh ty thuc vo thi im xy ra ngt. Cn ch rng trong qu trnh thc thi ngt ch c gi tr ca b m chng trnh c ct vo Stack, trong khi mt s thanh ghi quan trng s khng c ct v c th b thay i gi tr trong qua trnh thc thi chng trnh ngt. iu ny nn c x l bng chng trnh trnh hin tng trn xy ra [3].

GVHD: Ths. Nguyn Tun Linh

52

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hnh 2.24 S logic ca tt c cc ngt trong vi iu khin PIC16F877A Ngt INT Ngt ny da trn s thay i trng thi ca pin RB0/INT. Cnh tc ng gy ra ngt c th la cnh ln hay cnh xung v c iu khin bi bit INTEDG ( thanh ghi OPTION_REG <6>). Khi c tc ng thch hp xut hin ti pin RB0/INT, c ngt INTF c set bt chp trng thi cc bit iu khin GIE v PEIE. Ngt ny c kh nng nh thc vi iu khin ch Sleep nu bit cho php ngt c set trc khi lnh Sleep c thc thi. Ngt do s thay i trng thi cc pin trong PORTB Cc pin PORTB<7:4> c dng cho ngt ny v iu khin bi bit RBIE ( thanh ghi INTCON<4>). C ngt ca ngt ny l bit RBIF ( INTCON<0>) [3]. 2.2.11 Cc c tnh ca Oscillator PIC16F877A c kh nng s dng mt trong bn loi Oscillator, l: LP: Low Power Crystal. XT (Xtal): thch anh bnh thng. HS: High Speed Crystal. RC: Resister/Capacitor dao ng do mch RC to ra.

GVHD: Ths. Nguyn Tun Linh

53

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

i vi cc loi oscillator LP,HS,XT oscillator c gn vo vi iu khin thng qua cc pin OSC1/CLKI v OSC2/ CLKO. i vi cc ng dng khng cn cc loi oscillator tc cao ta c th dng mch dao ng RC lm ngun cung cp xung hot ng cho cc vi iu khin. Tn s to ra ph thuc vo cc gi tr in p, gi tr in tr v t in. Bn cnh l s nh hng ca cc yu t nh nhit , cht lng ca cc linh kin. Hnh 2.25 RC Oscillator Cc linh kin s dng trong mch RC oscillator phi m bo cc gi tr sau: 3K< REXT<100K. CEXT>20pF.
2.2.12 Cc ch RESET

C nhiu ch reset vi iu khin, bao gm: Power-on Reset POR (Reset khi cp ngun hot ng cho vi iu khin).
MCLR reset trong qu trnh hot ng. MCLR t ch sleep.

WDT reset ( reset do khi WDT to ra trong qu trnh hot ng). WDT wake up t ch Sleep. Brown out reset ( BOR). vi iu khin hot ng c t khi cp ngun cn tri qua cc bc sau [3]: - POR tc ng.
- PWRT ( nu c cho php hot ng ) to ra khong thi gian Delay TPWRT n

nh ngun cung cp. - OST ( nu c cho php ) to ra khong thi gian Delay bng 1024 chu k xung ca Oscillator n nh tn s ca Oscillator. - n thi im ny vi iu khin mi bt u hot ng bnh thng. Thanh ghi iu khin v ch th trng thi ngun cung cp cho vi iu khin l thanh ghi PCON.

GVHD: Ths. Nguyn Tun Linh

54

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hnh 2.26 S cc ch reset ca PIC16F877A 2.3 Cc loi linh kin khc

2.3.1 Relay 12V c im: - in p tc ng: 12V


- Dng chu c 10 A. - in p chu c 250 VAC.

- nhy cao. - in p nh thng cao.


- Hnh dng nh gn.

- c dng lm cng tc ng m. Cc thng s tnh ton ca Relay a. H s iu khin rle K k = P k / P t

GVHD: Ths. Nguyn Tun Linh

55

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Vi : + Pk la cng sut iu khin inh mc cua rle, chinh la cng sut inh mc cua c cu chp hanh. + Pt la cng sut tac ng, chinh la cng sut cn thit cung cp cho u vao rle tac ng. Vi rle in t Pk la cng sut tip im (nghia la cng sut tip im cho phep truyn qua). Pt la cng sut cun dy nam chm hut. Cac loai rle khac nhau thi Knh va Kk cung khac nhau. b. Thi gian tac ng La thi gian k t thi im cung cp tin hiu cho u vao, n luc c cu chp hanh lam vic. Vi rle in t la quang thi gian cun dy c cung cp dong (hay ap) cho n luc h thng tip im ong hoan toan (vi tip im thng m) va m hoan toan (vi tip im thng ong). Cac loai rle khac nhau tt cung khac nhau. + tt < 1.10-3[s] : rle khng quan tinh. + tt = (1 . 50).10-3 [s]: rle tac ng nhanh. + tt > 150.10-3[s]: rle thi gian 2.3.2 Opto Isolator Opto hay cn gi l cch ly quang l linh kin tch hp c cu to gm 1 led v 1 photo diot hay 1 photo transitor. c s dng cc ly gia cc khi chnh lch nhau v in hay cng sut nh khi c cng sut nh vi khi in p ln. S mch nguyn l cho opto:

Opto Isolato c tc dng khi c dng nh di qua 2 u ca led c trong opto lm cho led pht sng. Khi led pht sng lm thng 2 cc ca photo diot, m cho dng in chy qua.

GVHD: Ths. Nguyn Tun Linh

56

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

2.3.3 Tranzitor C1815 Tranzitor C1815 l Transistor BJT gm ba min to bi hai tip gip pn, trong min gia l bn dn loi p. Min c mt tp cht cao nht, k hiu n+ l min pht (emitter). Min c mt tp cht thp hn, k hiu n, gi l min thu (collecter). Min gia c mt tp cht rt thp, k hiu p, gi l min gc (base). Ba chn kim loi gn vi ba min tng ng vi ba cc emitter (E), base (B), collecter (C) ca transistor. c tnh k thut ca transistor : - in p gii hn : c 3 loi : BVCEO : in p nh thng gia C v E khi cc B h. BVCBO : in p nh thng gia C v B khi cc E h. BVEBO : in p nh thng gia E v B khi cc C h. - Dng in gii hn : ICmax l dng in ti a cc C v I Bmax l dng in ti a cc B. Dng ti a a vo cc B l : 10mA. Dng ti a a vo cc C l : 100mA. Chc nng ca transistor ch yu l khuych i tn hiu v ng ngt cc mch in. - Cng sut gii hn : Khi c dng in qua transisor s sinh ra 1 cng sut nhit lm nng transistor, cng sut sinh ra c tnh theo cng thc : PT = IC.VCE K hiu: transistor loi NPN

2.3.4 IC 7805 Chn 1 l chn INPUT Chn 2 l GROUND Chn 3 l chn OUTPUT

GVHD: Ths. Nguyn Tun Linh

57

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Ng ra OUT lun n nh 5V d in p t ngun cung cp thay i. Mch ny dng bo v nhng mch in ch hot ng in p 5V (cc loi IC thng hot ng in p ny). Nu ngun in c s c t ngt: in p tng cao th mch in vn hot ng n nh nh c IC 7805 vn gi c in p ng ra OUT 5V khng i. 2.3.5 Diot 1N4007 Diode c cu to gm hai lp bn dn p-n c ghp vi nhau. Diode 1N4007 l loi diot thong dng nht, c chc nng dng i in xoay chiu thng l in th 50Hz n 60Hz sang in th 1 chiu. Ty lai ca Diode m n c th chu ng c dng t vi trm mA n loi cng sut cao c th chu ng n vi trm A. Diode chnh lu ch yu l loi Silic. Hai c tnh k thut c bn ca Diode chnh lu l dng thun ti a v dng ngc ti a (in p nh thng). Hai c tnh ny s do nh sn xut cho bit.
2.3.6 Ccc linh kin khc trn mch - in tr cc loi 10k, 4.7k, 2.2k, 1k, 220 . - Leb n.

- Cc loi t in + T mt chiu: 1000 F + T gm ( t xoay chiu): 102pF, 10pF

CHNG III: XY DNG H THNG 1.THIT K PHN CNG Trong qu trnh thi cng phn cng, nhm em s s phn mm kh thng dng trong lnh vc thit k board mch in t. l phn mm Altium designer. y l

GVHD: Ths. Nguyn Tun Linh

58

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

phn mm thit k rt mnh phc v vic thit k. N p ng tt cc k thut cn thit lm mt board mch in t hon chnh. 1.1 S nguyn l phn cng 1.1.1 S nguyn l

Hnh 3.1 S nguyn l ca h thng

1.1.2 S mch ngun

GVHD: Ths. Nguyn Tun Linh

59

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hnh 3.2 S nguyn l mch ngun Cc linh kin s dng trong mch ngun:
- Mch ngun s dng b Adapter cung cp ngun 12V/2A. a vo IC LM7805

ly in p 5V v cung cp in p 12V tc ng cho relay. - Dng LM7805 a in p t 12V v 5V v n nh in p 5V ny cho vi iu khin PIC16F877A lm vic.
- Dng cc t c tr s khc nhau lc in p ra l cc t c tr s nh sau: 1000

F, 102pF

1.1.3 S mch ng lc

Hnh 3.3 S nguyn l mch ng lc Mch ng lc gm c Relay 12V, tranzitor C1815, opto 817, Diot 1N4007 dng khuch i dng qua Relay v trnh in p ngc. Ngoi ra cn s dng in tr vi cc tr s khc nhau nh 1k, 220 n nh in p 1.1.4 S mch iu khin ( kt ni vi PIC16F877A)

GVHD: Ths. Nguyn Tun Linh

60

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hnh 3.4 S nguyn l kt ni PIC16F877A 1.2 S mch in 1.2.1 S mch in ngun v mch iu khin

Hnh 3.5 S mch in ca mch iu khin v mch ngun 1.2.2 S mch in ca mch ng lc

GVHD: Ths. Nguyn Tun Linh

61

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Hnh 3.6 S mch in mch ng lc 2. THIT K PHN MM 2.1 Lu thut ton 2.1.1 Lu thut ton tng qut chng trnh chnh
S r ta t

K a b ob n h i i , k t g h i o i tr b nv th n g i i a h h

C uh hG M n S

K t n timr hi o gt e

S N timr gt e 0

N tinn gt hn , N U R gt A T

Min a T h nc cc n tr hv l h h c i h g n n uk i i h n

Kt th c

Hh n

3.7 L u th to nc n tr hc n u t h g n h h

2.1.2 Lu thut ton chng trnh con ngt Timer0

GVHD: Ths. Nguyn Tun Linh

62

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

V idin o terru t p T er 0 im K ai b b h o in K tra _T N

K to T er hi im

K tra _T =1 N

K s th i tra in o K tra m k u im t h K tra cutr tinn n im c h

R eset g tr tim i er

X a cn t g

K th c t

H h n

3.8 L u th to nch gtrn co n ut n h n gt T er 0 im

2.1.3 Lu thut ton chng trnh con cu hnh GSM

GVHD: Ths. Nguyn Tun Linh

63

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Bt u

Gi Lnh AT

Gi lnh AT + CMGF = 1 (Chuyn sang dng Text )

Gi lnh AT &W (Lu cu hnh )

Xa B m BUFFER

Kt Thc Hnh 3.9 Lu thut ton chng trnh con cu hnh GSM

2.1.4 Lu thut ton chng trnh nhn d liu v thc hin lnh iu khin

GVHD: Ths. Nguyn Tun Linh

64

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

Bt u Khai Bo Bin Khi To Bin Nhn D Liu T PIC B Nh Buffer c V Lu Gi Cc Lnh CONF :MK :ST (Ti a 5 ST ) Kim Tra Lnh CONF v MK Lu ST Xa Tin Nhn (AT + CM GD Thc Hin Cc Lnh Tip Theo S S Kim Tra Lnh iu Khin v MK Thc Hin Lnh C Chuyn ng Ngt Timer 0 S

Xa Tin Nhn (AT + CMGD ) Kt Thc Hnh 3.10 Lu thut ton chng trnh nhn d liu v thc hin lnh iu khin

2.2 M ngun chng trnh iu khin

GVHD: Ths. Nguyn Tun Linh

65

an h thng nhung

Thit k mach iu khin thit bi thng qua in thoai

TAI LIU THAM KHAO [1] an in khin t xa bng tin nhn SMS tac gia Trn Vn Cu va Vo Vn Tai [2] Gii thiu M590 Neoway GSM GPRS Module http://vn-et.com

[ 3] Tai liu Vi iu Khin PIC16F877A tac gia Nguyn Vn Tinh. [ 4] 16F87xA Data sheet [5] Mt s trang web tham kho khc: http://4tech.com.vn http://www.dientuvietnam.net http://www.picvietnam.com http://www.scribd.com www.microchip.com

GVHD: Ths. Nguyn Tun Linh

66

You might also like