ĐIỀU KHIỂN TỪ XA ĐA KÊNH BẰNG LED HỒNG NGOẠI

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 32

TEMP=TEMP-1 CMD=CH1_CMD CNT1=CNT1-1 CNT1=0 Y LOGIC 1 Y RETLW READ ADDRESS SEND 1 1CNT1=CNT1-1 LOGIC CMD TMR<20ADDRESS MAIN 0 Tn hiu

CNT2=0 0 LOGIC1Khuch i thu DO_CH1 LOGIC Y CNT2=CNT2-1k Bo TEMP=5 coThit b pht TEMP=6 iu khin thut CNT1=32 n DO_CH1 CMD N0 SENDRC5 ch CLR RETLWiu iu ch IR=0 ADDR CMD CNT1=32 SEND TMR>255 Gii CH1 RELEASE ? truyn ng DELAY 1.252ms CH1 RELEASE DELAY 9s IR=1 GET RC5 Tn hiu RLF CMD9s C=IRIR=1 CMD SEND DEBOUNCE DELAY ERROR? Khuch i TRNH RLF CHNG RLFCNT2=6 10 17sb thu LOGIC sng mang CH1CMDthit ADDR,F DELAY CMD,F CLRIR=0 TMR N IR 0 N TOG_BIT 17si pht N CMD DELAY Khuch N RLF 1 1 MAIN Chp hnh Y CN Y Y 1 LOGIC READ CMD1 RETURN 0 N RETLW Y LOGIC 1 CMD CORRECT? ERROR IR LOGIC 0 Y DELAY_OFF RETLW Y IR DELAY 1252 TOGGLE,7=IR
IR

Nm hc 2011-2012

K S CHT LNG CAO VIT PHP LP VIT PHP 08 VIN THNG

1 READ 0

ti: IU KHIN T XA A KNH BNG LED HNG NGOI Ging vin hng dn: THY H TRUNG M Nhm thc hin Nguyn Tn Pht Nguyn Hng Phc MSSV: 40801521 40801594

Gv hng dn: TS. H Trung M

Trang 1

Nguyn Tn Pht Nguyn Hng Phc

Thnh ph H Ch Minh, Thng 7/2012


Phn 1 Gii thiu ti. -------------I. Dn nhp: iu khin t xa l vic iu khin mt m hnh mt khong cch no m con ngi khng nht thit trc tip n ni t h thng. Khong cch tu thuc vo tng h thng c mc phc tp khc nhau, chng hn nh iu khin t xa mt phi thuyn ta cn phi c h thng pht v thu mnh, ngc la, iu khin mt tr chi in t t xa ta ch cn mt h thng pht v thu y hn Nhng tng c iu khin c th trn khng gian, di y bin su hay mt vng xa xi ho lnh no trn mt i cu . Th gii cng pht trin th lnh vc iu khin cn phi c m rng hn. Vic ng dng iu khin t xa vo thng tin lin lc mang li nhiu thun li cho xa hi loi ngi, thng tin c cp nht hn nh s chnh xc v nhanh chng ca qu trnh iu khin t xa trong o lng t xa. Ngoi ra iu khin t xa cn c ng dng trong k thut o lng. Trc y, mun o phng x ca l ht nhn th ht sc kh khn v phc tp nhng gi y con ngi c th mt ni ht sc an ton no cng c th o c phng x ca l ht nhn nh vo k thut iu khin t xa. Nh vy, h thng iu khin t xa hn ch c mc phc tp ca cng vic v m bo an tan cho con ngi. Trong sinh hat hng ngy ca con ngi nh nhng tr chi gii tr (robot, xe iu khin t xa ) cho n nhng ng dng gn gi vi con ngi cng c ci tin cho ph hp vi vic s dng v t mc tin li nht. iu khin t xa thm nhp vo vn ny do cho ra nhng loi tivi iu khin t xa, u video, VCD, CD, n qut bn tt c u c iu khin t xa. Xut pht t nhng tng trn nn em chn ti iu khin t xa bng tia hng ngoi, nhng v thi gian qu hn hp , trnh k thut cng nh vn ti chnh cn nhiu hn ch nn em ch thit k v thi cng mch iu khin t xa qut bng tia hng ngoi. Hng ngoi l s bc x nng lng vi tn s thp hn tn s m mt ta nhn thy . V vy chng ta khng th nhn thy n c. Tuy nhin nh chng ta u bit mc d khng nhn thy tn s m thanh nhng chng ta bit rng n tn ti v tai ta c th nghe thy chng.

Bo co n k thut

Nm hc 2011-2012

Ta khng th nhn thy hay nghe thy hng ngoi nhng ta c th cm thy n t s cm ng nhit trn da. Khi bn a tay ti gn ngn la hoc nhng vt nng , bn s cm thy nhit d bn khng nhn thy. Bn nhn thy ngn la l bi v n pht ra nhiu loi bc x mt ta c th nhn thy, ng thi n cng pht ra hng ngoi m ta ch c th cm nhn qua da. II. Gii thiu h thng iu khin t xa: H thng iu khin t xa l mt h thng cho php ta iu khin cc thit b t mt khong cch xa. V d h thng iu khin bng v tuyn, h thng iu khin t xa bng tia hng ngoi, h thng iu khin t xa bng cp quang dy dn. S kt cu ca h thng iu khin t xa bao gm: -Thit b pht: bin i lnh iu khin thnh tin tc tn hiu v pht i. -ng truyn: a tn hiu iu khin t thit b pht n thit b thu. Thit b thu: nhn tn hiu iu khin t ng truyn, qua qu trnh bin i, bin dch ti hin li lnh iu khin ri a n cc thit b thi hnh.

Nhim v c bn ca h thng iu khin t xa: - Pht tn hiu iu khin. - Sn sinh ra xung hoc hnh thnh cc xung cn thit. - T hp xung thnh m. - Pht cc t hp m n im chp hnh.

Gv hng dn: TS. H Trung M

Trang 3

Nguyn Tn Pht Nguyn Hng Phc

- im chp hnh (thit b thu) sau khi nhn c m phi bin i cc m nhn c thnh cc lnh iu khin v a n cc thit b, ng thi kim tra s chnh xc ca m mi nhn.
1) Mt s vn c bn trong h thng iu khin t xa:

Do h thng i khin t xa c nhng ng truyn dn xa nn ta cn phi nghin cu v kt cu h thng m bo tn hiu c truyn i chnh xc v nhanh chng theo nhng yu cu sau: a. Kt cu tin tc: Trong h thng iu khin t xa tin cy truyn dn tin tc c quan h rt nhiu n kt cu tin tc. Ni dung v kt cu tin tc c hai phn: v lng v v cht. V lng c cch bin lng iu khin v lng iu khin thnh tng loi xung g cho ph hp, v nhng xung cn p dng nhng phng php no hp thnh tin tc, c dung lng ln nht v tc truyn dn nhanh nht . b. V kt cu h thng: m bo cc yu cu v kt cu tin tc, h thng iu khin t xa c cc yu cu sau: - Tc lm vic nhanh. - Thit b phi an ton, tin cy. - Kt cu phi n gin. H thng iu khin t xa c hiu qu cao l h thng t tc iu khin cc i ng thi m bo chnh xc trong phm vi cho php.
2) Cc phng php m ha trong iu khin t xa:

Trong h thng truyn thng tin ri rc hoc truyn thng tin lin tc nhng c ri rc ha tin tc thng phi c bin i thng qua mt php bin i thnh s (thng l s nh phn) ri m ha v c pht i t my pht. my thu, tn hiu phi thng qua cc php bin i ngc li vi cc php bin i trn: gii m, lin tc ha S m ha tn hiu iu khin nhm tng tnh hu hiu v tin cy ca h thng iu khin t xa, ngha l tng tc truyn v kh nng chng nhiu. Trong iu khin t xa ta thng dng m nh phn tng ng vi h, gm c hai phn t [0] v [1]. Do yu cu v chnh xc cao trong cc tn hiu iu khin c truyn i chng nhiu ta dng loi m pht hin v sa sai. M pht hin v sa sai thuc loi m ng u bao gm cc loi m: m pht hin sai, m sa sai, m pht hin v sa sai. Dng sai nhm cu cc m c truyn i ty thuc tnh cht ca knh truyn, chng c th phn thnh 2 lai: - Sai c lp: Trong qu trnh truyn, do nhiu tc ng, mt hoc nhiu k hiu trong cc t hp m c th b sai nhm, nhng nhng sai nhm khng lin quan nhau.

Bo co n k thut

Nm hc 2011-2012

- Sai tng quan: c gy ra bi nhiu nhiu tng quan, chng hay xy ra trong tng chm, cm k hiu k cn nhau . S la chn ca cu trc m chng nhiu phi da trn tnh cht phn b xc sut sai nhm trong knh truyn. Hin nay l thuyt m ha pht trin rt nhanh, nhiu loi m pht hin v sa sai c nghin cu nh: m Hamming, m chu k, m nhiu cp.
3) S khi ca mt h thng iu khin t xa: S khi my pht

S khi my thu

Gv hng dn: TS. H Trung M

Trang 5

Nguyn Tn Pht Nguyn Hng Phc

Phn 2 S lc m RC5 -------------M RC5 c l c s dng ph bit nht hin nay, bi v n d s dng v ng dng sn c trn nhiu loi chip. I. Tnh cht: 2 start bit lun l logic 1 1 bit chuyn i (toggle bit) nhng khng s dng trong project ny v lun c logic 0 5 bit a ch v 6 bit di lnh M biphase (hay m Manchester) Tn s sng mang 36(38)kHz 25-50% duty cylce Chu k bit khong 1.67ms c pht trin bi hng Philips Giao thc s dng iu ch Biphase (hoc m Manchester) ca mt tn s sng mang IR 36kHz. Tt c cc bit c chiu di nh nhau khong 1.67ms nh hnh v.

Bo co n k thut

Nm hc 2011-2012

Trong Figure 2, hai xung u tin l xung bt u (start pulse), v c hai

u mc logic 1. (St1 v St2). Bit th 3 l bit chuyn i. Bit ny c o ngc mi khi mt phm c th ra v nhn tr li. Nhng trong porject ny khng s dng bit ny v lun bng 0 (Ctrl). 5 bit tip theo i din cho a ch thit b hng ngoi, c gi vi bit MSB u tin (S4-S0). 6 bit tip theo l lnh v cng c gi vi MSB u tin. (C5-C0) Ch rng khung RC5 tng cng gm 14 bit v th chu k khung l 23ms.

II. Gii m RC5 Khi chng trnh gii m RC5 c gi, u tin n ch mt start bit. Chiu di ca phn thp ca bit bt u c o. Nu xung thp ca bit bt u u tin l di hn 1.020ms hoc thp hn 800us th chng trnh gii m xc nh li hoc khng c lnh no c nhn. Vic o start bit c dng tnh hai khong thi gian tham chiu, REF1 v REF2, ly mu dng d liu. Chng trnh dng cnh ca gia mi bit ng b ha thi gian. chiu di bit, sau cnh ny, d liu c ly mu. y l gia na u ca bit tip theo (hnh 4). Trng thi mi bit c lu li v chng trnh i cnh gia.

Gv hng dn: TS. H Trung M

Trang 7

Nguyn Tn Pht Nguyn Hng Phc

Phn 3 Tng quan v Vi iu khin PIC -------------I. PIC l g ?? PIC l vit tt ca Programable Intelligent Computer, c th tm dch l my tnh thng minh kh trnh do hng Genenral Instrument t tn cho vi iu khin u tin ca h: PIC1650 c thit k dng lm cc thit b ngoi vi cho vi iu khin CP1600. Vi iu khin ny sau c nghin cu pht trin thm v t hnh thnh nn dng vi iu khin PIC ngy nay. II. Ti sao l pic m khng l cc h vi iu khin khc? Hin nay trn th trng c rt nhiu h vi iu khin nh 8051, Motorola 68HC, AVR, ARM,... Ngoi h 8051 c hng dn mt cch cn bn mi trng i hc, bn thn ngi vit chn h vi iu khin PIC m rng vn kin thc v pht trin cc ng dng trn cng c ny v cc nguyn nhn sau: H vi iu khin ny c th tm mua d dng ti th trng Vit Nam. Gi thnh khng qu t. C y cc tnh nng ca mt vi iu khin khi hot ng c lp. L mt s b sung rt tt v kin t hc cng nh v ng dng cho h vi iu khin mang tnh truyn thng: h vi iu khin 8051. S lng ngi s dng h vi iu khin PIC. Hin nay ti Vit Nam cng nh trn th gii, h vi iu khin ny c s dng kh rng ri. iu ny to nhiu thun li trong qu trnh tm hiu v pht trin cc ng dng nh: s lng ti li u, s lng cc ng dng m c pht trin thnh cng, d dng trao i, hc tp, d dng tm c s ch dn khi gp kh khn, S h tr ca nh sn xut v trnh bin dch, cc cng c lp trnh, np chng trnh t n gin n phc tp, Cc tnh nng a dng ca vi iu khin PIC, v cc tnh nng ny khng ngng c pht trin. III. Kin trc PIC Cu trc phn cng ca mt vi iu khin c thit k theo hai dng kin trc: kin trc Von Neuman v kin trc Havard. T chc phn cng ca PIC c thit k theo kin trc Havard. im khc bit gia kin trc Havard v kin trc Von-Neuman l cu trc b nh d liu v b nh chng trnh. i vi kin trc Von-Neuman, b nh d liu v b nh chng trnh nm chung trong mt b nh, do ta c th t chc, cn i mt ca ch linh hot b nh chng trnh v b nh d liu. Tuy nhin iu ny ch c ngha khi tc x l ca CPU phi rt cao, v vi cu trc , trong cng mt thi im CPU ch c th tng tc vi b nh d liu hoc b nh chng trnh. Nh vy c th ni kin trc Von-Neuman khng thch hp vi cu trc ca mt vi iu khin. i vi kin trc Havard, b nh d liu v b nh chng trnh tch ra thnh hai b nh ring bit. Do trong cng mt thi im CPU c th tng

Bo co n k thut

Nm hc 2011-2012

tc vi c hai b nh, nh vy tc x l ca vi iu khin c ci thin ng k. Mt im cn ch na l tp lnh trong kin trc Havard c th c ti u ty theo yu cu kin trc ca vi iu khin m khng ph thuc vo cu trc d liu. V d, i vi vi iu khin dng 16F, di lnh lun l 14 bit (trong khi d liu c t chc thnh tng byte), cn i vi kin trc Von-Neuman, di lnh lun l bi s ca 1 byte (do d liu c t chc thnh tng byte). c im ny c minh ha c th trong hnh 1.1. IV. RISC v CISC Nh trnh by trn, kin trc Havard l khi nim mi hn so vi kin trc Von-Neuman. Khi nim ny c hnh thnh nhm ci tin tc thc thi ca mt vi iu khin. Qua vic tch ri b nh chng trnh v b nh d liu, bus chng trnh v bus d liu, CPU c th cng mt lc truy xut c b nh chng trnh v b nh d liu, gip tng tc x l ca vi iu khin ln gp i. ng thi cu trc lnh khng cn ph thuc vo cu trc d liu na m c th linh ng iu chnh ty theo kh nng v tc ca tng vi iu khin. V tip tc ci tin tc thc thi lnh, tp lnh c a h vi iu khin PIC c thit k sao cho chiu di m lnh lun c nh (v d i vi h 16Fxxxx chiu di m lnh lun l 14 bit) v cho php thc thi lnh trong mt chu k ca xung clock ( ngoi tr mt s trng hp c bit nh lnh nha y, lnh gi chng trnh con cn hai chu k xung ng h). iu ny c ngha tp lnh ca vi iu khin thuc cu trc Havard s t lnh hn, ngn hn, n gin hn p ng yu cu m ha lnh bng mt s lng bit nht nh. Vi iu khin c t chc theo kin trc Havard cn c gi l vi iu khin RISC (Reduced Instruction Set Computer) hay vi i u khin c tp lnh rt gn. Vi iu khin c thit k theo kin trc Von-Neuman co n c gi l vi i u khin CISC (Complex Instruction Set Computer) hay vi iu khin c tp lnh phc tp v m lnh ca n khng phi l mt s c nh m lun l bi s ca 8 bit (1 byte). V. PIPELINING y chnh l c ch x l lnh ca cc vi iu khin PIC. Mt chu k lnh ca vi iu khin s bao gm 4 xung clock. V d ta s dng oscillator c tn s 4 MHZ, th xung lnh s c tn s 1 MHz (chu k lnh s l 1 us). Gi s ta c mt on chng trnh nh sau: 1. MOVLW 55h 2. MOVWF PORTB 3. CALL SUB_1
Gv hng dn: TS. H Trung M Trang 9 Nguyn Tn Pht Nguyn Hng Phc

4. BSF PORTA,BIT3 5. instruction @ address SUB_1 y ta ch bn n qui trnh vi iu khin x l on chng trnh trn thng qua tng chu k lnh. Qu trnh trn s c thc thi nh sau: TCY0: c lnh 1 TCY1: thc thi lnh 1, c lnh 2 TCY2: thc thi lnh 2, c lnh 3 TCY3: thc thi lnh 3, c lnh 4. TCY4: v lnh 4 khng phi l lnh s c t hc thi theo qui trnh thc thi ca chng trnh (lnh tip theo c thc thi phi l lnh u tin ti label SUB_1) nn chu k thc thi lnh ny ch c dng c lnh u tin ti label SUB_1. Nh vy c th xem lnh 3 cn 2 chu k xung clock thc thi. TCY5: thc thi lnh u tin ca SUB_1 v c lnh tip theo ca SUB_1. Qu trnh ny c thc hin tng t cho cc lnh tip theo ca chng trnh. Thng thng, thc thi mt lnh, ta cn mt chu k lnh gi lnh , v mt chu k xung clock na gii m v thc thi lnh. Vi c ch pipelining c trnh by trn, mi lnh xem nh ch c thc thi trong mt chu k lnh. i vi cc lnh m qu trnh thc thi n lm thay i gi tr thanh ghi PC (Program Counter) cn hai chu k le nh thc thi v phi thc hin vic gi lnh a ch thanh ghi PC ch ti. Sau khi xc nh ng v tr lnh trong thanh ghi PC, mi lnh ch cn mt chu k lnh thc thi xong. VI. Cc dng PIC v cch la chn vi iu khin PIC Cc k hiu ca vi iu khin PIC: PIC12xxxx: di lnh 12 bit PIC16xxxx: di lnh 14 bit PIC18xxxx: di lnh 16 bit C: PIC c b nh EPROM (ch c 16C84 l EEPROM) F: PIC c b nh flash LF: PIC c b nh flash hot ng in p thp LV: tng t nh LF, y l k hiu c Bn cnh mt s vi iu khin c k hiu xxFxxx l EEPROM, nu c thm ch A cui l flash (v d PIC16F877 l EEPROM, cn PIC16F877A l flash). Ngoi ra cn c thm mt dng vi iu khin PIC mi l dsPIC. Vit Nam ph bin nht l cc h vi iu khin PIC do hng Microchip sn xut. Cch la chn mt vi iu khin PIC ph hp: Trc ht cn ch n s chn ca vi iu khin cn thit cho ng dng. C nhiu vi iu khin PIC vi s lng chn khc nhau, thm ch c vi iu khin ch c 8 chn,ngoi ra cn c cc vi iu khin 28, 40, 44, chn.

Bo co n k thut

Nm hc 2011-2012

Cn chn vi iu khin PIC c b nh flash c th np xa chng trnh c nhiu ln hn. Tip theo cn ch n cc khi chc nng c tch hp sn trong vi iu khin, cc chun giao tip bn trong. Sau cng cn ch n b nh chng trnh m vi iu khin cho php. Ngoi ra mi thng tin v cch la chn vi iu khin PI C c th c tm thy trong cun sch Select PIC guide do nh sn xut Microchip cung cp. VII. Ngn ng lp trnh cho PIC Ngn ng lp trnh cho PIC rt a dng. Ngn ng lp trnh cp thp c MPLAB (c cung cp min ph bi nh sn xut Microchip), cc ngn ng lp trnh cp cao hn bao gm C, Basic, Pascal, Ngoi ra cn c mt s ngn ng lp trnh c pht trin dnh ring cho PIC nh PICBasic, MikroBasic,

Gv hng dn: TS. H Trung M

Trang 11

Nguyn Tn Pht Nguyn Hng Phc

Phn 4 Gii thiu vi iu khin PIC16F887 v 12F629 -------------I. Gii thiu Chng ny gii thiu c bn v vi iu khin PIC16F887 ca hng Microchip v hot ng ca n bao gm ni dung v cch cu hnh xung clock, hot ng khi giao tip UART, khi PWM, ngt ngoi trn chn RB, cu to v hot ng ca cc b timer, v cch np chng trnh cho PIC16F887. II. Ni dung 1. Mt vi chi tit chnh ca vi iu khin PIC16F887 PIC16F887 l vi iu khin 8-bit c kin trc Harvard ca Microchip c nhng thng s k thut nh sau: - Clock hot ng ti a 20MHz. - Chu k my bng bn ln chu k xung clock. - Chip c nhiu dng v khc nhau, loi chip c s dng trong ti l loi 40 chn PDIP. - in p hot ng rng t 2V n 5.5V. - B nh d liu v b nh chng trnh tch bit nhau, bus a ch cng nh bus d liu l ring bit. B nh chng trnh Flash 8K nh cho php ghi 100,000 ln. Mi nh c 14 bit. B nh d liu RAM c 512 Byte gm cc thanh ghi chc nng c bit v cc thanh ghi a mc ch. Ngoi ra PIC16F887 c tch hp 256 Byte EEPROM cho php ghi n 1,000,000 ln. - 35 chn I/O ca 5 port iu khin l PortA, PortB, PortC, PortD, PortE. - B chuyn i ADC 10-bit vi 14 knh. - 3 b timer. B timer0 8-bit, b timer1 16-bit v b timer2 8-bit. - Module Capture, Compare v PWM - Module Enhanced USART h tr RS-485, RS-232. 2. B dao ng ca PIC16F887 Clock h thng ca PIC16F887 c th c chn t hai ngun dao ng ni (Internal Oscillator) hoc dao ng ngoi (External Oscillator) nh b chn knh MUX. B MUX c iu khin bi cc bit FOSC<2:0> (bit 2, bit 1, bit 0 ca thanh ghi CONFIG1 16-bit nh v ti a ch 2007H v 2008H trong b nh chng trnh) v bit SCS<0> (bit 0 ca thanh ghi OSCCON). Nu SCS = 1, clock h thng c chn t INTOSC. Nu SCS = 0, clock h thng c chn t b dao ng ngoi. Cc bit FOSC<2:0> c s dng cu hnh b dao ng ngoi l LP, XT, HS, RC, RCIO hay EC. B dao ng ni gm 2 b dao ng HFINTOSC 8MHz v LFINTOSC 31kHz. Clock 8MHz ca b HFINTOSC c chia thnh cc tn s 8MHz, 4MHz, 2MHz, 1MHz, 500kHz, 250kHz, 125kHz nh b chia tn s postscaler. Cc bit IRCF<2:0> iu khin b MUX chn knh cho INTOSC.

Bo co n k thut

Nm hc 2011-2012

B dao ng ngoi (c tch hp bn trong PIC) cn c kt ni vi cc b lc ti cc chn OSC1, OSC2. Trong ti, ti s dng thch anh 12MHz v 2 t 33pF kt ni nh hnh 2.3. B dao ng ngoi c hot ng ch HS. Tn hiu dao ng c qua b m Trigger theo sn xung v to thnh xung clock HS 12MHz cung cp cho clock h thng. 3. Cc Port I/O PIC16F887 tt c 35 chn I/O mc ch thng thng (GPIO: General Purpose Input Ouput) c th c s dng. Ty theo nhng thit b ngoi vi c chn m mt vi chn c th khng c s dng chc nng GPIO. Thng thng, khi mt thit b ngoi vi c chn, nhng chn lin quan ca thit b ngoi vi c th khng c s dng chc nng GPIO. 35 chn GPIO c chia cho 5 Port: PortA gm 8 chn, PortB gm 8 chn, PortC gm 8 chn, PortD gm 8 chn v PortE gm 3 chn. Mi port c iu khin bi 2 thanh ghi 8-bit, thanh ghi Port v thanh ghi Tris. Thanh ghi Tris c s dng iu khin port l nhp hay xut. Mi bit ca Tris s iu khin mi chn ca port , nu gi tr ca bit l 1 th chn lin quan l nhp, ngc li nu gi tr ca bit l 0 th chn lin quan l xut. Thanh ghi Port c s dng cha gi tr ca port lin quan. Mi bit ca thanh ghi Port s cha gi tr ca chn lin quan. 4. Ngt ngoi trn chn RB0 Ngt ngoi trn chn RB0 c kch khi theo sn. Sn ln nu nh bit INTEDG=1 (bit 6 ca thanh ghi OPTION_REG), sn xung nu INTEDG=0. Khi mt sn thch hp xut hin trn chn RB0, c INTF c bt ln 1. Ngt ny c th c cho php nu bit INTE=1, khng cho php nu INTE=0. C INTF cn c xa bng phn mm trong trnh phc v ngt trc khi cho php ngt tr li. 5. Cu to v hot ng ca b timer B timer1 l b m ln 16-bit c truy xut gin tip thng qua cp thanh ghi TMR1H, TMR1L. c hoc ghi cc thanh ghi ny s cp nht trc tip gi tr cho b timer. Khi c s dng vi ngun clock ni, b timer 1 s c vai tr l b nh thi. Khi c s dng vi ngun clock ngoi, n s c vai tr l nh thi hoc b m. S dng bit TMR1CS chn ngun clock. Cc bit T1CKPS<1:0> nh gi tr cho b chia tn s Prescaler. Khi b TMR1 trn (t FFFFh n 0000h) c ngt TMR1IF s c thit lp ln 1. Nu lc ny c TMR1IE =1, c PEIE=1 v GIE=1 th ngt timer1 s xy ra. C TMR1IF cn c xa trong trnh phc v ngt timer1. Mt vi chi tit chnh ca vi iu khin PIC12F629

Gv hng dn: TS. H Trung M

Trang 13

Nguyn Tn Pht Nguyn Hng Phc

PIC12F629 l vi iu khin 8-bit c kin trc Harvard ca Microchip c nhng thng s k thut nh sau: Tn s thch anh trong project l 4MHz cho 2 b pht v thu in p hot ng rng t 2V n 5.5V. 6 chn I/O ca GPIO iu khin l GP0, GP1, GP2, GP3, GP04, GP5. 2 b timer. B timer0 8-bit, b timer1 16-bit B nh Flash 1k, b nh SRAM 64byte, EEPROM 128byte

Cc cu trc IO, Interrupt, Timer u s dng nguyn l nh ca 16F887 Chn PIC12F629 thc hin mch th v n n gin, c 8pin thit k nh gn, nguyn tc hot ng khng khc nhiu so vi 16F887 (40 chn)

Bo co n k thut

Nm hc 2011-2012

Phn 5: Thit k v thi cng -------------I. Mach pht: 1. S nguyn l

2. Gii thch Input: Chn GP4, 6, 7 ca PIC c ni vi in tr 10K ko ln VDD v button ko xng VSS. Bnh thng, p vo m chn mc cao. Khi n Button, in p ny chuyn xung mc thp, to ngt IOC gip h thng nhn bin s thay i trng thi cc chn Output: Chn GP5 ca PIC ni vi cc B ca BC547 ng vai tr nh mt cng tc in ngn mch IR pht hng ngoi. Tn hiu pht c iu khin bng cch thay i in p chn GP5 theo chun RC5 tn s 38KHz, duty cycle 35%

Gv hng dn: TS. H Trung M

Trang 15

Nguyn Tn Pht Nguyn Hng Phc

3. Mch Layout

4. Code Assembly
;-----------------------------------------------------; PROJECT : 3 CHANNEL TX IR REMOTE ; CRYSTAL 4 MHz ; MPLAB : 7.11 , Assembly ; RC5 FORMAT @38KHz , 35% DUTY CYCLE ; ADDRESS = 0X0B 0000 1011 ; CH1 = 0X01 ; CH2 = 0X02 ; CH3 = 0X03 ; NOT USE TOGGLE ALWAY = 0 ;-----------------------------------------------------list P=12F629 #include <P12F629.INC> __config _WDT_OFF & _XT_OSC & _CP_ON & _CPD_ON & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON #DEFINE CH1 GPIO,0 ; CONNECT WITH TX SWITCH CHANNEL 1 #DEFINE CH2 GPIO,1 ; CONNECT WITH TX SWITCH CHANNEL 2 #DEFINE CH3 GPIO,3 ; CONNECT WITH TX SWITCH CHANNEL 3 #DEFINE IR GPIO,2 ; CONNECT WITH IR LED WITH TRANSISTOR DRIVES #DEFINE TOG_BIT TOGGLE,0 ; TOGLE BIT NOT USE FOR THIS PROJECT #DEFINE CH1_CMD 0X01 ; CHANNEL 1 COMMAND #DEFINE CH2_CMD 0X02 ; CHANNEL 2 COMMAND

Bo co n k thut #DEFINE CH3_CMD CNT1 EQU CNT2 EQU CNT3 EQU CNT4 EQU TOGGLE CMD EQU ORG 20H 21H 22H 23H EQU 25H 000 0X03 ; CHANNEL 3 COMMAND

Nm hc 2011-2012

24H ; IR COMMAND BUFFER

BCF IR MOVLW0X07 MOVWF CMCON ; MAKE ALL GPIO TO DIGITAL I/O BSF STATUS,RP0 BCF OPTION_REG,7 ; ENABLE WEAK PULL-UP BCF WPU,2 ; DISABLE WEAK PULL-UP FOR GPIO2 MOVLWB'00001011' ; GPIO<0,1,3> = INPUT , GPIO 2 = OUTPUT MOVWF TRISIO BSF IOCB,IOCB0 BSF IOCB,IOCB1 BSF IOCB,IOCB3 BSF INTCON,GPIE BCF STATUS,RP0 BCF INTCON,GIE BCF TOG_BIT ;-----------------------------------; MAIN LOOP MAIN: SLEEP ; GOTO SLEEP MODE BTFSS CH1 GOTO DO_CH1 BTFSS CH2 GOTO DO_CH2 BTFSS CH3 GOTO DO_CH3 GOTO MAIN ;-----------------------------------DO_CH1: CALL DEBOUNCE BTFSC CH1 GOTO MAIN MOVLWCH1_CMD ; LOAD COMMANE FOR CHANNEL 1 MOVWF CMD CALL SEND_RC5 BTFSS CH1 GOTO $-1 ; WAIT FOR SWITCH RELEASED ; DELAY AFTER SWITCH RELEASED

CALL DEBOUNCE GOTO MAIN

;-----------------------------------DO_CH2: CALL DEBOUNCE BTFSC CH2 Gv hng dn: TS. H Trung M Trang 17 Nguyn Tn Pht Nguyn Hng Phc

GOTO MAIN MOVLWCH2_CMD ; LOAD COMMANE FOR CHANNEL 1 MOVWF CMD CALL SEND_RC5 ; BTFSS CH2 GOTO $-1 ; WAIT FOR SWITCH RELEASED ; CALL DEBOUNCE ; DELAY AFTER SWITCH RELEASED GOTO MAIN ; ;-----------------------------------DO_CH3: CALL DEBOUNCE BTFSC CH3 GOTO MAIN MOVLWCH3_CMD ; LOAD COMMANE FOR CHANNEL 1 MOVWF CMD CALL SEND_RC5 ; BTFSS CH3 GOTO $-1 ; WAIT FOR SWITCH RELEASED ; CALL DEBOUNCE ; DELAY AFTER SWITCH RELEASED GOTO MAIN ; ;====================================== ; SEND LOGIC 0 ;====================================== LOGIC0: MOVLW.32 ;1 MOVWF CNT1 ;1 ; LOG0_1: BSF IR ; 1 MAKE IR HIGH 35% Duty cycle = 9 uS GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 ; ;=================================== BCF IR ; 1 MAKE IR LOW 17 uS GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 NOP ;1 ; DECFSZ CNT1,F ; 1/2 GOTO LOG0_1 ; 2 26 uS ; CALL DELAY_OFF RETURN ;2 ; ;====================================== ; SEND LOGIC 1 ;======================================

Bo co n k thut

Nm hc 2011-2012

LOGIC1: CALL DELAY_OFF ; DELAY 899 uS MOVLW.32 ;1 MOVWF CNT1 ;1 ; LOG1_1: BSF IR ; 1 MAKE IR HIGH 35% Duty cycle = 9 uS GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 ; ;=================================== BCF IR ; 1 MAKE IR LOW 17 uS GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 GOTO $+1 NOP ;1 ; DECFSZ CNT1,F ; 1/2 GOTO LOG1_1 ;2 ; RETURN ;2 ; ;====================================== ; DELAY FOR NO CARRAIR ; DELAY ABOUT 835 uS ;====================================== DELAY_OFF: MOVLW5 ;1 MOVWF CNT3 ;1 MOVLW.54 ;1 MOVWF CNT4 ;1 DECFSZ CNT4,F ; 1/2 GOTO $-1 ;2 DECFSZ CNT3,F ; 1/2 GOTO $-5 ;2 RETURN ;2 ;====================================== ; SEND RC5 TO REMOTE ; INPUT : CMD (6 BIT IR COMMAND) ;====================================== SEND_RC5: ; SEND 2 START BIT CALL LOGIC1 CALL LOGIC1 ; SEND TOGGLE BIT BTFSS TOG_BIT GOTO $+3 CALL LOGIC1 GOTO $+2 CALL LOGIC0

Gv hng dn: TS. H Trung M

Trang 19

Nguyn Tn Pht Nguyn Hng Phc

; SEND ADDRESS 5 BIT FIX AT 01011 (0X0B) CALL LOGIC0; 0 MSB FIRST BIT 4 CALL LOGIC1; 1 CALL LOGIC0; 0 CALL LOGIC1; 1 CALL LOGIC1; 1 LSB BIT 0 ; ; SEND COMMAND 6 BIT(00HH LLLL) MSB FIRST BCF STATUS,C RLF CMD,F ; AFTER FIRST ROTAGE 0HHL LLL0 RLF CMD,F ; AFTER SECOND ROTAGE HHLL LL00 ; MOVLW6 MOVWF CNT2 ; RLF CMD,F ; SEND MSB FIRST BTFSS STATUS,C GOTO $+3 CALL LOGIC1 GOTO $+2 ; CALL LOGIC0 DECFSZ CNT2,F GOTO $-7 RETLW 0 ; ;====================================== ; DEBOUNCE SWITCH ; DELAY 15 mS ;====================================== DEBOUNCE: MOVLW.1 ;1 MOVWF CNT1 ;1 DEL_1: MOVLW.20 MOVWF CNT2 ;1 DEL_2: CLRF CNT3 ;1 DEL_3: DECFSZ CNT3,F ; 1/2 GOTO DEL_3 ;2 DECFSZ CNT2,F ; 1/2 GOTO DEL_2 ;2 DECFSZ CNT1,F ; 1/2 GOTO DEL_1 ;2 RETLW 0 ;2 END

Bo co n k thut

Nm hc 2011-2012

5. S gii thut

Gv hng dn: TS. H Trung M

Trang 21

Nguyn Tn Pht Nguyn Hng Phc

II. Mch thu: 1. S nguyn l

2. Gii thch Input: Chn GP4 ca PIC c ni vi chn 1 ca SM0038 nhn tn hiu hng ngoi t IR pht. Bnh thng tn hiu ny lun mc cao, khi nhn c sng hng ngoi n s thay i xung mc thp Output: Chn GP 5, 6, 7 ni vi BC547 iu khin bt tc cc Led khi c tn hiu iu khin hp l 3. Mch Layout

Bo co n k thut

Nm hc 2011-2012

4. Code Assembly
;-------------------------; THIS IS RX ; PROJECT :3 channel remote control ; CRYSTAL 4 MHz ; RC5 FORMAT @38KHz , 35% duty cycle ; ADDRESS = 0X0B ; ch1 = 0X01 ; ch2 = 0X02 ; ch3 = 0X03 ; NOT USE TOGGLE ALWAY = 0 ;--------------------------

list P=12F629 #include <P12F629.INC> config _WDT_OFF & _XT_OSC & _CP_ON & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON

#DEFINE IR

GPIO,3 ; IR LED input with R10K pull-up to vcc

#DEFINE OUT1 GPIO,0 ; Drive output 1 #DEFINE OUT2 GPIO,1 ; Drive output 2 Gv hng dn: TS. H Trung M Trang 23 Nguyn Tn Pht Nguyn Hng Phc

#DEFINE OUT3 GPIO,2 ; Drive output 3 #DEFINE OUT1_M #DEFINE OUT2_M #DEFINE OUT3_M 0x01 0x02 0x04

#DEFINE TOG_BIT TOGGLE,0 #DEFINE ADDRS #DEFINE CH1_CMD #DEFINE CH2_CMD #DEFINE CH3_CMD 0X0B 0X01 0X02 0X03 ; 0000 1011 ; 0000 1110

CNT1 CNT2 CNT3 CNT4

EQU EQU EQU EQU

20H 21H 22H 23H 24H EQU 26H 27H 25H

TEMP EQU TOGGLE ADDR EQU CMD EQU

ORG

000

CALL

DEBOUNCE

MOVLW0X07 MOVWF BSF CMCON ; MAKE ALL GPIO TO DIGITAL I/O

STATUS,RP0

MOVLW0X01 MOVWF OPTION_REG

MOVLWB'00001000' MOVWF CLRF BCF BCF CLRF ; MAIN: CALL DELAY3500 IOCB STATUS,RP0 INTCON,GIE GPIO ; turn off all output TRISIO

Bo co n k thut

Nm hc 2011-2012

CALL

GET_RC5

BTFSC STATUS,C GOTO MAIN ; MOVF ADDR,W XORLW ADDRS BTFSS STATUS,Z GOTO MAIN ; MOVF CMD,W ANDLW 0X03 ADDWFPCL,F GOTO MAIN GOTO DO_CH1 GOTO DO_CH2 GOTO DO_CH3 ; COMMAND 0X00 NOT USE OR COMMAND ERROR ; MASK 2 LSB ; ADDRESS ERROR

DO_CH1: MOVLW

OUT1_M

GOTO CHANGE ; DO_CH2: MOVLWOUT2_M

GOTO CHANGE ; DO_CH3: CHANGE: MOVLWOUT3_M XORWF GPIO,F

GOTO MAIN

;====================================== ; READ RC5 Format ; OUTPUT : TOGGLE.7 = TOGGLE BIT ; ; ; ; ADDR = ADDRESS 5 BIT CDM = COMMAND 6 BIT C = 0 READ OK = 1 READ ERROR

;====================================== Gv hng dn: TS. H Trung M Trang 25 Nguyn Tn Pht Nguyn Hng Phc

GET_RC5:BTFSC

IR ; WAIT IR LOW ; clear timer 0

GOTO GET_RC5 CLRF NOP BCF NOP ; BTFSC INTCON,T0IF GOTO ERR1 ; BTFSS IR GOTO $-3 ; MOVF TMR0,W ;MOVLW MOVWF MOVLW0XFF SUBWF TEMP,W BTFSC STATUS,C GOTO ERR1 MOVLW0XC8 SUBWF TEMP,W BTFSS STATUS,C GOTO ERR1 ; BTFSC IR GOTO $-1 CALL ; BTFSS IR BCF TOGGLE,7 DELAY1252 0xC8 TEMP INTCON,T0IF TMR0

; CLR timer 0 flag

; FOR TEST

; 1020 mS = 255*4

; ERROR IF Time > 1020 uS ; 800 mS

; ERROR IF Time < 800 uS (C8h * TM0 Prescaler = 800 uS )

; Time validate 800uS-1020uS ; WAIT TO LOW (Syn BIT) ; DELAY 3/4 BIT LENGHT=1252 uS

BTFSC IR BSF ; BTFSS IR TOGGLE,7

Bo co n k thut

Nm hc 2011-2012

GOTO $+4 BTFSC IR GOTO $-1 GOTO READ ; BTFSS IR GOTO $-1

;====== READ ADDRESS 5 BIT =========== ; READ MSB FIRST ; READ: MOVLW5 MOVWF CLRF ; READ1:CALL DELAY1252 ADDR TEMP ; LOOP COUNTER

BTFSS IR BCF STATUS,C

BTFSC IR BSF RLF ; BTFSS IR GOTO $+4 BTFSC IR GOTO $-1 GOTO $+3 ; BTFSS IR GOTO $-1 ; DECFSZ GOTO READ1 ; ;====== READ COMMAND 6 BIT =========== Gv hng dn: TS. H Trung M Trang 27 Nguyn Tn Pht Nguyn Hng Phc TEMP,F ; WAIT LOW STATUS,C ADDR,F; SHIFT LEFT ADDRESS

; READ MSB FIRST ; MOVLW6 MOVWF CLRF ; CMD1: CALL DELAY1252 CMD TEMP ; LOOP COUNTER

BTFSS IR BCF STATUS,C

BTFSC IR BSF RLF ; BTFSS IR GOTO $+4 BTFSC IR GOTO $-1 GOTO $+3 ; BTFSS IR GOTO $-1 ; DECFSZ GOTO CMD1 ; MOVLW0X3F ANDWF CMD,F MOVLW0X1F ANDWF ADDR,F BCF STATUS,C ; C=0 NO ERROR ; 0001 1111 ; 0011 1111 TEMP,F STATUS,C CMD,F ; SHIFT LEFT COMMAND

RETURN ; ERR1: BSF STATUS,C ; C=1 HAVE ERROR

RETURN

Bo co n k thut

Nm hc 2011-2012

;====================================== ; DEBOUNCE SWITCH ; DELAY 15 mS ;====================================== DEBOUNCE: MOVLW.1 MOVWF DEL_1: MOVLW.20 MOVWF DEL_2: CLRF CNT3 CNT3,F ;2 CNT2,F ;2 CNT1,F ;2 ;2 ; 1/2 ; 1/2 CNT2 ;1 ; 1/2 ;1 CNT1 ;1 ;1

DEL_3: DECFSZ GOTO DEL_3 DECFSZ GOTO DEL_2 DECFSZ GOTO DEL_1 RETLW 0

;====================================== ; DELAY 1.252mS ;====================================== DELAY1252: MOVLW.1 MOVWF REP_1: MOVLW.5 MOVWF REP_2: MOVLW.81 MOVWF REP_3: DECFSZ CNT3 CNT3,F ;1 ; 1/2 CNT2 ;1 CNT1 ;1 ;1

GOTO REP_3 ; 2 DECFSZ CNT2,F ; 1/2

GOTO REP_2 ; 2 DECFSZ CNT1,F ; 1/2

GOTO REP_1 ; 2 GOTO $+1 Gv hng dn: TS. H Trung M Trang 29 Nguyn Tn Pht Nguyn Hng Phc

GOTO $+1 GOTO $+1 GOTO $+1 RETURN ;2

DELAY3500: MOVLW.1 MOVWF MOVLW.23 MOVWF MOVLW.50 MOVWF DECFSZ GOTO $-1 DECFSZ GOTO $-5 DECFSZ GOTO $-9 RETLW 0 CNT1,F ;2 ;2 CNT2,F ;2 ; 1/2 CNT3 CNT3,F ;2 ; 1/2 ; 1/2 CNT2 ;1 CNT1 ;1 ;1

END

Bo co n k thut

Nm hc 2011-2012

5. S gii thut

Gv hng dn: TS. H Trung M

Trang 31

Nguyn Tn Pht Nguyn Hng Phc

Phn 6: Kt qu, th nghim -------------Cp ngun cho mch pht v mch thu. Ln lt nhn cc button kim tra c tn hiu pht (Led nhp nhy) v tn hiu thu c (Led xanh sng/ti)

Phn 7: Kt lun ------------- ti iu khin t xa bng tia hng ngoi tuy khng l mt mi m, cng khng phi l mt ti ln nhng qua th hin s vn dng kin thc mt cch khoa hc, tinh thn lm vic nghim tc, c trch nhim, s tm ti hc hi, nghin cu cc kin thc mi cng vi k nng lm vic nhm. D c gng ht sc nhng do thi gian thc hin n cn hn ch nn n chc chn khng trnh khi thiu st. Nu c iu kin c th pht trin thm n theo hng c nhiu tnh nng hn, hiu qu hn, ti u hn. Trong thi gian thc hin n chng em tch ly c nhiu kinh nghim qu bu cho bn thn, cng l nh s ch dy nhit tnh ca thy H TRUNG M Sau cng chng em xin gi li cm n chn thnh nht n thyH TRUNG M gip chng em hon thnh n.

TP. H Ch Minh Thng 7 nm 2012 Nguyn Tn Pht Nguyn Hng Phc Tham kho:

You might also like