1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo thực tập tốt nghiệp nguyễn thành chung

51 450 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 1,72 MB
File đính kèm baocaothuctaptotnghiep.rar (2 MB)

Nội dung

MỤC LỤC: CHƯƠNG 1: MỞ ĐẦU 4 1.1 Khái quát vấn đề 4 1.2 Mục tiêu yêu cần của đề tài 5 1.3 Nội dung đề tài 5 1.4 Giới hạn đề tài nghiên cứu 5 1.5 Phương pháp nghiên cứu 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 6 2.1 Tổng quan về công nghệ điều khiển bằng hồng ngoại 6 2.1.1 Khái niện về ánh sáng hồng ngoại (tia hồng ngoại) 6 2.1.2 Photo diode 6 2.1.3 Nguyên lý thu phát hồng ngoại 8 2.2 Tổng quan về vi điều khiển 11 2.2.1 Vi điều khiển PIC18f4520 11 2.2.2 Sơ đồ chân vi điều khiển PIC 18f4520 12 2.2.3 Các thông số về vi điều khiển PIC 18f4520 13 2.2.4 Tổ chức bộ nhớ vi điều khiển PIC 18f4520 14 2.2.5 Các thanh ghi của EEPROM 16 2.2.6 Các thanh ghi của bộ phát xung 18 2.2.7 Các thanh ghi của hoạt động Reset 21 2.2.8 Hoạt động vào/ra 24 2.3 Sơ lược về AX-1838HS 25 2.3.1 Miêu tả 25 2.3.2 Sơ đồ chân AX-1838HS 26 2.3.3 Cấu trúc bên trong AX-1838HS 26 2.3.4 Mạch ứng dụng AX-1838HS 27 2.4 Tổng quan về bộ điều khiển REMOTE 27 2.4.1 Giới thiệu 27 2.4.2 Giải mã 27 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG 30 3.1 Mở đầu 30 3.2 Sơ đồ khối của hệ thống 30 3.3 Chức năng hoạt động của các thành phần 30 3.3.1 Khối phát tín hiệu IR 30 3.3.2 Khối thu tín hiệu IR 32 3.3.3 Khối sử lý tín hiệu 32 3.3.4 Khối đệm dòng 33 3.3.5 Khối chấp hành 34 3.3.6 Khối hiển thị LED đơn 35 3.4 Sơ đồ nguyên lý và mạch in 36 3.4.1 Sơ đồ nguyên lý 36 3.4.2 Mạch in 37 CHƯƠNG 4: THIẾT KẾ PHẦN MỀM 37 4.1 Mở đầu 37 4.2 CSS và ngôn ngữ C 38 4.2.1 Chỉ thị tiền xử lý trong CCS 38 4.2.2 Các hàm DELAY trong CCS 39 4.2.3 Các hàm vào ra trong CCS 40 4.3 Soạn thỏa và biên dịch chương trình 42 4.4 Chương trình điều khiển 43 4.4.1 Chương trình giải mã tín hiệu IR 43 4.4.2 Lưu lệnh và thực thi lệnh 45 4.4.3 Ghi đọc mã lệnh trên EEPROM 46 4.4.4 Chọn các nhận tín hiệu 47 4.4.5 Xóa bộ mã hiện tại 48 4.4.6 Hàm chính 48 4.4.7 Mô phỏng trên PROTEUS 7 49 NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH 50 TÀI LIỆU THAM KHẢO 50 TỔNG KẾT 51

1 MC LC: CHNG 1: M U Chng ny trỡnh by tt quỏ trỡnh thc hin ti v ton b ni dung ca ti Ni dung bao gm nhng phn chớnh nh sau: Trỡnh by lý chn ti, mc ớch, i tng v phm vi nghiờn cu, ý ngha khoa hc v thc tin ca ti 1Khỏi quỏt Ngy ngi cựng vi nhng ng dng ca khoa hc k thut tiờn tin ca th gii, chỳng ta ang ngy mt thay i, minh v hin i hn S phỏt trin ca k thut in t ó to hng lot nhng thit b vi cỏc c im ni bt nh chớnh xỏc cao, tc nhanh, gn nh l nhng yu t rt cn thit gúp phn cho hot ng ca ngi t hiu qu ngy cng cao hn in t ang tr thnh mt nghnh khoa hc a nhim v in t ó ỏp ng c nhng ũi hi khụng ngng ca cỏc ngnh, lnh vc khỏc cho n nhu cu thit yu ca ngi cuc sng hng ngy Mt nhng ng dng quan trng ca ngnh cụng ngh in t l k thut iu khin t xa bng hng ngoi S dng hng ngoi c ng dng rt nhiu cụng nghip v cỏc lnh vc khỏc cuc sng vi nhng thit b iu khin t xa rt tinh vi v t c nng sut, kinh t tht cao Xut phỏt t nhng ng dng ú, em ó thit k v thi cụng mt mch ng dng nh thu phỏt hng ngoi: B hc mó lnh hng ngoi bng vi iu khin ti ny giỳp em hiu rừ hn v nguyờn lý thu phỏt v ng dng nhng lý thuyt c hc vo thc t ng thi tỡm hiu thờm v nhng iu cha c hc v nõng cao k nng thc hnh cng nh l nhng ng dng ca mch thc t Vỡ thi gian thc hin cú hn ch v nhng gỡ ó hc v tỡm hiu cng cú hn ch nờn ti cũn nhiu hn ch Kớnh mong nhn c s ch dn gúp ý tn tỡnh ca thy cụ v cỏc bn 1.1 Mc tiờu yờu cn ca ti ti ny s dng vi iu khin PIC 18f4520 Mch cú nhim v kim tra tớn hiu nhn c t iu khin hng ngoi, gii mó tớn hiu theo chng trỡnh c vit sn v lu kt qu mó lnh vo eeprom ca vi iu khin PIC 18f4520 T õy cú th suy mc ớch yờu cu ca ti nh sau: Cú th hc mó lnh t cỏc b iu khin Cú th iu khin thit b t xa bng nhiu loi iu khin khỏc Khi ngt ngun mó lnh c lu gi trờn EEPROM Giỏ thnh sn phm khụng quỏ t Chy n nh, chớnh xỏc, gn nh d sa cha 1.2 Ni dung ti Tỡm hiu nguyờn lý ca mch Tớnh toỏn thit k thi cụng mch 1.3 Gii hn ti nghiờn cu ti chỡ dng vic nghiờn cu nguyờn lý thu phỏt súng hụng ngoi, khỏi quỏt v vi iu khin PIC 18f4520 v ng dng b thu hng ngoi to b hc mó lnh t vi iu khin 1.4 Phng phỏp nghiờn cu Tham kho ti liu trờn mng, sỏch th vin CHNG 2: C S Lí THUYT LIấN QUAN 2.1 Tng quan v cụng ngh iu khin bng hng ngoi 2.1.1 Khỏi nin v ỏnh sỏng hng ngoi (tia hng ngoi) nh sỏng hng ngoi (tia hng ngoi ) l ỏnh sỏng khụng th nhỡn thy c bng mt thng, cú bc súng t 0,86àm n 0,98àm Tia hng ngoi cú tc truyn bng tc ỏnh sỏng Tia hng ngoi cú th truyn i c nhiu kờnh tớn hiu Nú c ng dng rng rói cụng nghip Lng thụng tin cú th t 3mega bit/s Lng thụng tin c truyn i vi ỏnh sỏng hng ngoi ln gp nhiu ln so vi súng in t Trong iu khin t xa bng tia hng ngoi, chum Tia hng ngoi phỏt i hp, cú hng, dú phi truyn i ỳng hng vo phớa bờn thu Súng hng ngoi cú nhng c tớnh quan trng ging nh ỏnh sỏng (s hi t qua thu kớnh, tiờu c,) nh sỏng thng v ỏnh sỏng hng ngoi khỏc rt rừ s xuyờn thu qua vt cht nh sỏng hng ngoi khụng b yu i vt qua cỏc lp bỏn dn i ngoi Cỏc ngun súng nhõn to thng cha nhiu súng hng ngoi IRED: diode hng ngoi LA: Laser bỏn dn LR:ốn hunh quang Q: ốn thy tinh W: búng ốn in vi dõy tiờm wolfram PT:Phototransistor 2.1.2 Photo diode Vi hiu ng quang in, ta cú s phỏt sinh mt in ỏp lp chuyn tip P-N, lp chuyn tip ny c chiu sỏng Tựy theo chc nng v cu trỳc cú th phõn photodiode lm nhiu loi : diode quang P-N, diode quang PIN, diode quang loi Shockley, diode quang vi hiu ng khỏc Photodiode c dựng vi mch khuch i cú tng tr cao Photodiode cú cỏc c tớnh: Rt tuyn tớnh t nhiu Thang tn s rng Nh, cú sc bn c hc cao tui th cao Photodiode hng ngoi cú nhy cao nht vựng 1000nm Photodiode l tip xỳc bỏn dn loi N v P tng t vi tip xỳc c dựng LED Tuy nhiờn chc nng ca tip xỳc Photodiode thỡ ngc li vi tip xỳc LED Trong photodiode cỏc photon b hp th to cỏc ht dn t gõy dũng in i qua tip xỳc Mch tng ng ca tip xỳc : Hỡnh 2.1: Mch tng ng ca tip xỳc Tip xỳc cú th c xem nh l mt diode lý tng vi in tr ca nghốo c biu din bng Rsh v in dung tip xỳc CD c ni song song vi diode in tr ca bỏn dn N,P ca tip xỳc bc x c biu din bng ngun dũng bng i song song vi diode ng cong cú c tuyn cú gúc phn t Trong phn t th nht diode phõn cc thun v hot ng tng t diode thụng thng õy khụng phi l ng dng ca photodiode Trong gúc phn t th hai , diode khụng cú ỏp ng Gúc phn t th ba ch c tuyn diode ch phõn cc ngc õy l ch thng dựng phỏt hin bc x Gúc phn t th t l ch t bo mt tri cũn gi l pin mt tri ch ny diode dựng cung cp nng lng cho ti p dng nh lut Kirchoff cho mch tng ng diode: i=iSH+iD+iL i:dũng quang bc súng iSH:dũng qua in tr mc r nhỏnh iD:dũng qua diode lý tng iL:dũng qua ti Cỏc photodiode tớn hiu c thit k lm vic nh cỏc dng c truyn thụng v o lng chớnh xỏc nh di tuyn tớnh rng , ỏp ng nhanh v n nh nhit cao Phn ln chỳng c dựng gúc phn t th ba vi gúc phõn cc ngc cho hot ng tuyn tớnh Vi ỏp ng loga chỳng lm vic gúc phn t th t ch h mch Phõn cc ngc cú th cú bt c giỏ tr no thp hn in ỏp ỏnh thng cc i s tay Tng in ỏp phõn cc ngc lm tng dũng in ti v di lm vic tuyn tớnh, gim thi gian ỏp ng v in dung tip xỳc 2.1.3 Nguyờn lý thu phỏt hng ngoi Tia hng ngoi c s dng rt ph bin v khụng b nh hng bi t trng, vỡ th nú c s dng tt truyn thụng v iu khin Nhng nú cú mt s khuyt im, mt s vt phỏt hng ngoi mnh lm nh hng n truyn thụng v iu khin nh quang ph mt tri Khú khn s dng hng ngoi l, Remote iu khin TV/VCR hoc nhng ng dng khỏc, linh kin thit k khỏ tn kộm Vic thu hoc phỏt bc x hng ngoi bng nhiu phng phỏp khỏc nhau, cú th b nh hng bi tia hng ngoi t ỏnh sỏng tri, nhng võt cú th phỏt tia hng ngoi nh lũ bc x, ốn, c th ngi truyn tia hng ngoi tt phi trỏnh xung nhiu, bt buc phi dựng mó phỏt v nhn n nh xỏc nh xem ú l xung hay nhiu Tn s lm vic tt nht t 30KHz n 60KHz, nhng thng s dng khong 38KHz Phn phỏt S chc nng Hỡnh 2.2: S phn phỏt Khi chn chc nng v mó húa : ngi dựng s dng bm vo cỏc phớm chc nng phỏt lnh yờu cu ca mỡnh, mi phớm chc nng tng ng vi mt s thp phõn Mch mó húa s chuyn i thnh s nh phõn tng ng di dng mó lnh tớn hiu s gm cỏc bit v S bit mó lnh nh phõn cú th l hay bit tựy theo s lng phớm chc nng nhiu hay ớt Khi dao ng cú iu kin : nhn mt phớm chc nng thỡ ng thi ng mch giao ng to xung clock Khi d liu v chuyn i song song ni tip : mó nh phõn ti mch mó húa s c cht a vo mch chuyn i d liu song song ni tip Mch chuyn i d liu song song ni tip c iu khin bi xung clock v mch nh thi nhm m bo kt thỳc ỳng lỳc vic chuyn i s bit ca mt mó lnh Khi iu ch v phỏt FM: mó lnh di dng ni tip s c a qua mch iu ch v phỏt FM gộp mó lnh vo súng mang cú tn s t 38Khz n 100Khz, nh súng mang cao tn tớn hiu c truyn i xa hn ngha l tng c ly phỏt Khi thit b phỏt: l mt led hng ngoi Khi mó lnh cú giỏ tr bit = thỡ LED phỏt hụng ngoi khong thi gian Tca bit ú Khi mó lnh cú giỏ tr bit = thỡ LED khụng sỏng Do ú, bờn thu khụng nhn c tớn hiu xem nh bit = Phn thu S chc nng Hỡnh 2.2: S phn thu Khi thit b thu: Tia hng ngoi t phn phỏt c tip nhn bi LED thu hng ngoi hay cỏc linh kin thu quang khỏc Khi khuch i v tỏch súng: trc tiờn khuch i tớn hiu nhn ri a qua mch tỏch súng nhm trit tiờu súng mang v tỏch ly d liu cn thit l mó lnh Khi chuyn i ni tip sang song song v a tip qua gii mó: mó lnh c a vo mch chuyn i ni tip sang song song v a tip qua gii mó, gii mó thnh s thp phõn tng ng di dng mt xung kớch ti ngừ tng ng kớch m mch iu khin Tn s súng mang cũn c dựng so pha vi tn s dao ng bờn phn thu giỳp cho mch thu phỏt hot ng ng b, m bo cho mch tỏch súng v mch chuyn i ni tip sang song song cú th hot ng chớnh xỏc 2.2 Tng quan v vi iu khin B vi iu khin ghi tt l Micro-controller l mch tớch hp trờn mt chip cú th lp trỡnh c, dựng iu khin hot ng ca h thng Theo cỏc lnh ca ngi lp trỡnh, b vi iờu khin tin hnh c, lu tr thụng tin, x lý thụng tin, o thi gian v tin hnh úng m mt c cu no ú Trong cỏc thit b in v in t cỏc b vi iu khin iu khin hot ng ca ti vi, mỏy git, u c lase, lũ vi ba, in thoi Trong h thng sn xut t ng, b vi iu khin s dng robot, cỏc h thng o lng giỏm sỏt Cỏc h thng cng thụng minh thỡ vai trũ ca vi iu khin ngy cng quan trng Hin trờn th trng cú rt nhiu h vi iu khin nh: 6811 ca Motorola, 8051 ca Intel, Z8 ca Zilog, PIC ca Microchip Technology 2.2.1 Vi iu khin PIC18f4520 Trong ti ny nghiờn cu v pic18f4520 vỡ nú cú nhiu u im hn cỏc loi vi iu khin cỏc nh : ADC 10 BIT, PWM 10 BIT, EEPROM 256 BYTE, COMPARATER, ngoi nú cũn c cỏc trng i hc trờn th gii c bit l cỏc nc Chõu u hu ht xem PIC l mụn hc b mụn vi diu khin núi vy cỏc bn cng thy s ph bin rng rói ca nú Ngoi PIC cũn c rt nhiu nh sn xuat phn mm to cỏc ngụn ng h tr cho vic lp trỡnh ngoi ngụn ng Asembly nh :MPLAB, CCSC, HTPIC, MIRKROBASIC, Hin cú khỏ nhiu dũng PIC v cú rt nhiu khỏc bit v phn cng, nhng chỳng ta cú th im qua mt vi nột nh sau : 10 8/16 bit CPU, xõy dng theo kin trỳc trờn kin trỳc Harvard sa i, vi lnh rỳt gn (do vy PIC thuc loi RISC) Flash v Rom cú th tu chn 256 byte n 256 kbybe Cỏc cng xut/nhp (mc lụgic thng t 0v n 5v, ng vi mc logic v 1) 8/16 bit timer Cỏc chun giao tip ngoi vi ni tip ng b/ khụng ng b B chuyn i ADC B so sỏnh in ỏp MSSP Pripheral dựng cho cỏc giao tip I2C, SPI B nh ni EEPROM - cú th ghi/ xoỏ lờn ti hng triu ln Modul iu khin ng c, c encoder H tr giao tip USB H tr iu khin Ethernet H tr giao tip CAN H tr giao tip LIN H tr giao tip IRDA DSP nhng tớnh nng x lý tớn hiu s 37 ng assembly, Visual Basic Ngoi cũn s ngụn ng lp trỡnh bc cao nh PICbasic, MIKRObasicv.v Tuy nhiờn ngụn ng C c a s ngi dựng Vi iu khin s dng lp trỡnh Sau õy l gii thiu c bn v CCS phn mm lp trỡnh cho PIC s dng ngụn ng C 4.2 CSS v ngụn ng C CSS l trỡnh biờn dch dựng ngụn ng C lp trỡnh cho vi iu khin õy l ngụn ng lp trỡnh y sc mnh, giỳp bn vit mt trng trỡnh nhanh chúng hn so vi hp ng Assembly Mó lnh c ti u biờn dch Tuy nhiờn C khụng phi l nng, cú th thc hin mi th nh ý mun Trong s trng hp, nú cú th sinh mó chy sai CCS cha rt nhiu hm phc v cho mi mc ớch v cú rt nhiu cỏch lp trỡnh mó cho cựng mt dn n tc khỏc tc thc thi mó, di chng trỡnh S ti u l k nng lp trỡnh C Ngụn ng C cú kh nng khụng cn chốn thờm bt k dũng lnh Assembly no, v CCS cú th cho phộp phi hp Assembly cựng vi C CCS cung cp cỏc cụng c tin ớch giỏm sỏt hot ng chng trỡnh nh: C/ASM list: cho phộp xem mó ASM ca file bn biờn dch, giỳp bn qun lý mó v nm c cỏc cỏch thc mó sinh v nú chy nh th no, l cụng c rt quan trng , bn cú th g ri chng trỡnh v nm c hot ng ca nú, SYMBOL hin th b nh cp phỏt cho tng bin, giỳp qun lý b nh cỏc bin chng trỡnh, CALLTree hin th phõn b b nh Cú nhiu tin ớch mc Tools 4.2.1 Ch th tin x lý CCS #INCLUDE : Cỳ phỏp : #include Hay #include filename Filename : tờn file cho thit b *.h , *.c Nu ch nh file ng dn khỏc 38 thỡ thờm ng dn vo Luụn phi cú khai bỏo chng trỡnh vit cho vi iu khin no, v luụn dũng u tiờn VD : #include // chng trỡnh dựng cho vi iu khin 18f4520 #include < C:\INCLUDES\COMLIB\MYRS232.C > # DEFINE id text Text : chui hay s Dựng nh ngha giỏ tr VD : #define a 12345 #USE delay ( clock = speed ) Speed : giỏ tr OSC m bn dựng VD dựng thch anh dao ng 40Mhz thỡ : #use delay( clock = 40000000) Ch th cú ch th ny thỡ chng trỡnh bn mi c dựng hm delay_us( ) vo delay_ms( ) 4.2.2 Cỏc hm DELAY CCS delay_cycles (count ) Count : hng s t 255 , l s chỳ k lnh chu k lnh bng chu k mỏy Hm khụng tr v giỏ tr Hm dựng delay s chu k lnh cho trc VD : delay_cycles ( 25 ) ; // vi OSC = 20 Mhz , hm ny delay us delay_us ( time ) Time : l bin s thỡ = 255 , l mt hng s thỡ = -65535 Hm khụng tr v giỏ tr Hm ny cho phộp delay khong thi gian di hn theo n v us delay_ms (time ) Time = 0-255 nu l bin s, time = 0-65535 nu l hng s Hm khụng tr v giỏ tr Hm ny cho phộp delay di hn theo n v ms VD : Int a = 215; 39 Delay_us ( a ) ; // delay 215 us Delay_us ( 4356 ) ; // delay 4356 us Delay_ms ( 2500 ) ; // delay s 4.2.3 Cỏc hm vo CCS Output_low ( pin ) , Output_high (pin ) : Dựng thit lp mc ( low, 0V ) hay mc ( high , 5V ) cho chõn IC , pin ch v trớ ca chõn Hm ny s t pin lm ngừ Hm ny di 2-4 chu k mỏy Cng cú th xut xung dựng set_tris_X() v #use fast_io VD : chng trỡnh phỏt xung vuụng chu k 500ms , duty =50% chõn B0 ,ni B0 vi led s lm nhp nhỏy led #include #use delay( clock=20000000) Main() { while(1) { output_high(pin_B0) ; Delay_ms(250) ; // delay 250ms Output_low (pin_B0); Delay_ms (250 ); } } Input ( PIN_XY) : X : l port ( a, b ,c ,d e ) Y : l v trớ chõn ca port (0,1,2,3,4,5,6,7) Hm tr v giỏ tr ang hin hu ca chõn ú VD : m=input(PIN_A4); Set_tris_X ( value ) : Hm ny nh ngha chõn vo cho PORT l ngừ vo hay ngừ Ch c dựng vi #use fast_IO S dng #byte to bin ch n port va thao tỏc trờn bin ny chớnh l thao tỏc trờn port 40 Value l giỏ tr bit Mi bit i din chõn v bit=0 s set chõn ú l ngừ vo, bit=1 set chõn ú l ngừ VD : chng trỡnh sau cho phộp thao tỏc trờn portB cỏc d dng hn: #include < 16F877.h > #use delay(clock=20000000) #use Fast_IO( B ) #byte portB = 0x6 // 16F877 coự port b ụỷ ủũa chổ 6h #bit B0 = portB // bin B0 ch n chõn B0 #bit B1=portB.1 // bin B1 ch n chõn B1 #bit B2=portB.2 // bin B2 ch n chõn B2 #bit B3=portB.3 // bin B3 ch n chõn B3 #bit B4=portB.4 // bin B4 ch n chõn B4 #bit B5=portB.5 // bin B5 ch n chõn B5 #bit B6=portB.6 // bin B6 ch n chõn B6 #bit B7=portB.7 // bin B7 ch n chõn B7 Main() { set_tris_B ( 126 ) ; //portB=01111110 b // B0 l ngừ vo, thng l ngt ngoi //B1 B6 l ngừ ,Vd lm ngừ iu ch PWM //B7 l ngừ vo, if ( B7 ) //nu ngừ vo chõn B7 l thỡ s xut hin cp xung i nghch { B1 = ; B2 = ; B3 = ; B4 = ; B5 = ; B6 = ; 41 } Else B1=B2=B3=B4=B5=B6= 0; } Set_tris_B (0 ) : port B =00000000 : tt c chõn portB l ngừ set_tris_B ( ) : portB = 00000001 : ch B0 l ngừ vo , cũn li l ngừ set_tris_B ( 255 ) : portB=11111111: tt c chõn portB l ngừ vo 4.3 Son tha v biờn dch chng trỡnh Son tho chng trỡnh Hỡnh 4.1: Son tha trng trỡnh Biờn dch chng trỡnh 42 Hỡnh 4.2: Biờn dch trng trỡnh 4.4 Chng trỡnh iu khin 4.4.1 Chng trỡnh gii mó tớn hiu IR Sau nhn c tớn hiu IR t REMOTE Tớn hiu c chuyn n vi iu khin gii mó int1 kiem_tra() // kim tra u vo cú phi xung START ca tớn hiu khụng { INT i; IF (input (PIN_B4) == 0) // nu cú cnh xung ca tớn hiu { delay_us (500); // Delay chng nhiu IF (input (PIN_B4) == 0) // nu cú cnh xung ca tớn hiu { FOR (i = 0; i < 40; i++) // Chia nh xung START thnh 40 on { delay_us (200) ; if (input (PIN_B4) == 1) RETURN 0;//nu tớn hiu lờn mc 1-> khụng phi xung START 43 } WHILE (input (PIN_B4) == 0) ; // Ch cnh lờn RETURN 1; // ỳng l xung start } } } void giai_ma() //khi xỏc nh c xung vo l tớn hiu IR ta bt u gii mó tớn hiu ú { INT8 i; INT32 ma_lenh; ma_lenh = 0; IF (kiem_tra ()) // nu ỳng xung START { WHILE (input (PIN_B4) == 1) ; // Ch ht bit tip theo WHILE (input (PIN_B4) == 0) ; // Ch ht bit tip theo FOR (i = 0; i < 24; i++) // gii mó 24 bit gm bit v bit sau Xung START v bớt d liu { delay_us (750); // Delay 750us kim tra bit IF (input (PIN_B4) == 0) ma_lenh = ma_lenh * 2;lu bit IF (input (PIN_B4) == 1) ma_lenh = ma_lenh * + 1; lu bit WHILE (input (PIN_B4) == 1); // ch cnh lờn WHILE (input (PIN_B4) == 0); // ch cnh lờn } IF ( chon == 1) // chn iu khin hay hc mó cho vi iu khin luu_lenh ( ma_lenh ) ; ELSE 44 phat_lenh ( ma_lenh ) ; output_high (PIN_C5) ;// bỏo tớn hiu gii mó xong delay_ms (100); output_low (PIN_C5); //tt ốn led bỏo } } 4.4.2 Lu lnh v thc thi lnh void phat_lenh(INT32 m) { IF ( malenh[0] == m) output_toggle ( PIN_C0 ); IF ( malenh[1] == m) output_toggle ( PIN_C1 ); IF ( malenh[2] == m) output_toggle ( PIN_C2 ); IF ( malenh[3] == m) output_toggle ( PIN_C3 ); IF ( malenh[4] == m) output_toggle ( PIN_C4 ); } void luu_lenh(INT32 m) { IF ( j == 4) { j = 0; malenh[0] = m; } ELSE { malenh[j] = m; for ( INT a = 0; a < j; a++ ) IF ( m == malenh[a] ) 45 j ; } write_eeprom_32(address,malenh[j]); j++; } 4.4.3 Ghi c mó lnh trờn EEPROM void write_eeprom_32(int16 address,int32 value) { int i; if(y==16) y=0; else address=y; for(i=0;i

Ngày đăng: 19/03/2017, 10:28

w