You are on page 1of 64
LUAN VAN TOT NGHIEP DETAIL Lap trinh PIC16F877A diéu khién toc do dong co DC n GVHD: Neuyén Thanh Thio MUC LUC Chaong |; KHAT QUAT DE-TAL U/ Tém tit dé tai ‘Néu la ché 452. (CHUONG II:.. GIGUTHIEU VE CAC LINH KEN PHAN T LLVi diéu khién PICIGR877A. 1. Khai quat vé vi diéu khién PICI6F877A...... Sor db nguyen fi. 2. Té chire bp nhd: 2.1, BO nhé chong trinh:, 2.2, no ma igus 23. Stack 3. Khai quit v8 chire ning cia ede port trong vi diéu Khién PICIGF877A.. 4. Cac van dé v8 Timer 41. Timerd 42.71MERI S.NGAT (INTERRUPT): 6. Phuong php diu ché xung PWM: 62. Neuyén Ii cia PWM: Uy Unas -lo/T) hy Us = Und 6.3, Céich thiét Ip ché d PWM cho PICIOF877A ‘Mach ciu H ( H-Bridge Circuit ). Hinh 18: Mach edu H. Khio sit hogt dng cia mach elu H Hinh19: Neuve If hoat ding ciia mach edu H. MULCD, : VD: Kiéu hién thi, a hing. (2 hing), chiéu dai dt ligu () 1V. di tuyng diéu Khién: Dong ew DC MG hh tht 1 MG hin tie 2 CHUONG 3.0. U THIET KE MACH PHAN CUNG: TH) Gidi thigu vé chong trinh viét code va bién djet Return(bign)} re CODE CHUONG TRINH SVTH: Tran Tung Bang Vo Van Chinh ‘a phai nhap them thoi gian, sau d6 nhan phim ENTER. DUNG TRONG MACH. DO fr GVHD: Nguyén Thanh Thao Chuong I; KHAIQUAT DE TAL 1 Tom tit ad tai: 1/ Gigi thigu so luge e4e modul cia mach: -Tén dé tai dé an 2:“Lap trinh PICI6F877A diéu khién téc 46 dong co DC” -Yéu cau dat ra: Lap trinh C cho Pic 16F877A dieu khién toc d6 cho déng ca DC 6 agin encoder hii tiép te d6.Téc 46 duge cai dt tir bin phim va te d6 tte thei hai tiép tir encoder duge hign thi trén man hinh LCD 16x2 Tom tit huéng thye hign dé tai: + Sir dung Pic 16F877A la vi diéu khién trung tim. Ding chong trinh CCS Lip trinh C va bién dich chuong trinh, Xdy dung khdi bin phim gm 16 phim dé nhap téc d6 va diéu khién dong co be: ‘© 10 phim tir 0 dén 9 dé cai dat tbc d6 (vong /phiic). 1 phim SET (hay ENTER) dé hau tbe 46 cai dt a 1 phim SAVE dé lu tc 46 vao epprom. | phim CLEAR dé xa dat 3 phim diéu digu khién: quay thuin (FORWARD), quay nghich (REVERSE), ding (STOP). & Hién thj te d6 ding man hinh LCD 16x2, lap trinh & ché d6 4 bit (sir dung 4 chan dé nhgn dor ligu tt Pic). Sir dung mach ciu H la IC L298N dé dao chieu dong co. + Sir dung 2 kénh PWM cia vi digu khién Pic thay i gid tri ap trung binh dat vio dong co dé digu khién téc do. “Doi twong digu khién la dong co DC 12V e6 gin Encoder. ‘& Ngoai ra trén mach con cé | phim nguén (POWER) cap dign tir adapter cho mach va 1 phim RESET cho pic 16F877A. SVTH: Tran Tung Bang 3 Vo Van Chinh pb and GVHD: Nguyén Thanh Thao ‘ Dé cap ngudn cho mach ta ding adapter AC/DC (220V/12V) va kh6i nguén sir dung IC 7805 dé én dp dign 4p SV cung cép cho Pic. 2/ So dd nguyén li mach: Hinh 1: So dd nguyén li mach 3/Céch vgn hinh mach: + Bude 1: ‘Bat ngudn (nhin nit POWER), cher cho Pic va man hinh LCD khéi dong, man hinh hign thi: “CHON CHE BQ.” ‘Chuong trinh cé 2 ché d6 lim vige: ché 461 1a bam tbe 46 dat, 6 Iuu tbe dO vio epprom; ché dé 2 14 bam téc d6 c6 dinh thoi gian dé thay déi chiéu quay. = Bude 2: SVTH: Trin Tuing Bang 4 Vo Van Chinh ‘hip tée d9 tir ban phim eae phim tir 0 dén 9.Néu ohap sai ta nhdn phim CLEAR con trd trén LCD s@ x6a hét cdc s6 da nh§p, ta phai nhap Iai tir ddu.Sau khi nhap xong, nhin phim ENTER dé lu te d6 dat, tie 46 dat durge tinh theo dan vi vong/phitt, Néu li ché a 2 thi ta phai nhap them thai gian, sau dé nhdn phim ENTER = Bude 3: Dé diéu khién déng co ta nhén phim: quay thuén (FORWARD), quay nghich (REVERSE), ding (STOP). = Bude 4: ‘Dé nh§p lai toc dé ta nhan phim CLEAR ri tién hanh dat tc d6 nhw bude 2, -Téc d6 tire thoi euia dong co sé duroe cap nhat mdi 0,5s va sé durge so sinh véi tc 46 43 48 dura ra tinh higu didu khién, dng théi ett mBi 0,5s tbc d6 s® hién thj trén man hinh LCD. 4/ Khuyét diém cia mach: -Do khong dp dung cév phuong phip diu khién (vi du nhu: PID, diéu khién md...) nén toc d6 dong co chua durge on dink, -Mach cau H str dung IC L298 chi diéu khién duge déng co DC c6 céng suat hho. -D6i vi kh6i hin thi, do tinh cht ciia man hinh LCD nén bj han ché quan sit gid tr} hign thi 6 khoang cach xa, 5/ Huéng phat trién dé ti = Cai thign dn dinh téc d6 dong co bing phuong phap PID hay diéu khién ma - Tinh todn thiét ké mach cong suat dé 6 thé diéu khién duge dong co 06 cing suat lim hon ~ Sit dung led 7 doan dé tang kha nang quan sat cia khdi hién thi. = Két n6i v6i mAy tinh, si dung visual basic Ifp trinh 48 didu khién tc 40 d0ng co pe. SVTH: Tran Tung Bang 5 Vo Van Chinh n GVHD: Neuyén Thanh Thio CHUONG II: GIOUTHIEU VE CAC LINH KIEN PHAN TU SU DUNG TRONG MACH LVi didu khién PICIGF877A 1. Khai quat vé vi diéu khién PICI6F8774 a/ Khai quit: - PIC 1a tén viét tit cla “Programmable Intelligent computer” do hing General Instrument dit tén cho con vi digu khién dau tién cia ho.Hing Micrchip tiép tue phat trién san phim nay va cho dén hang da tao ra gin 100 loai sin phim khéc hau. ~ PICI6F887A la dong PIC khé phé bién, kha diy du tinh nang phyc vu cho hau hét tt c@ ede img dung thye té. Bay la dong PIC kha dé cho ngudi mei kim quen voi PIC 6 thé hge tip va tao nén tan v8 ho vi digu khién PIC cia minh ~ PIC 16F877A thude ho vi diéu khién 16Fxxx c6 ede dt tinh sau + NgGn ngit lap trinh dom gin v6i 35 Kénh e6 6 dai 14 bit + Tat ed ede edu lénh thu hign trong 1 chu Ki Kénh ngoai trir 1 s6 edu lénh 1& nhanh thyc hign trong 2 chu ki lénh. Chu ki Ignh biing 4 Lin chu ki dao dong cua thach anh, + BQ nhé chuong trinh Flash 8Kx14 words, véi kha ning ghi xoé khong 100 ngin lin, = BO nh6 Ram 368xRbytes + BG nh EFPROM 256x8 bytes. + Khd nang ngit (lén t6i 14 ngudn cd ngat trong va ngit ngoai), SVTH: Tran Tung Bang 8 Vo Van Chinh DO fr GVHD: Nguyén Thanh Thao = Ngiin nhé Stack duge chia kim 8 mize + Tray cép b6 nhé bing dia chi tre tip hoge gin tip, * Dai dign thé hoat déng rong: 2.0V dén 5.5V. © Nguén sir dung 25mA. = Céng sudt tigu thy thap: <0.6mA voi SV, 4MHz 20uA voi ngudn 3V, 32 kHz. = C6 3 timer: timer0, 8 bit chite nang dinh thoi va bd dém voi hé sé ty 18 truée.Timerl, 16 bit chite nang bé dinh thai, bG dém vai hé sé ty I¢ trudc, kich hoat ché 46 Sleep.Timer2, 8 bit chite nang dinh thoi va bé dém vai hé s6 ty 18 trude va sau, + C62 kénh Capture! so sinh dign 4p (Compare)/digu ché 49 rng xung PWM 10 bit /(CCP), + C6. kénh chuyén di ADC 10 bit. = Céng truyén thong ndi tip SSP véi SPI phuong thire chi va PC (chd/phy).BO truyén nhan thong tin ding bd, di bd (USART/SCL) c6 kha naing phat hign 9 bit dia chi + COng phu song song (PSP) véi 8 bit mé rng, voi RD, WR va CS digu Khién, * Do thai gian kim dé dn ¢6 han nén ching em chi tip trung tim hiéu ede tinh ning cia PIC 16F877A 6 lién quan dén 48 tai, dudi day la | vai tinh nang cua PIC 16F877A duge ting dung trong 43 an nh: - Té chite b6 nhé etia PIC 16F877A. ~ Chife ning ea ede Port VO. = Chiie nang va cach thiét lap céc tham s6 etia 3 Timer 0,1,2 = Chire nang va cach thiét lap b6 diéu ché d6 réng xung PWM. ~ Dinh nghia ngat, cde nguon ngat va tim hiéu sdu vé ngat timer va ngat ngodi la hai chire ning duge si dung trong d& ti nay. SVTH: Tran Tung Bang 7 Vo Van Chinh Bb in GVHD: Neuyén Thanh Thio 2 aauant RaSaNavnere maaTeCn IOUT ob I ra ne pan | on one Teor ey : ‘aa o tie afftess Siecu renee = 4 ferioscen | = “T Reacomn ee = = jcaccaee _—— RowrKek ReTROT || ae seven Tomo u} roneseo Seance i it I i Sseto Rares Ronese2 roaeses roused roseees Rowers | ULES WR oo. vee fi] REORBaNs of) Ree (LLL REReSANT i i ouassrrom| | coez | | Spdrmos usar commune | | puree, inh 9+ Gir a nonin H PIC 1ER77 4, pb in GVHD: Neuyén Thanh Thio b/So dé chan va so dé nguyén ly cia PICI6F877A Sidi chan CTR vere ——e 40D RarPcD ann = H=—~ nesrcc rasan <—e] B= nos womonne: aot b= nes pasanuvecrs et Ba reson RMTOGR =e B= nea RASIANASS <—e C] D—— Re = reatBins ee = aa poe root renin =—eds = p= vee nexenw =o ips—ve voo—» 2 [<— RovPsP7 vee oS shee ces OSCVCLKIN—» (] & D——* RosIPSPS: cscacikouts—tfw 2 a7 jae Roars ncoriosomicx! ae B= remo emiosiccr? =e Ba rewnecx b= rosis00 oascKsct <= B= cwsnison oops <= Bis roorsrs noveset == Bs roopses in 3: So chan ea PIC 16FR77A So dé nguyén chan —ucurner rape 7 chan reat pega es ports Bohan \SHRROTE, MRE porta acomosamicn eee ae ion rn Tw 8 chan see Be port Vo Vin port S— |e Bere feo rane thach anh oscxcuon = MRM oe DO in GVHD: Nguyén Thanh Thao o/NhGin x Tirso dB chan va so-48 nguyén IY & ten, ta rit ra cde ah x81 ban du nh sau : ~ PICI6F877A cé tat ca 40 chan - 40 chan trén duge chia thanh 5 PORT, 2 chan cap nguén, 2 chin GND, 2 chan thach anh va mot chan ding dé RESET vi didu Khién, = 5 port ciia PICI6F877A bao gim + PORT B: 8 chan + PORT D: 8 chan + PORT C: 8 chan PORT A: 6 chan PORT E: 3 chain 2.76 chite bd nh Cau trie bO nhé cia vi digu khién PICIGFS77A bao gim bo nhé chuong inh (Program memory) va Poon can Page? 'b6 nhé dit ligu (Data Memory) 2.1. BO nhé chuong trinh: SVTH: Tran Tuimg Bang Vo Van Chinh 6 nh chuomg trnh cia vi difu Khién PICIOF877A li 69 nhé lash, dung kaon 69 nhé 8K word (1 word = 14 bit) va duge phan thinh nhidu trang (tr paged dn page 3) 8192 lénh (vi mét Iénh_ Nour vay b6 nhé chuong trinh e6 kha nding chita duge 8*102. sau khi ma héa s& e dung lung 1 word (14 bit).Dé ma héa duge dia chi cia 8K word bo nhé chuong trinh, b6 dém chuong trinh e6 dung lugng 13 bit (PC<12:0>). Khi vi diéu khién duge reset, bO dém chuong trinh s@ chi dén dia chi 0000h (Reset vector).Khi o6 ngit xy ra, bd dém churong trinh sé chi dén dia chi 0004h (Interrupt vector). BO nhé chuong trinh khéng bao gém bg nhé stack va khong duge dia chi héa bai b6 dém chwrong trinh, 2.2. BO mhé dir ligu: = BO nbé dit ligu cua PICL6FS77A Hinh 5: Céu triie bG nhé chuong trinh duge chia thanh 4 bank. Méi iC ieee bank e6 dung hong 128 byte. - Néu nhu 2 bank b6 nhé dir ligu ciia 8051 phan chia riéng biét : 128 byte dau tién 1, 128 byte cOn Iai thuge bank 2 thude bank! la ving Ram ngi chi dé chita dt cng céc thanh ghi cé chite nang dic biét SFR ma ngudi ding khong durge chita dir ligu khae, con 4 bank bG nhé dit ligu ciia PICIGFS77A duge 15 chtte theo cach kha = Méi bank cia b6 nhé dit ligu PICI6F877A bao gém ca céc thanh ghi c6 chite ning dae bigt SFR nim & cae cde 6 nhé dia chi thp va cic thanh ghi mye dich ding chung GPR nim & ving dia chi cn Igi etia mdi bank thanh ghi, Ving 6 nhé cic thanh ghi mue dich ding chung nay chinh 1a noi ngudi ding sé lu dot ligu trong ‘qué trinh viét chuomg trinh, Tét cd ede bién dt ligu nén dae khai bio chita trong ving dia chi nay. = Trong edu tric bé nhé di liu etia PICI6F877A, cdc thanh ghi SFR nao ma thuong xuyén duge sir dung (nhu thanh ghi STATUS) s8 duge dat 6 tdt ed ede bank 48 thuan tign trong vige truy xuat, So di nhw vay 1a vi, dé truy xuat mot thanh ghi nao do trong b6 nhé cua 16F877A ta can phai Khai bao dung bank chita thanh ghi 46, vige dit cfc thanh ghi sir dung thuémg xuyén gidp ta thudn tién hon rit nhigu trong qué trinh truy xudt, Lim giém Ignh chyong trinh, SVTH: Tran Tung Bang u Vo Van Chinh Dy trén so dé 4 bank b9 nhé dit ligu PICI6F877A ta nit ra cde nan xét nhur sau -Banko gim chi tir 00h dén 7h, trong 46 cdc thanh ghi ding chung dé chita dit ligu cia nguéi ding dia chi tir 20h dén 7Fh. Céc thanh ghi PORTA, PORTB, PORTC, PORTD, PORTE déu chira & bank0, do d6 dé truy xuat dir ligu cic thanh ghi ndy ta phai chuyén dén bankO. Ngodi ra mét vai ede thanh ghi thong dung hae (st gigi thigu sau) cdg chita 6 bankO ic 6 mhé co di = Bank1 gdm cae 6 nhé cé dja chi tir 80h dén FFh. Céc thanh ghi ding chung cé dja chi tit AOh dén Efh, Céc thanh ghi TRISA, TRISB, TRISC, TRISD, TRISE eting duge cchira 6 bank - Twong ty ta 6 thé suy ra céc nhan xét cho bank? va bank3 dya trén so d6 trén. Ciing quan sat tr8n so 43, ta nbn thy thanh ghi STATUS, FSR... 6 m§t trén ci 4 bank, Mét digu quan trong edn nbd Iai trong vige truy xuit dir ligu ea PICI6F877A 1: phai khai bo dng bank chira thanh ghi d6.Néu thanh ghi ndo ma 4 bank déu chira ‘thi khéng can phai chuyén bank: aoe Eas = = Fase | = = se ees ee ed Bi ae ee eee a > Gas aa = = = = os me || paces (= | ees [oe = =o ae as | sem [se | See |e = ou sass = = = = ss fro os Soe cra eee ee is ei 2 ‘Bako ™ Bark t - Bak? os ‘Banks = We em: n GVHD: Neuyén Thanh Thio 2.2a/ Thanh ghi chite nang de bigt SFR: (Special Function Register) Dy 1a cdc thanh ghi duge sit dung boi CPU hode duge ding dé thiét lip va digu khién cac khdi chite nang durge tich hgp bén trong vi dieu khién. Co thé phan thanh ghi SFR lam hai lgai: thanh ghi SFR lién quan dén cae chive nang bén trong (CPU) va thanh ghi SRF ding dé thiét lap va diéu khién cde khéi chite nang bén ngoai (vi dy nhur ADC, PWM, ..). Mt sé thanh ghi cite naing dae biét: + Thanh ghi STATUS (03h, 83h, 103h, 183h):thanh ghi chita két qua thye hign phép ton cia khdi ALU, trang thai reset va ede bit chon bank edn truy xudt trong bo nhé do ligu + Thanh ghi OPTION_REG (81h, 181h): thanh ghi nay cho phép doc va ghi, cho phép digu khién chite ning pull-up ciia cée chan trong PORTR, xic lip cae tham sé vé xung tic dng, canh tic dng ctia ngit ngoai vi va bo dém Timero. + Thanh ghi INTCON (OBh, 8Bh,10Bh, 18Bh): thanh ghi cho phép doe va chita céc bit diéu khién va cdc of higu khi timerO bi tran, ngét ngoai vi RBOJINT vi ngit interrput-on-change tai ede chan ciia PORT. = Thanh ghi PIEI (8Ch): chita eée bit didu khién chi tiét cdc ngit cia cde khéi chite naéng ngoaii vi = Thanh ghi PIRI (0Ch) chita ci ngiit ctia cde khdi chite nang ngogi vi, céc ngit ny durge cho phép bi céc bit digu khién chita trong thanh ghi PIET * Thanh ghi PIE2 (8Dh): chita céc bit digu khién cae ngat cia cde khdi chire ning CCP2, SSP bus, ngit cita bd so sinh va ngit ghi vio bG nhé EEPROM. + Thanh ghi PCON (8Eh): chita cde cér higu cho biét trang thai ede ché dé reset ctia vi diéu khién, 2.2b/ Thanh ghi mue dich chung GPR: (General Purpose Register) SVTH: Tran Tung Bang 1B Vo Van Chinh Cac thanh ghi nay c6 thé duge truy xuat trye tiép hoe gin tigp théng qua thanh ghi FSG (File Select Register). Day 1a cée thanh ghi dir ligu thong thudmg, ngwdi sir dung, 6 thé ty theo mye dich chuomg trinh ma c6 thé ding cdc thanh ghi nay dé chita cae bin si, hing s6, két qua hoi ed tham sé phue vu cho churomg trinh ee Fer |x| Hinh 7: Ci trie thanh ghi chire nang chung cia PIC 16F877A, 2.3. Stack = Stack khéng nim trong b6 nhé chuemg trinh hay bd nhé dar ligu ma ki mot ving nhé die biét khong cho phép doc hay ghi. Khi Iénh CALL duge thye hign hay khi mot ngiit xay ra Lim chuong trinh bj ré nhdnh, gid tri cla bo dém chwong trinh PC ty dong duge vi diéu khién ct vao trong stack. Khi m6t trong céc nh RETURN, RETLW hat RETFIE duye thy thi, gid. tri PC s& ty dng duge liy ra tr trong stack, vi digu khién sé thy hign tigp chuong trinh theo diing qui trinh dinh tras, = BO nhé Stack trong vi digu khién PIC ho 16F87xA e6 kha nding chita duge 8 dia cchi va hoat déng theo co ché xoay vong. Nghia la gid tri cat vao bo nhé Stack lan thir 9 sé ghi dé lén gia trj cat vio Stack lan dau tién va gia tri cat vao b@ nhé Stack lan thir 10 s& ghid2 len gif tri edt vio Stack lin thie 2. - Cn chit ¥ 1a khéng cé cé higu nao cho biét trang thai stack, do 46 ta khong biét duge khi no stack trin, Bén canh dé tgp Iénh cua vi diéu khién ding PIC cing khong 6 lénh POP hay PUSH, ed thao tac véi bd nhé stack s® hodn toan duge diéu khién bai CPU, 3. Khai quat vé chite ning cia cdc port trong vi diéu khién PICI6F877A, a/ PORTA: -PORTA (RPA) bao g6m 6 1/0 pin.Day li ede chan “hai chigu” (bidirectional pin), nghia la c6 thé xudt va nhap duge.Chite ning 1/0 nay duge diéu khién boi thanh ghi TRISA (dia chi 85h). Mudn xée Igp chie nang cia mot chan trong PORTA [a SVTH: Tran Tuimg Bang 4 Vo Van Chinh DO fr GVHD: Nguyén Thanh Thao input, ta “set” bit digu khién tuong (mg v6i chan dé trong thanh ghi TRISA va nguge lai, mudn xae chite nang. cia mét chin trong PORTA 1a output, ta “clear” bit digu khién trong ting voi chin dé trong thanh ghi TRISA. Thao tée nay hoan toan tuong tye bi véi cde PORT va cae thanh ghi digu. khién twomg ting TRIS (d6i voi PORTA 1a TRISA, déi voi PORTB [a TRISB, déi voi PORTC Ia TRISC, déi voi PORTD la ‘TRISD vad6i véi PORTE la TRISE). -Ngodi ra, PORTA con e6 cée chite ning quan trong sau : + Ng@ vio Analog eta bo ADC : thye hign chic nang chuyén tir Analog sang Digital = Ng6 vio din thé so sinh + Ng@ vio xung Clock cia Timer trong kin tric phiin eting : thye hign cée nhigm vy dém xung thong qua TimerO + Ngo vio ciia 66 giao tiép MSSP (Master Synchronous Serial Port) = Cée thanh ghi SER lign quan dén PORTA bao gdm: PORTA (dia chi 03h): chita gid tri cdc pin trong PORTA. TRISA (dia chi 85h): digu khién xudt nhap. CMCON (dia chi 9Ch) —_: thanh ghi digu khién b6 so sénh, CVRCON (dia chi 9Dh): thanh_ghi digu khién bd so sinh dign dp, ADCONI (dia chi 9Fh) — : thanh ghi diéu khién b6 ADC, b/PORTB: PORTB (RPB) gm 8 pin VO. Thanh ghi digu khién xuat nhap twong ting lA TRISB. Bén canh dé mot sb chan cia PORTB con duge sit dung trong qué trinh nap chuong trinh cho vi diéu khién véi cée ché d6 nap khde nhau. PORTB con lién quan dén ngit ngoai vi va bj Timer0. PORTB cdn duge tich hyp chite nang dign tro kéo len duge diéu khién boi churong trinh, Cie thanh ghi SFR 1ién quan dén PORTB bao gm: PORTB (dia chi 06h, 106h) ‘TRISB (dja chi 86h, 186h) __: digu khign xuat nhap OPTION_REG (dia chi 81h, 181h): diéu khién ngit ngoai vi va b6 Timer0. c/PORTC: :chita gi tri ede pin trong PORTB SVTH: Trin Tung Bang Is Vo Van Chinh PORTC cé & chan va cing thye hign duge 2 chite ning input va output dudi sy digu khién ciia thanh ghi TRISC twong ty nhw hai thanh ghi trén. Negoai ra PORTC edn 6 ef chite nang quan trong sau : ~ Ng6 vo xung clock cho Timer! trong kién tne phan eting - BO PWM thy hign chiie nang digu xung lap trinh duge tin s6, duty eyele: sir dung trong digu khién téc d6 va vi tri cha dong co vv. - Tich hyp céc bé giao tiép néi tiép 12C, SPI, SSP, USART w/PORTD: -PORTD c6 8 chan. Thanh ghi TRISD diéu khign 2 chite nang input va output cia PORTD twrong ty nhu trén.PORTD cing la cdng xudt dit ligu cia chun gio tiép song song PSP (Parallel Slave Port) -Céc thanh ghi lign quan dén PORTD bao gdm: ‘Thanh ghi PORTD: chita gia tri ede pin trong PORTD. ‘Thanh ghi TRISD: digu khién xuat nhap. ‘Thanh ghi TRISE: diéu khién xudt_nhap PORTE va chudn giao tiép PSP. e/PORTE: -PORTE €6 3 chan.Thanh ghi digu khién xuat nhip twomg img la TRISE.Céc ehan cla PORTE ¢6 ngd vao analog Bén canh dé PORTE edn la cée chan digu khién cia chun giao tiép PSP. -Cée thanh ghi lién quan dén PORTE bao gm: PORTE: chita gid tri eée chan trong PORTE, ‘RISE: digu khién xudt nbgp va xde lap ede thong s6 cho chuin giao tiép PSP. ADCONI: thanh ghi diéu khién khoi ADC. 4. Cac van dé vé Timer PICIGF877A c6 tat ea 3 timer: timerO (8 bit), timerl (16 bit) va timer2 (8 bit). 4.1. Timer a/ LA bd djnb thoi hoe bo dém e6 nhing wu diém sau: * 8 bit cho b6 dinh thoi hoac bé dém, = Co kha nang doc va viét. = C6 thé ding dang bén trong hod bén ngoai = C6 thé chon canh xung cia xung dng ho. SVTH: Trin Tug Bang 16 Vo Van Chinh C6 thé chon hé sé chia dau vio (Igp trinh bang phan mén). * Neit en, b/ Hoat dong cia Timer 0: Timer 0 c6 thé hogt dng nhw mot bé dinh thési hode mét b6 dém. Vige chon b9 dinh thdi hode bO dém c6 thé duge xée lap bing vige xod hode dat bit TOCS cia thanh ghi OPTION_REG. Néu ding hé s& chia xung diu véo thi xod bit PSA cia thank ghi OPTION_REG<3> Trong ché d6 bd dinh thai duye tira chon boi vige xod bit TOCS (OPTION REG), n6 sé durge ting gid tri sau mét chu ky Kenh néu khong chon hé s6 chia xung dau vao.Va gid tj cita né duge viét ti thanh ghi TMRO. Khi ding xung clock bén ngodi cho bd dinh thoi Timer) va khOng ding hé sé chia clock dau vao Timer0 thi phai dap ting cde digu kign can thiét dé 06 thé hoat dng 46 i phai bao dam xung clock bén ngodi cé thé ding bé véi xung clock bén trong (Tose). Hé 86 chia ding cho Timer 0 ho&e b6 WDT. Cac hé sé nay khong c6 kha ning doc va kha ning viét. Dé chon hé sé chia xung cho b6 tién dinh cia Timer) hoge cho bd WDT ta tién hanh xo ho§e dat bit PSA cia thanh ghi OPTION_REG=3> Nhiing bit PS2, PSI, PSO ciia thanh ghi OPTION_REG<2:0> ding dé xéc lap cic hé s6 chia BO tid dinh ¢6 gid tri 1:2 ching han, c6 nghia 1a : binh thudmg khOng sir dung bé tin dinh cia TimerO (ding nghta véi tién dinh ti 16 1:1) thi et Khi e6 tae dong cia 1 xung clock thi timer0 sé ting thém mét don vi. Néu sir dung bé tién inh 1:4 thi phai mat 4 xung clock thi timerO mdi ting thém mt don vi. VO hinh chung, gié tri cia timerO (8 bit) Ide nay khong edn 1d 255 nda ma 1a 255*4=1020. c/ Ngit cia bo Timerd : Trin Tung Bang Ngat cia bd Timer 0 duge phat sinh ra khi thanh ghi TMRO bj trun tite tir FFh quay vé 00h.Khi d6 bit TOIF cia thanh ghi INTCON<2> s@ duge dat. Bit nuy phai dugc xéa bing phin mém néu cho phép ngit bit TOIE cua 7 Vo Van Chinh Bb in? GVHD: Nguyén Thanh Thio thanh ghi INTCON duge set.Timer0 bj dimg hoat & ché dd SLEEP ngit Timer 0 kh6ng danh thite bd xit ly 6 ché d6 SLEEP. d/ Cac thanh ghi lién quan dén Timer bao gdm: - Thanh ghi OPTION_RBG : diéu khién hoat dong ctia Timer OPTION REG REGISTER fmt __RWE_RIWE_ROEY__RM wer pwen arene [ss [ nose [ex] nee] ose a] TI 300 Hinh 8: Céu tric thanh ghi OPTION_REG REGISTER digu khién hoat déng ciia Timer = bit TOCS Iya chon ngudn clock 1=Clock ngoui tir chan TOCKI 0=Clock trong Foes/4 bit 4 TOSE bit Iya chon s~6n xung clock 1=Timer 0 ting khi chan TOCKI tir eao xuéng thip(s~on xuéng) 0=Timer 0 ting khi chan TOCKT tt thap 1én cao(s—n xuéng) bit 3 PSA bit gan b6 chia xung déu vo 1=gan b6 chia Prescaler cho WDT 0=gin b6 chia Prescaler cho Timer 0 bit 2:0 PS2:PS1 lua chon hé sé chia hé sé xung theo bang sau: PS2:PS0 Timerd wot 000 12 1 001 2 010 4 on 8 100 216 101 2 110 64 in 28 Thanh ghi TMRO dai chi 1h va 101h : chira gid tri cua bo dinh thoi TimerO SVTH: Tran Tuéng Bang 18 Vo Van Chinh Thanh ghi INTCON : cho phép ngat hoat dong Thanh ghi chita cic bit digu Khign va cée <9 higu khi timer0 bj tran, ngat ngoai vi RBO/INT va ngit interrupt_on_change tai cde chan ciia PORTB. RW RW. RW RMD RD RRO RIX (Cee [ee [rwroe [inte [Rete _[TwRor [int [RSF 7 bie Hinh 9: Céu trie thanh ghi INTCON cho phép ngdt Timerd hoat dong * Bit 7 GIE Global Interrupt Enable bit GIE = 1 cho pheép tit cd ede ng. GIE =0 khong cho phép tit 4 cde ngit, * Bit 6 PELE Pheripheral Interrupt Enable bit PEIE = 1 cho phép tit ci cée ngit ngoai vi. PEIE = 0 khong cho phép tit cd cde ngit ngoai vi + Bit S TMROIE Timer Overflow Interrupt Enable bit TMROIE = 1 cho phép ngit Timer0. ‘TMROIE = 0 khong cho phép ngit Timer0, * Bit 4 RBIE RBO/INT Extemal Interrupt Enable bit RBIE = 1 cho phép tit ca céc ngét ngoai vi RBOANT. RBIE =0 khong cho phép tat ea ede ngét ngoai vi RBO/INT + Bit 3 RBIE RB Port change Interrupt Enable bit RBIE = I cho phép ngat RB Port change RBIE = 0 khéng cho phép ngat RB Port change + Bit 2 TMROIF Timer0 Interrupt Flag bit ‘TMROIF | thanh ghi TMRO bi tran (phai x6a c3 higu bing chuong tinh), ‘TMROIF = 0 thanh ghi TMRO chira bj tran, "Bit | INTF BRO/INT External Interrupt Flag bit INTF = | ngit RBO/INT xay ra (phai x6a cd higu bing churong trinh). INTF = 0 ngagt RBO/INT chira xayy ra + Bit 0 RBIF RB Port Change Interrupt Flag bit SVTH: Tran Tung Bang » Vo Van Chinh DO fr GVHD: Nguyén Thanh Thao RBIF = | it nhat c6 mét chin RB7:RB4 cé sy thay di trang thai, Bit nay phai duye x6a bing chuong trinh sau khi da kiém tra lai ede gi tri chan tai PORTB. RBIF = 0 khéng e6 sur thay di trang thai cde chin RBT:RBA. 4.2.TIMERL a/Timerl la 66 dinh thoi 16 bit, gid ti ciia Timer! s® duge luu trong hai thanh ghi 8 bit TMRIH:TMRIL. Cé ngéit cia Timer! la bit TMRIIF, bit digu khién cia Timert la TRMIIE.Cap thanh ghi ciia TMI sé ting tir 0000h lén dén FFFFh 1d 0000h. Néu ngat durge cho phép, né s® xay ra khi khi gid trj cla TMRI tran tir FFFFh 181 v8 0000h, lie nay TMRIF sé bat len. by Timert €63 ché a6 hogt dong + Ché 9 hogt dong dinh thai déng bd: Ché 49 duge Ina chon bai bit TMRICS. sau dé tran ve Trong ché d6 nay xung cap cho Timer! la Fose/4, bit TISYNC khong e6 tée dung. = Ché do dém dang b6: trong ché dé nay, gid trj cua timert sé ting khi c6 xung canh Ién vao chin TIOSURCL. Xung clock ngoai sé duoc ding bd véi xung clock ngi, hoat dong déng bé duge thye hign ngay sau b6 tién dinh ti 1¢ xung (prescaler) = Ché do dém bat ding bé:ché d6 nay xay ra khi bit TISYNC duge set. B6 dinh thai s& tigp tue dém trong sudt qué trinh ngu (Sleep) cua vi digu khign va 66 kha ning tg0 mét ngét khi b6 dinh thoi trin va lim cho vi digu Khién thoat khéi trang thai ng. ¢/ Cae thanh ghi lién quan dén Timerl bao gom: = INTCON (dia chi OBh, 8Bh, 10Bh, 18Bh): cho phép ngét hoat dng (2 bit GIE va PEIE). = PIRI (dia chi OCh): chiia ed ngit Timer! (TMR IF). * PIEI (dja chi 8Ch): cho phép ngét Timer! (TMRIIE). Ba thanh ghi vita néu trén s& duge trinh bay & phan chuong trinh ngat cua PIC = TMRIL (dia chi OEh): chita gid tri 8 bit thap ciia bG dém Timerl. = TMRIH Gia chi OEh): chita gia tri 8 bit cao ctia bo dém Timerl. SVTH: Tran Tung Bang 20 Vo Van Chinh pb in? GVHD: Neuyén Thanh Thio Hai thanh ghi TMRIL va TMRIH 18 2 thanh ghi chita di ligu 16 bit (lan lugt chita 4 bit thap va 4 bit cao) cua bo dém Timer! = TICON (dia chi 10h): xée lip ede thong s chi Timer TICON: TIMER1 CONTROL REGISTER (ADDRESS 10h) FS = Trrcersr cnr sn] ioscan [TM [ruics [a0] mT Hinh 10; Cau tric thanh ghi TICON diéu khién hogt dong iia Timer] - bit 7,6 khong str dung, - bit 5,4 TICKPSI: TICKPSO lua chon hé sé chia xung vao. TICKPSI TICKPSO 00 1 o1 1:2 10 14 u 18 - bit3 TIOSCEN bit diéu khién b dao déng Timer! 19 dao dong hoat dong 0= Bé dao dng khong hoat dong - bit 2 bit diéu khién xung clock ngopi ding b6 khi TMRICS=1 = bit2=0 6 déng clock ngoai =1 khong dng bé clock ngoai khi TMR1CS=0 bit nay khdng c6 tic dung = bit | TMRICS bit Iya chon ngudn xung clock vao TMRICS=1 clock tit chan RCO/T1OSO/TICKI (suri Ken) TMRICS-0 clock trong Fose/4 - bit O bit bat tit Timer Timer 1 enable 0-Timer 1 Disable SVTH: Tran Tuéng Bang a Vo Van 43,Timer 2 a/ Timer2: 14 bO dinh thai 8 bit bao gim m6t b6 tien dinh (prescaler), mot b6 héu dinh Postscaler va mOt thanh ghi chu ky viét tit la PR2. Vige két hgp timer? véi 269 dinh ti 1g cho phép n6 hoat dong nhur mot bé dinh thé 16 bit, Module timer2 cung cp thoi gian hoat dong cho ché d6 diéu bién xung PWM néu module CCP duge chon. Sets Fag Settee | EMEZ a Reset rescuer i Tana Rea Hy ae iofFosees Postscaier = a 1:1 to 1:16 [EQ rear 7 q2cKPs1 4 PR2 Reg) IAAT ee 20UTPss ures Note 1: TMRR2 register output can be software selected by the SSP module as a baud clock Hinh 11: So do khdi Timer2 by Hoat dng cua bo Timer? = Timer? duge ding chi yéu & phan diéu ché xung cua b§ CCP, thanh ghi TMR2 c6 kha ning doc va vist, né e6 thé x6a bing vige reset lai thiét bi. Dau vio cla xung cé thé chon cae ty s6 sau; 1:1: 1:4 hode 1:16 viée la chon ede ty sé nay 06 thé diéu khién bing cde bit sau T2CKPS1 va bit T2CKPSO. = BG Timer2 c6 1 thanh ghi 8 bit PR2 . Timer 2 ting tir gi ti OOh cho dén khop véi PR2 theo né sé reset lai gi tri OOh va Iénh ké tiép thye hign.Thanh ghi PR2 la m6t thanh ghi e6 kha nang doc va kha nang viét / Thanh gl "2CON: digu khign hoat déng ciia Timer? ‘T2CON: TIMER2 CONTROL REGISTER (ADDRESS 12h) SVTH:T, U0 __RWo__Rmo__RWw.0__RImO__RW.O__ RO RMD 2 a DD ES CE EET EE ra Tato Hinh 12: Céu trie thanh ghi T2CON diéu khién hoat dong iia Timer? DO fr GVHD: Nguyén Thanh Thao ~ bit 7 khong sir dung + bit 6-3 TOUTPS3: TOUTPSO bit Iya chon hé sé du ra Timer 2 000 000 001 TIE h16 + bit2 TMR2ON bit bat tit hoat ding Timer 2 I= enable 0= disable - bit 1-0 T2CKPSI:T2CKPSO chon hé chia dau vao 00= 1:1 Ol= 1:4 Ix=1:16 5. NGAT (INTERRUPT): - PICI6F877A cé dén 14 ngudn tao ra hoat dng ngit duge diéu khién boi thanh ghi INTCON (bit GIE). Bén canh 46 mi ngit con c6 mét bit diéu khién va co ngit riéng. Céc c& ngit vin duge set binh thuimg khi thea man digu kign ngit xay ra bat chap trang thai ciia bit GIE, tuy nhién hoat dong ngat vin phy thude vio bit GIE va cae bit diéu khign kh, Bit digu khién ngdt RBO/INT va TMRO nim trong than ghi INTCON, thanh ghi nay con chita bit cho phép cae ngit ngoai vi PEIE, Bit diéu khién cée ngit nim tong thanh ghi PIE] va PIE2.Cé ngit cia cée ngét nim trong thanh ghi PIRI va PIR2, ~ Trong m6t thai diém chi c6 mot chucmg tri nh ngst duge thye thi, chung trinh ngit duge két thie bing Inh RETFIE. Khi chuong trinh ngat duge thye thi, bit GIE tr dong durge xéa, dia chi Kénh tiép theo cita churong trinh chinh duige edt vio trong bo nhé Stack va b dém chuong trinh sé chi dén dia chi 0004, Lénh RETFIE duge diing dé thoat kh6i chuong trinh ngit va quay tre vé chuong trinh chinh, déng thoi bit GIE cing sé duge set dé cho phép cdc ngit hoat dong tro lai, Cae o& higu duoe ding dé kiém tra ngit nao dang xay ra va phai duge xéa bing chong trinh trréec khi SVTH: Tran Tuimg Bang 23 Vo Van Chinh cho phép ngit tigp tue hoat dng tre Iai dé ta c6 thé phit hign duge thai diém tiép theo ma ngat xay ra ~ Déi véi cdc ngit ngoai vi nhu ngit tir chan INT hay ngit tir su thay ddi trang thai cde pin cia PORTB (PORTB Interrupt on change), viée xc dinh ngit nao xay ra edn 3 hode 4 chu ki lénh tity thuge vao théi diém xay ra ngit. = Can chit ¥ la trong qua trinh thye thi ngat, chi ¢6 gid tri cua bo dém chuong trinh duge cat vao trong Stack, trong khi mét s6 thanh ghi quan trong sé khong duge cit va 06 thé bi thay di gi tri trong qua trinh thye thi chuong trinh ngit.Di nay nén duge xit I bang chuong trinh d tranh hign tugng trén xay ra - Cée ngudn ngat cia Pic 16F877A: 1) RTCC ho¥e TIMERO: ngit tin Timer0. 2) RB: ngit khio6 sy thay PORTB. di trang thai | trong cde chin tir RB dén RB7 cia 3) EXT: (Extemal Interrupt) ngit ngoai khi c6 sw thay di trang thai 6 chan RBO cia PORTB. 4) AD: ngat khi bo chuyén ddi tinh higu tong ty sang tinh higu sé chuyén doi hoan tit 1 tinh higu. 5) TBE: ngit khi bo dém cia cing RS232 ring, 6) RDA; ngat khi céng RS232 nan tinh higu. 7) TIMERI: ngit khi timer! bi tran 8) TIMER2: ngiit khi timer? bj tran. 9) CCPL; CCP2: ngiit khi b6 capture hoae b Compare (bd so sénh dign dp) hhoat dng: & kénh 1 hoi 2 10) SSP: ngit khi SPI hode 12C hoat dong, 11) PSP: ngat khi truyén nh@n dit ligu song song. 12) BUSCOL: ngit khi xung dot dung truyén 13) BEPROM: ngat khi ghi xong dt ligu 14) COMP; ngat sau khi thyc hién so sanh tinh hi SVTH: Tran Tung Bang Py Vo Van Chinh DO fr GVHD: Nguyén Thanh Thao Hinh 13: So do hoat dong ngat ciia PIC 16F877A, ‘Voi dé tai “Diéu khién tc 46 dong co DC” ching em sir dung hai loai ngudn ngat la ngiit ngoai khi cé sy thay déi trang thai 6 chan RBO cia PORTB va ngiit tran Timerl, Vi thé ching em s® trinh bay cu thé hon vé nguyén If hoat dong va eée cai dt eta hai loai ngit nay trong phan dudi day: a/ Ngiit ngoai (External Interrupt): - _ Ngait nay dya trén sy thay déi trang thai ciia pin RBO/INT. Canh tic dong gay ra ngit 6 thé la canh lén hay canh xuéng va durge digu khién boi bit INTEDG (thanh ghi OPTION_ REG <6>), Khi e6 eanh tac dng thich hgp xudt hign tai pin RBO/INT, c& ngit INTF duge set bit chip trang thai ede bit digu khién GIE va PETE, Ngit nay 6 SVTH: Tran Tuimg Bang 25 Vo Van Chinh kha nang dinh thie vi digu khién tir ché d9 sleep néu bit cho phép ngit duge set tude hi lénh SLEEP duge thye thi. ~ Thanh ghi OPTION_REG: dia chi 81h, 181h ‘Thanh ghi nay cho phép diéu khién chite nang pull-up ea ede pin trong PORTB, xée lap cdc tham s6 vé xung tac dong, canh téc dong cia ngét ngoai vi RBO (External Interrupt) va bo dém Timer0. RoW ROWS RAW RW.A WA _—RWAA_RIN__R REPU [ireos | rocs | rose | Psa | ps2 | psi | so _] 7 wot Hinh 14; Céu trie thanh ghi OPTION_REG cho phép ngit ngoai va ng timer + Bit 7 PORTE pull-up enable bit = 1 khdng cho phép cite nang pull-up cia PORTB =0 cho phép chite nang pull-up cia PORTB "Bit 6 INTEDG Interrupt Edge Select bit INTEDG = 1 ngét xay ra khi canh duong chan RBO/INT xuat hién. INTEDG = 0 ngit xay ra khi canh dm chan BRO/INT xudt hign, + Bit 5 TOCS Timer Clock Source select bit Tosc TOSC = 0 diing xung clock bén trong (xung clock nay bing véi xung clock dig 48 thye thi Ignh), * Bit 4 TOSE Timer0 Source Edge Select bit TOSE = 1 tic dong canb len TOSE = 0 téc dong eanh xuéng. = Bit 3 PSA Prescaler Assignment Select bit PSA = 1 b@ chia tan s6 (prescaler) duge ding cho WDT PSA =0 bd chia tin sé duge diing cho Timer = Bit 2:0 PS2:PS0 Prescaler Rate Select bit 1 clock lay tir chan RA4/TOCK 1 SVTH: Tran Tung Bang 26 Vo Van Chinh Cée bit nay cho phép thiét lip ti sé chia tn sé cia Prescaler. Bit Value TMRO Rate WOT Rate 090 452 4 001 1:4 1:2 010 1:8 1:4 ou. 1:16 | 1:8 190 4:32 | 1:16 aoa 4:64 | 1:32 210 1:128 | 1:64 aa 4:256 | 1: 128 by Ngit tran Timert: Cap thanh ghi TMRIH va TMRIL chira gia tri dém eta Timerl, ehiing ting tt gia tr} 0000n dén gta tr quay lai gid tri 0000h.Va ngat xuat hign khi tran qua gid tri FFFFh khi nay oo ngit TMRIIF sé duge datNgit c6 thé hoat déng hod khéng hoat dong nha vige dat hode xba bit TMRUIE. Fh dén gid tri nay tiép tye ting thi timerl tran va Thanh ghi digu khién Timer! TICON: TICON: TIMERT CONTROL REGISTER (ADDRESS 10h) a a ET LO OS [ron] 7 0 bit 7,6 khong sir dung, bit 5.4 TICKPSI:TICKPSO lira chon hé s6 chia xung_vao TICKPSI:TICKPSO ty 16 chia dau vao 00 Lil o1 1 10 14 1 18 bit 3 TIOSCEN bit diéu khién bd dao dong Timert BO dao déng hoat déng 0= BO dao dng khéng hoat dong bit 2 bit diéu khién xung clock ngoai dong bé khi TMRICS=1 bit2=0 c6 dang clock ngoai =I khdng déng bé clock ngoai SVTH: Tran Tung Bang 27 Vo Van Chinh khi TMR1CS=0 bit nay khing c6 te dung * bit 1 TMRICS bit lya chon ngudn xung clock vio TMRICS=I clock tir chan RCO/T1OSO/TICKI (surén én) TMRICS=0 clock trong Fosei4 = bit O bit bat tt Timer Timer 1 enable (O-Timer 1 Disable 6. Phiong phap diéu ché xung PWM: Dé digu khign te 46 déng ev DC ngui ta 66 thé ding nhiéu phwong phép khée nhau trong dé e6 mot phuwong phép hét site quan trong va thong dung la phuong php diéu ché 49 rong xung kich (PWM). 6.1, Diéu ché PWM Ia Phuong phép diéu ché 49 rong xung PWM (Pulse Width Modulation) la phurong phép didu chinh dign 4p ra tai hay néi cach khae 14 phuong phap diéu ché dya trén sy thay linh kign dong ngat (SCR hay 01 dO rong ciia chudi xung kich dé dibu ki Transistor) din dén sy thay d6i dign ap ra tai. DS thj dang xung diéu ché PWM. Hinh 15: Dé thi dang xung diéu ché PWM 6.2. Nguyén li cia PW! SVTH: Tran Tung Bang 28 Vo Van Chinh iy li phuong phap duge thy hign theo nguyén the ding ngit nguén o6 tai mét each 6 chu ki theo fut iu chinh thoi gian déng ngit Phin ti thue hign nhigm vu déng cit la eae van bin din.So 6 nguyen Ii digu khién tai ding PWM NevON PM ung wing om a1 om ° ' iz ay ue ‘ : ™ ° ' Hinh 16: So dé nguyén li ding PWM diéu khién dign dp tai (trai) So dd xung van diéu khién va du ra (phai) ‘Tong khodng thoi gian 0 - to ta cho van QI mé todn bd dign fp ngubn Ud drge dua ra ti Can trong khodng thoi gian tr dn T cho van QI khéa, eft ngubn cung edp cho ti. Vi vay i thd gin 0 thay di tr cho dé T ta ® cung cdp ton b9 , mt phn hay kha hon tod ign 4p cung cip cho ti Céng thite tinh gia tri trung binh cia dign dp ra Ua = Unac (to/T) hay Us = Una ‘Trong d6 Us: la dign ap trung binh ra tai Uns: la dign ap nguon. to: [8 thoi gian xung 6 surdm durong (van kh6a md) T; thoi gian ca thai gian xung suon durong va suém am. SVTH: Tran Tung Bang 2 Vo Van Chinh D = iT: hé sé digu chinh hay PWM duge tinh bing % ‘Vi dy: dign ép nguén la 12V. Néu hé s6 diéu chinh 18 20% Néu hé sé digu chinh 1a 50% Vi vay, trong dé tai: “Bigu khién t6e 49 d6ng co DC” ching em sit dung phuomg phap didu ché 46 rong xung PWM dé thay déi dign dp DC cdp cho dong co tir 46 thay déi téc d6 cita déng co DC. Déi voi PICI6F877A dé sit dung phirong phap nay ta 6 the sit dung b6 diéu ché 49 rong xung (PWM) tich hgp sin bén trong PIC voi 2 ngd ra xung tai hai chan CPI (17) va CCP2 (16).Tai cée chan nay khi hoat dong s@ xuét hadi xung vuong v6i 49 rong digu chinh duge d8 ding Xung ra nay ding d8 tg tin higu dng ngit Trasistor trong mach dng lve, véi dG rng xe dinh sé go ra mot dign 4p trung binh xe dinh 6.3. Céch thiét lip ché dj PWM cho PICI6F8774 Khi hoat dong 6 ché dd PWM (Pulse Width Modulation _ khdi diéu ehé 49 rong xung), tinh higu sau khi diéu ché sé duge dua ra cdc pin cua khdi CCP (can an dinh cic pin nay 1a output ). Dé str dung chire nang diéu ché nay trude ‘én ta clin tién hanh cde bude cai dat sau Thiét lap théi gian eiia | chu ki ca xung digu ché cho PWM (period) bang cach dua gid tr thich hop vao thanh ghi PR2 Thiét lip 46 réng xung cin digu ché (duty cycle) bing cach dua gid tr] vao thanh ghi CCPRXL va ede bit CCPICON<5:4>. Dieu khién cée pin cua CCP la output bang cach clear cae bit tong tmg trong thanh ghi TRISC. Thiét lap gid ti b6 chia tin s6 prescaler c ‘dong bing each dua gid tri thich hop vdo thanh ghi T2CON Cho phép CCP hoat dong &r ché dg PWM. Timer2 va cho phép Timer2 hoat Trong 46 gid tri 1 chu ki (period) cua xung diéu ché duge tinh bing céng thite: PWM period = [(PR2) +1]*4*Tasc¥(gid tri bd chia tin 6 ella TMR2). BO rng ciia xung diéu ché (duty cycle) dufe tinh theo cing thie: PWM duty Sv: Tran Tics Bang cycle = (CCPRXL:CCPXCON)*Tosc*(qi tt bg chia tin sTMR2) Jp Vo Vin Chin pb in? GVHD: Neuyén Thanh Thio ay Cy Rete — CCPIEONCE — = nezeget aa foo] t H ae Bel ca Hinh 17: So dé khdi CCP (PWMmode)(trai) cave ‘Cae tham s6 cua PWM (phai) ~ Khi gi tr thanh ghi PR2 bling vdi gid tri thanh ghi TMR2 thi qué trinh sau xay ra: * Thanh ghi TMR2 ty dong duge xa, Pin ciia khdi CCP duge set. = Gid tri thanh ghi CCPRIL (chiia gid tri dn dinh dé rong xung digu ché duty le) durge dua vao thanh ghi CCPRxH, IL Mgeh edu H (H-Bridge Cireuit ). 1/ Céng dung va nguyén li hoat dng: SVTH: Tran Tuéng Bang Vo Van Chinh Mach clu HT mt mach dign gid dio chigu dng dign qua mgt d6i trgng DSi tung li dng co DC ma ching ta can digu khién Mu dich digu Khign fa cho phép «ding dign qua déi tuong theo chigu A dén B hode Bdén A .Tird6 giip 461 chidu quay cca dng ea v7 cong sudt, Mosfet, ... Con ¢6 céc loai mach clu H duge tich hgp thanh cde IC nhu: Hign nay, ngoai loai mgch cdu H duge thiét ké tir cdc linh kign roi nhu: L293D va L298D. Do ddi tugng diéu khién trong dé tai nay li dng co DC 06 dign ap. 12V vi edng suit nh nén ching em ding mach céu H dio chigu déng eo la IC L298 Vv == GND Hinh 18: Mach edu H Khao sat hoat dng ciia mach cau H SVTH: Tran Tung Bang 2 Vo Van Chinh pb in? GVHD: Neuyéin Thanh Thio Vv u R1 A Bi ewone — 2 R2 GND ND Hinh19; Nguyen I hoat dong cia mach eau H 2/ Mach cau H L298D: L298D la m6t chip toch! hop 2 mach trong g6i 15 chin, L298D 6 dign dp danh ghia cao (lén hon SOV) va ding dign danh nghia lén hon 2A nén rit thich hop cho cae tmg dung céng suat nhé nhur cic dong co DC loai vira va nha, Hinh 20: So dd chan cia IC L298D (phai) IC L298D (trai) DO fr GVHD: Nguyén Thanh Thao C62 mach cu H trén mi chip L208D nén e6 thé digu khién 2 46i turyng riéng véi 1 chip nay. M&i mgch elu H bao gam 1 dug ngudn Vs (that ra la dudng chung cho 2 mach clu), mOt chin current sensing (cim bién dong) & phin cui cia mach cén H, chan nay khéng duge ndi dat ma bé tring dé cho ngwai ding ndi 1 dign tro nho goi la sensing resistor Bing cacch! do dign dp roi trén dign tro ny chting ta e6 thé tinh duge dong qua dign tro, cing 1a dong qua déng co, mue dich cita vige nay la dé xée dinh dong qua tii, Néu vige do lwong la khGng can thigt thi ta c6 thé ndi chan nay voi GND. Dong ca sé duge ndi v6i 2 chan OUTI, OUT2 hofe OUTS, OUT4.Chan EN (ENA va ENB) cho phép mach cu hogt dng, khi chin nay durge kéo lén mite cao. 1L298D khéng chi duge ding dé dao chiéu dong co ma con diéu khien van téc dong co bing PWM.Trong thy 18, céng suat thye ma L298D cé thé tai nh hon gid tri danh OV, 1=2A). Dé ting dong tai cua chip len wip doi, ching ta e6 thé néi hai mach edu H song song v6i nhau (cée chan ¢6 chite nang nhu nhau cia 2 mach nghia eta né (U chu durge néi chung). MWVLCD Chute nang va hinh dang LCD. ‘Naay nay, thiét bj hign thi LCD (Liquid Crystal Display) duge str dung trong rat nhiéu ce img dyng cia vi diéu khién.LCD o6 rit nhiéu wu diém so v6i cfc dang hién thi SVTH: Trin Tung Bang 34 Vo Van Chinh hie: né e6 kha ning hign thi ki ar da dang, tre quan (ch, 98 va ki ty a8 hoa), d@ dang dua vio mach img dung theo nhiéu giao thite giao tip khéc nhau, tn rat it tai nguyén hg thong va gid thanh 18 Hinh 22: LCD va so dé chan 2/ Chute ning cae chain Chan ar) Ten Chite nang 6 ‘Chan ndi dat cho LCD, khi thiét ké mach ta ndi chan nay v6i GND 1] Vss_ | etta mach digu khién ‘Chan cap ngudn cho LCD, khi thiét ké mach ta ndi chan nay véi 2 | Vo | Vec=SV cia mach diéu khién 3__|_Va._| Chan nay ding dé digu chinh 46 twong phan cia LCD. ‘Chan chon thanh ghi (Register select). Noi chan RS véi logic “0 (GND) hoae logic “1” (Vec) dé chon thanh ghi. + Logic “0”: Bus DBO-DB7 sé ndi v6i than ghi Ignh IR cia LCD (6 4 RS _| ché do “ghi” - write) hoa ndi vei bG dém dia chi cia LCD (6 ché do “dye” - read) + Logic “1”: Bus DBO-DBT sé néi véi thanh ghi da ligu DR bén trong LCD ‘Chan chon ché 46 docighi (Read/Write). N6i chan R/W v6i logic “0” ci R/W | dé LCD hoat dong 6 ché d6 ghi, hoe ndi vai logic “1” 48 LCD 6 ché 6 doc. ‘Chan cho phép (Enable). Sau khi cde tin higu doe dat lén bus DBO- 6 | E _ | DB?, cdc Ignh chi duge chp nhgn khi c 1 xung cho phép cia chin + O che dG ghi: Do ligu o bus sé duge LCD chuyén vio (chap nhain) SVTH: Tran Tung Bang 35 Vo Van Chinh DO fr GVHD: Nguyén Thanh Thao Thanh ghi en frong KH phathign mot mung (highto-Tow anstion) cca tin higu chin + G ché d6 dye: Dit ligu s8 duge LCD xudt ra DBO-DB7 khi phat hign canh len (low-to-high transition) chan E va drge LCD git & ‘bus dén khi nao chan E xuéng mite thép. “Tam durong cia bus dit ligu dig dé trao d6i thong tin voi MPU. Co 2 ché do sir dung 8 dung bus nay : ppo- | + Ché d9 8 bit: Dir ligu duge truyén trén ca 8 dong, véi bit MSB 1a DB7_| bit DBT. + Ché d9 4 bit: Dir ligu durge truyén trén 4 duvong tit DB4 ti DBT, bit MSB la DB. Bang Chie nang cde chin cia LCD * Ghi chu: 6 ché d9 “doe”, nghia 1a MPU sé doc thdng tin tir LCD thong qua ede chan DBx ‘Con khi & ché 49 “ghi”,nghia la MPU xuat thong tin diéu khién cho LCD thong qua ede chain DBx. 714 3/Dic tinh dién cita cac chan giao tiép: LCD sé bi hong nghiém trong, hoae hoat déng sai léch néu ban vi pham khoang jc tinh dign sau day: ‘Chan cap nguén (Vec-GND)__| Min:-0.3V, Maxs7V. (Cie chin ng6 vio (DBx, F, ...) | Min:-03V, Max:(Vee~0.3V) ‘Nhigt d6 hoat dong Min:-30C , Max:#75C Nhigt dd bio quan Min:-55C, Max:+125C Ignh eta LCD: Cac Ignh etia LCD 06 thé chia thanh 3 nhém nhur saw: enh vé kiéu hién thi, VD: Kiéu hign thi (I hang /2 hang), chigu dai dir ligu (8 bit /4 bit), # Chi dinh dia chi RAM ndi. © Nh6m Ignh truyén dit ligu trong RAM ng SVTH: Tran Tung Bang Vo Van Chinh ‘V6i mdi Ignh, LCD cin mGt khoang théi gian dé hodn tit, thdi gian nay 06 thé Khd lau 461 v6i tée dé ctia MPU, nén ta cn kiém tra eb BF hoge dgi (delay) cho LCD thye thi ‘xong Ignh hign hanh méi c thé ra Ignh tiép theo. ‘Ten Kenh Hoat dong Tae (max) Clear ay MA Igah: DBx=DB7 DB6 DBS DB4 DB3 DB2 DBI DBO DBx=0 0 0 0 0 0 0 1 Lénh Clear Display (x @ hién thi) sé ghi mét khoang tréng- blank (ma hién ki ty 20H) vao tat cd 6 nhé trong DDRAM, uw d tra b dém dia AC=0, tra lai kiéu hign thi géc néun bi thay déi. Nghia 1a : Tit hign thi, con td doi vé g c trai (hang dau tin), ché 6 tang AC. Return home Ma Knh: DBx=DB7 DB6 DBS DB4 DB3 DB? DBI DBO DBx= 0 0 0 00 0 1 * Lénh Return home tra b6 dém dja chi AC vé 0, tra lai kigu hién thj géc néu n bi thay di, NOi dung cia DDRAM khong thay di 132 Entry mode set Ma Kink: DBx= DBT _DB6 DBS DB4 DBI _DB2 DBI DBO DBx=0 0 0 0 0 1 [Dj IS] VD : Tang (1/D=I) hoge giim (V/D=0) b6 dém dia chi hién thi AC 1 don vi mdi khi c6 hanh dong ghi hode doe ving DDRAM. Vit S : Khi S=1 toan bO ndi dung hign thj bj dich sang phai (VD=) hode sang trdi (/D=1) mdi khi ¢ hanh dong ghi ving DDRAM. Khi S: con tré cling di chuyén theo sy tng gidam nay. ): khng dich ndi dung hién thi. 37 us ‘Noi dung hién thi khong dich khi doc DDRAM hoge doc/ehi SVTH: Tran Tung Bang Vo Van Ch DO fr GVHD: Nguyén Thanh Thao ving CGRAM. Display onloft control Ma Ignh : DBx=DB7 DB6 DBS DB4 DB3 DB2 DBI DBO DBx= 0 0 0 0 1 [D} [C] [B] D: Hién thj man hinh khi D=1 va nguge lai. Khi tit hién thi, ndi dung DDRAM khéng thay déi, CC: Hidn thi con tré khi C=1 va nguge Iai. Vj tri va hinh dang con tro, xem hinh 8 B: hap nhay ki te tai vi tri con trd khi B=! va nguge lai, Xem thém hinh 8 vé kiéu nhap nhay. Chu ki nhép nhay khong 409,6ms khi mach dao dng ni LCD 1a 250kHz Cursor or display MA Ifnh: DBX=DB7 DB6 DBS DB4 DB3 DB2 DBI DBO DBx= 0 0 0 1 [SC)[RA]* * Lénh Cursor or display shift dich chuyén con tré hay di ligu hién thi sang tréi ma khéng cdi hanh déng ghi/doe dit ligu. Khi hién thj kigu 2 dong, con tro sé nhay xuéng dong dudi khi dich qua vi tri thi 40 cia hing dau tign, Dit ligu hing dau va hing 2 dich cing mOt lic. 37 us Funetion set Mi goh: DBXx= DBT DB6 DBS DB4 DBS DB2 DBT DBO DBx= 0 0 1 (DL IN] FF] * * DL: Khi DL=1, LCD giao tiép véi MPU bing giao tite 8 bit (ir bit DB7 dén DBO). Neuge lai, giao thire giao tigp la 4 bit (tir bit DB7 dén bit DBO). Khi chon giao thite 4 bit, di ligu duge truyén/nhin 2 lan lign tiép. voi 4 bit cao goi/nhan trude, 37 us SVTH: Tran Tung Bang Vo Van Ch DO fr GVHD: Nguyén Thanh Thao Set CGRAM address Set DDRAM address 4 bit thdp eoi/nhan sau. IN: Thiét lop hhién thj 2 hang. hang hi th. Khi N-O: higm thi 1 ing, N=I F: Thiét lap kiéu ki ur. Khi F=0: kid ki tu 5x8 diém anh, F=1 kiéu ki tyr 5x10 diém * Chit § «© Chi thy hign thay déi Function set 6 dau chuong trinh. Va sau khi duege thee thi 1 tan, Ignh thay déi Function set khng duege LCD chap nhén nita ngogi trit thiét lp chuyén déi giao thite siao tidp. Khong thé hién thi kiéu ké ue Sx10 diém anh & kiéu hién thi 2 hang Ma inh: DBx=DB7 DB6 DBS DB4 DBI DB2 DBI DBO DBx= 01 [ACG][ACGI[ACG]ACG][ACG][ACG] Lénh nay ghi vio AC dia chi cia CGRAM. Ki higu [ACG] chi 1 bit eta chudi dit Higu 6 bit. Ngay sau Iénh nay 1a 1énh de/ghi dor ligu tir CGRAM tai dia chi da duge chi dink MA lgnh : DBx=DB7 DB6 DBS DB4 DB3 DB2 DBI DBO DBx= 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD] Lénh nay ghi vao AC dia chi cia DDRAM, ding khi edn thiét lap toa dé hién thj mong mudn, Ngay sau Iénh nay la lénh doc/ghi dat ligu tir DDRAM tai dia chi da duge chi dinh, SVTH: Tran Tung Bang Vo Van Ch 37 us 37 us DO fr GVHD: Nguyén Thanh Thao Khi 6 ché d@ hin thi | hing: dia chi e thé tir OOF dn 4FH. Khi 6 ché d6 hién thi 2 hang, dia chi ti 00h dén 27H cho hang thir nhat, va ti 40h dén 67h cho hang thir 2. ‘Xem chi tiét 6 hinh 4. Read BF_| Ma Ifuh: DBx=DB7 DB6 DBS DB4 DB} DB2 DBI |Ous and | DBO address [ac] Nhu da va leah €6) s® bi bé qua néu cd BF chua vé mite thdp. Cho nén, khi tap trinh digu khign, ban phai kiém tra c BF trude khi ghi dir ligu vao LCD. Khi doe eb BF, gid trj ca AC cing duge xuat ra cdc bit IAC].N la dia chi caa CG hay DDRAM La ty thuge vao enh irude doe Write | Ma lgnh: DBx=DB7 DB6 DBS DB4 DBS DB2 DBI [37 us data to | DBO CG or DBx= [Write data] DDRAM | (RS=1, RW=0) Khi thiét lap RS=1, R/W=0, dit ligu cin ghi duge dua vio cde chan DBx tir mach ngoai s duge LCD chuyén vao trong LCD tai dia chi duge xc dinh tir lénh ghi dia chi trade d (lgnh ghi dia chi cing xée inh luén ving RAM cin ghiy Sau khi ghi, 60 dém dia chi AC ty dng ting/gidm 1 thy theo thiét lap Entry mode. Luu § la thai gian cp nhat AC khong tinh vao thai gian thye 40 SVTH: Tran Tung Bang Vo Van Ch thi len, Read Ma Ink: DBx = DB7 DB6 DBS DB4 DB} DB2 DBI | 37 us data from | DBO ce DBx= [Read data] (RS=1, RW=1) IV. Déi tryng didu khién: Dong co DC ~ Diy li dong co sir dung trong dé tai Hinh 23: Dong co DC €6 trong dé an gin encoder str dung SVTH: Tran Tung Bang 4 Vo Vain Chih - Bén trong dng co co mot encoder d6ng tric voi nd dig dé xdc dinh toc d6 va ri ctia dong co. ~ Ce thong sé eta dong eo nhur sau: + Dign dp DC cdp cho dong co: 12VDC + Tbe dd 16% da 2000 vongipht + $6 xung cia encoder 60xung/vong + ign cam L=102mH, = Dong ea c6 tit ea 5 day ra +2 day cung cp ngudn 12 V cho déng co +2 day ngudn SV cung cap nguén cho encoder +1 day tin higu dua xung encoder ra ngoai ~ Phuong php diéu khién: Thay d4i tbe d9 déng co bing cach thay déi ép cp vao ccho dng co. - Nguyén Iy hoat dong cia cam bién encoder: ¢6 nhiéu logi encoder khée nhau, M&i loai lai cé mét nguyén ly hoat déng khac nhau, trong khudn khé bio céo dé én, em xin trinh bay phan nguyén ly logi encoder trong ‘ma em sit dung: incremental encoder. M6 hinh thie 1 Hinh 24: Encoder Incremental encoder vé co ban 14 mét dia tron quay quanh mt trye duge dye 15 hu hinh trén, SVTH: Tran Tung Bang Vo Vain Chinh ‘Dia khic vach BG thu phat quang Hinh 25: Cau tao Encoder 6 2 bén mat cua céi dia tron d6, s8 c6 mot b6 thu phat quang. Trong qué trinh encoder quay quanh truc, néu gp 16 réng thi anh sing chiéu qua duge, néu gip manh cchin thi tia sing khong chiéu quit duge. Do dé tin higu nbn duge tir sensor quang ka mot chudi xung.Mdi encoder duge ché tao sé biét siin 6 xung trén mot vong. Do dé ta 66 thé ding vi ditu khign dém sé xung dé trong mét don vi thai gian va tinh ra tbc 46 dong eo. Encoder ma em str dung trong dé an ciia minh, hodn toan giéng voi md hinh & trén, ‘Tuy nhién, m6 hinh trén e6 nhue diém lém la: ta khong thé xac dinh duge dong co quay trdi hay quay phii, vi cé quay theo chiéu nao di ntta thi chi cé mt dang xung dura ra, Ngodi ra diém bit diu cia ddng co, ta cling khéng thé mio biét duge. Cai tién m6 hinh 1 bang m6 hinh 2 nhw sau: Mé hinh thie 2 SVTH: Tran Tung Bang ao vacua Hinh 26: Bia kh 2 cdng vach Iéch pha nhau 90”

You might also like