Professional Documents
Culture Documents
DKS Group
www.EmbestDKS.com
DKS_GROUP
MC LC Bi 1: iu khin IO (vo ra) led n 1.Kn trc v vi iu khin 2. Gii thiu vi iu khin Atmega16L 2.1.M t cc chn: 3. Phn mm lp trnh codevision(Hitech): 3.1.M t phn cng trn KIT AVR 03: 3.2.Lp trnh: Bi 2.iu khin vi led 7 on 1.Yu cu 2.M t 3.Thc hnh Bi 3.iu khin IO vi LCD 1.Yu cu 2.L thuyt 3.M t 4.Thc hnh Bi 4.ADC vi LM35 1.Yu cu 2.L thuyt 3.M t 4.Thc hnh Bi 5.Giao tip I2C vi DS1307 1.Yu cu 2.M t 3.Thc hnh Bi 6.Truyn thng RS-232 vi Visual Basic 1.Yu cu DKS Group 2
4 4 4 4 6 6 7 18 18 18 18 23 23 23 23 24 27 27 27 28 28 32 32 32 32 38 38 www.EmbestDKS.com
DKS_GROUP
2.M t 3.Thc hnh 4.Visual Basic Bi 7.o lng s dng my tnh 1.Yu cu 2.M t 3.Thc hnh Bi 8.iu khin Step motor 1.Yu cu 2.L thuyt 2.1.Gii thiu ng c bc 2.2.H thng iu khin ng c bc 3.Nguyn l iu khin ng c n cc 4.Mch iu khin ng c bc
38 40 42 54 54 54 54 59 59 59 59 59 61 62
DKS Group
www.EmbestDKS.com
DKS_GROUP
Yu cu: - Khi to project bng CodeVision. - Np chng trnh. - iu khin led n trn KIT theo mun. L thuyt: 1.Kin trc vi iu khin: AVR l h vi iu khin 8 bit theo cng ngh mi, vi nhng tnh nng rt mnh c tch hp trong chip ca hng Atmel theo cng ngh RISC, n mnh ngang hng vi cc h vi iu khin 8 bit khc nh PIC, Pisoc.Do ra i mun hn nn h vi iu khin AVR c nhiu tnh nng mi p ng ti a nhu cu ca ngi s dng, so vi h 8051 89xx s c n nh, kh nng tch hp, s mm do trong vic lp trnh v rt tin li. * Tnh nng mi ca h AVR: - Giao din SPI ng b. - Cc ng dn vo/ra (I/O) lp trnh c. - Giao tip I2C. - B bin i ADC 10 bit. - Cc knh bm xung PWM. - Cc ch tit kim nng lng nh sleep, stand by..vv. - Mt b nh thi Watchdog. - 3 b Timer/Counter 8 bit. - 1 b Timer/Counter 16 bit. - 1 b so snh analog. - B nh EEPROM. - Giao tip USART..vv. 2. Gii thiu vi iu khin Atmega16L:
DKS Group
www.EmbestDKS.com
DKS_GROUP
Atmelga16L c y tnh nng ca h AVR, v gi thnh so vi cc loi khc th gi thnh l va phi khi nghin cu v lm cc cng vic ng dng ti vi iu khin. Tnh nng: - B nh 16K(flash) . - 512 byte (EEPROM). - 1 K (SRAM). - ng v 40 chn , trong c 32 chn vo ra d liu chia lm 4 PORT A,B,C,D. Cc chn ny u c ch pull_up resistors. - Giao tip SPI. - Giao din I2C. - C 8 knh ADC 10 bit. - 1 b so snh analog. - 4 knh PWM. - 2 b timer/counter 8 bit, 1 b timer/counter1 16 bit. - 1 b nh thi Watchdog. - 1 b truyn nhn UART lp trnh c. 2.1.M t cc chn: - Vcc v GND 2 chn cp ngun cho vi iu khin hot ng. - Reset y l chn reset cng khi ng li mi hot ng ca h thng. - 2 chn XTAL1, XTAL2 cc chn to b dao ng ngoi cho vi iu khin, cc chn ny c ni vi thch anh (hay s dng loi 4M), t gm (22p). - Chn Vref thng ni ln 5v(Vcc), nhng khi s dng b ADC th chn ny c s dng lm in th so snh, khi chn ny phi cp cho n in p c nh, c th s dng diode zener:
DKS Group
www.EmbestDKS.com
DKS_GROUP
Hnh 2.1. Cch ni chn Vref - Chn Avcc thng c ni ln Vcc nhng khi s dng b ADC th chn ny c ni qua 1 cun cm ln Vcc vi mc ch n nh in p cho b bin i. 3. Phn mm lp trnh codevision(Hitech): La chn phn mm : y l phn mm c s dng rt rng di bi n c xy dng trn nn ngn ng lp trnh C, phn mm c vit chuyn nghip hng ti ngi s dng bi s n gin, s h tr cao cc th vin c sn. 3.1.M t phn cng trn KIT AVR 03: Cc led n ni vi cc cng vo ra ca ATMEGA16L(PORTAPORTB-PORTC-PORTD). led sng cn a mc logic ca cc chn IO ca AVR ln mc cao(5V), led tt a cc chn IO ca AVR xung mc thp.
DKS Group
www.EmbestDKS.com
DKS_GROUP
R_470
5VCC
DKS Group
www.EmbestDKS.com
DKS_GROUP
Nu PORTxn c ghi gi tr logic 1 khi cc chn ca cng c dng nh chn ra ,cc chn c gi tr 1.Nu PORTxn ghi gi tr 0 khi cc chn ca cng c dng nh chn ra th cc chn c gi tr 0. Cc cng ca AVR u c th c,ghi. thit lp 1 cng l cng vo ,ra th ta tc ng ti cc bit DDxn, PORTxn,PINxn.ta c th thit lp tng bit lm cng vo,ra c khng ch vi cng,nh vy ta c th s l ti tng bit,y chnh l im mnh ca cc dng Vi iu khin 8 bit.
Ta c th s dng CodeWizardAVR thit lp cho cc PORTx v Pinx. V d nh trn hnh:cc bit 0,1,2,4,7 ca PORTA lm chn ra c tr ko,cn cc bit cn li lm chn vo. Khi thit lp xong th cc bit 0,1,2,4,7 s c th xut d liu ra cn cc bit cn li c th nhn d liu vo. V d : Ta mun ghi d liu gi tr logic 0 ra PORTA.0 bt tt mt Led th:
DKS Group
www.EmbestDKS.com
DKS_GROUP
PORTA.0=1; Ta mun c d liu l mt bit t chn 3 ca PORTA: Bit x; x=PINA.3; Cng nh vy khi ta thit lp PORTA lm cng ra th ta c th xut d liu ra t PORTA: PORTA=0xAA; PORTA Cn nu ta thit lp PORTA lm cng vo v gi tr hin thi ca PORTA: PORTA Th sau cu lnh c gi tr t PORTA: x=PORTA th x=0x55. Khi thit lp PORTA lm cng ra th khi reset gi tr ca PORTA l PORTA=0xFF; PORTA Khi thit lp PORTA lm cng vo th khi reset gi tr ca PORTA l PORTA=0x00; PORTA Vic thit lp cng vo ra l mt vic quan trng v ty theo mc ch s dng cc cng no lm cng vo ra,th ta phi thit lp ng th mi c th s dng c, ng tc ny khc vi h vi iu khin 8051- AT8951. CodeVision: Chy CodeVision bng cch click chut vo ICON ca CodeVision trn Desktop c ca s nh sau:
DKS Group
www.EmbestDKS.com
DKS_GROUP
New c nh sau:
Chn Project sau click chut vo OK c ca s hi xem c s dng Code Winzard khng:
DKS Group
10
www.EmbestDKS.com
DKS_GROUP
S dng chp AVR no v thch anh tn s bao nhiu ta nhp vo tab Chip. khi to cho cc cng IO ta chuyn qua tab Ports. Cc chn IO ca AVR mc nh trng thi IN, mun chuyn thnh trng thi OUT c th a cc mc logic ra ta click chut vo cc nt IN (mu trng) n chuyn thnh OUT trong cc Tab Port. Sau chn File Generate, Save and Exit.
DKS Group
11
www.EmbestDKS.com
DKS_GROUP
DKS Group
12
www.EmbestDKS.com
DKS_GROUP
Chng ta c code vision khi to code. Trong c y code cn thit m khi ny chng ta cu hnh cho cng IO. Chng ta bt u son code. led nhp nhy chng ta dng hm delay_ms(). Do ta thm th vin delay.h bng cch tm dng lnh: #include <mega16.h> ngay u chng trnh vit ngay di dng lnh sau: #include <delay.h>. led nhp nhy cng IO ta a ra cng IO mt bin temp c gi tr tng dn t 0 n 255. Do ta khai bo thm mt bin unsigned char temp ngay di dng // Declare your global variables here nh sau:
DKS Group
13
www.EmbestDKS.com
DKS_GROUP
Khi to cho cc cng IO Trong hm main c vng while(1). Chng ta son code vo nh sau: DKS Group 14 www.EmbestDKS.com
DKS_GROUP
temp=0; while (1) { // Place your code here PORTA=temp; PORTB=temp; PORTC=temp; PORTD=temp; delay_ms(1000); temp++; }; }
dch chng trnh n F9 hoc vo menu : Project c ca s Information nh sau: DKS Group 15
Compile.
www.EmbestDKS.com
DKS_GROUP
Chng trnh khng c li. Nhp OK. np chng trnh cc bn cn cu hnh cho mch np. Vo menu: Settings Programmer c ca s nh bn cnh. Mch np ta dng STK 200 do cc bn chn Kanda Systems STK200+/300. Nhp OK. Sau cc bn chn trn menu: Projects Configure c ca s nh sau:
DKS Group
16
www.EmbestDKS.com
DKS_GROUP
Trong tab After Make cc bn nh du vo Program the Chip v nhp OK. Nhn t hp phm Shift + F9 c nh hnh bn. Cm Jump mch np vo .Click vo Program. i np xong nh jump np ra n Reset thy led chy.
DKS Group
17
www.EmbestDKS.com
DKS_GROUP
1.Yu cu: Bit phng php qut led. a s bt k ra hng led. 2.M t: 4 led 7 thanh anot chung, 4 chn anot chung(chn dng) c ni vi 4 transitor ta c th qut led s dng 4 chn ca PORTD, cc chn iu khin sng cc thanh cn li c ni song song nhau v a vo PORTB ca AVR v c th t nh sau: T bt 0 6 ng vi t A G. Bt th 7 l du chm.
V c 4 led nn ta c th hin th n hng nghn. Do u vo ca ta l mt s bt k ln ti hng nghn. Ta phi tch ly tng s hng nghn, trm, chc, n v ri a vo 4 bin ri ty vo 4 bin s m ta a ra tng led. Qut let ta lm nh sau: a PORTD.0 xung 0 bt ngun cho led hng n v, y tr s hng n v ra PORTB, tr mt khong thi gian a PORTD.0 ln mt tt ngun led n v, a PORTD.1 xung 0 bt ngun cho led hng chc, y gi tr hng chc ra PORTB, tr mt DKS Group 18 www.EmbestDKS.com
DKS_GROUP
khong thi gian, C lm nh vy n hng nghn. Nh vy ti mt thi im ch c mt led sng ch bng 1/3 thi gian led tt, nhng do tn s bt led nhanh, mt ngi lu nh nn vn thy led sng nh lc no cng bt ngun cho led. 3.Thc hnh: Cc bc khi to tng t bi mt. Chng ta son tho code gm hai hm nh sau v t ngay pha trn hm main nh trong hnh.
void daydulieu(unsigned char x)// Ham dua du lieu ra PORT { switch(x) // Tuy thuoc vao bien dau vao ma dua du lieu ra tu 0...9 { //logic 1 tat led, logic 0 bat led case 0: { PORTB=0xC0; break; } // So 0 case 1: { PORTB=0xF9; break; } // So 1 case 2: { PORTB=0xA4; break; } // So 2 case 3: { PORTB=0xB0; break; } // So 3 case 4: { PORTB=0x99; break; } // So 4 case 5: { PORTB=0x92; break; } // So 5 case 6: { PORTB=0x82; break; } // So 6 case 7: { PORTB=0xF8; break; } // So 7 case 8: { PORTB=0x80; break; } // So 8 case 9: { PORTB=0x90; break; } // So 9 } } void hienthi(int n) delay_ms(10);// tre { PORTB=0xFF;// tat toan bo led int a,b,c,d; PORTD=0xFD;//led thu hai // Lay cac so cac hang daydulieu(c);// dua ra hang chuc a= n/1000; // lay hang delay_ms(10);// tre nghin PORTB=0xFF;// tat toan bo led b=(n-a*1000)/100; // lay hang PORTD=0xFB; tram daydulieu(b); c=(n-a*1000-b*100)/10; // lay delay_ms(10); hang chuc PORTB=0xFF; d=(n-a*1000-b*100-c*10);// lay PORTD=0xF7; hang don vi daydulieu(a); delay_ms(10); // Quet led PORTB=0xFF; PORTD=0xFE;// led dau tien } daydulieu(d);// day ra hang don vi
DKS Group
19
www.EmbestDKS.com
DKS_GROUP
DKS Group
20
www.EmbestDKS.com
DKS_GROUP
DKS Group
21
www.EmbestDKS.com
DKS_GROUP
Ch : trong bi ny v nu a cc PORTD v PORTB lc khi to bng 0x00 th tt c cc led s sng do ti cc cu lnh khi to cho hai PORT ny cc bn hy gn cho n gi tr 0xFF nh hnh sau:
DKS Group
22
www.EmbestDKS.com
DKS_GROUP
1.Yu cu: Bit khi to cho LCD vi CodeWinzardAVR vi bt k cng no. Hin th ra LCD cc k t bt k. 2.M t: LCD c ni vi PORTB.
3.L thuyt: Chc nng ca LCD trong hu ht cc mch, cc b iu khin m nhn vai tr hin th cc thng s, cc thng tin m chng ta mun nhp vo hay cc thng tin x l m b iu khin ang hot ng oc hin th ra mn hnh, gip chng ta giao tip gn hn vi qu trnh hot ng ca h thng. Loi LCD m chng ta s dng l loi SD-DM1602A 2 dng mi dng 16 k t, loi ny do Trung Quc sn xut . N c 16 chn nh hnh v. Trong chng ta c th thy 2 chn 1,2 c cp ngun cho LCD hot ng, chn th 3 (chn VSS) c ni vo u ra ca bin tr dng iu chnh tng phn (phi iu chnh VSS hp l th LCD mi hin th c) 2 chn 15,16 y l 2 chn cp ngun dung bt n ca LCD t chn 4->14 l cc chn iu khin c ni vi vi iu khin, cc chn 4,5,6 c iu khin hot ng ca LCD, cc chn cn li l 8 bit Data dng truyn nhn d liu. Chng ta c th giao tip Data 8 bit hoc 4 bit nh
DKS Group
23
www.EmbestDKS.com
DKS_GROUP
trong mch ca chng ta truyn Data di dng 4 bit. Vic truyn di dng 4bit hoc 8 bit phi c thit lp c phn cng v phn mm. 4.Thc hnh: Cc bc khi to trong CodeWinzard nh sau:
Trong ca s CodeWinzard, chn tab LCD, trong list mc nh l None, cc bn chuyn thnh PORTB cho ph hp vi phn cng ca KIT( thit k LCD PORTB). Chn File Generate, Save and Exit c nh sau:
DKS Group
24
www.EmbestDKS.com
DKS_GROUP
Code cho LCD cc bn c th tham kho trong Help bng cch chn trn menu Help Help Topic(hoc n F1). c ca s Help nh sau:
Trong tab Contents, click p chut vo CodeVisionAVR C Compiller Library Functions c nh bn cnh. Nhp p vo LCD Functions tham kho cc hm cho LCD.
DKS Group
25
www.EmbestDKS.com
DKS_GROUP
DKS Group
26
www.EmbestDKS.com
DKS_GROUP
1.Yu cu: o c nhit t LM35 hin th ln LCD. 2.L thuyt: i vi ATMEGA 16L: 8 chn ca PORTA s dng lm 8 knh u vo ADC. s dng tnh nng ADC ca Atmega 16L chng ta cn phi thit k phn cng ca Vi iu khin nh sau : * Chn AVCC chn ny bnh thng khi thit k mch chng ta a ln Vcc(5V) nhng khi trong mch c s dng cc knh ADC ca phn cng th chng ta phi ni chn ny ln Vcc qua 1 cun cm nhm mc ch cp ngun n nh cho cc knh (u vo) ca b bin i. * Chn AREF chn ny cn cp 1 gi tr in p n nh c s dng lm in p tham chiu, chnh v vy in p cp vo chn ny cn n nh v khi n thay i lm gi tr ADC cc knh thu c b tri (thay i ) khng n nh vi 1 gi tr u vo chng ta c cng thc tnh nh sau: ADCx=(V_INT*1024)/ AREF ch da vo cng thc chng ta cng c th thy gi tr ADCx t l thun vi in p vo V_INT. Gi tr ADC thu c t cc knh c lu vo 2 thanh ghi ADCH v ADCL khi s dng chng ta phi c gi tr t cc thanh ghi ny, khi s dng ch 8 bt th ch lu vo thanh ghi ADCL. 3.M t: u ra ca LM35 v chn 2 bin tr 1K trn Kit c ni vi 2 jump ch. Vi AMEGA16L c 8 knh ADC l chc nng th 2 ca PORTA. Do ADC ta dung dy ni 2 chn vi 2 bit ca PORTA l bit 0 v bit 1..
DKS Group
27
www.EmbestDKS.com
DKS_GROUP
Theo datasheet LM35 th c 10mV tng ng vi 10C, 00C in p ra l 0V, tng ng vi gi tr ADC l 0. Vi Vref=5V, gi tr ca ADC t 0 n 256, ly trn 250 mc. Mi gi tr ADC ng vi 5V/250= 20 mV. Vy 1 gi tr ADC ng vi 20C. Mun tng phn gii ADC ta gim Vref. 4.Thc hnh: Cc bc khi to code nh sau: Trong tab ADC check vo ADC enable:
DKS Group
28
www.EmbestDKS.com
DKS_GROUP
Cu hnh ADC.
Khi to LCD.
Ta check vo Use 8 bt, ADC tr v gi tr 8 bt, v ta ADC dng ngt check vo Interrupt, v in p tham kho AREF th ly in p ca chn AREF ca AVR c ni vi 5V. Tn s ADC ty cc bn thch nhanh hoc chm chn gi tr ph hp. Trong box Automatically Scan Inputs cc bn check vo Enabled. V chng ta cn ADC 2 knh, 1 knh dng bin tr test ADC, mt knh t LM35 u vi 2 bit 0 v 1 ca PORTA do chn First 0, Last 1. Khi to cho LCD vo PORTB nh hnh bn cnh. Chn Generate, Save and Exit.
DKS Group
29
www.EmbestDKS.com
DKS_GROUP
hin th c mt s bt k ln LCD, trong th vin hm khng c v ta phi t vit hm . u vo l mt bin unsigned char, ta phi tch ly hng trm, hng chc, hng n v v a ln lt ln LCD. Code nh sau:
void lcd_putnum(unsigned char so,unsigned char x,unsigned char y) { unsigned char a,b,c; a=so/100; // lay fan tram b=(so-100*a)/10; // lay fan chuc c=(so-100*a-10*b); // lay hang don vi lcd_gotoxy(x,y); // ve vi tri x,y lcd_putchar(a+48); // day ra hang tram, ma ascii lcd_putchar(b+48); // day ra hang chuc, ma ascii lcd_putchar(c+48); // day ra hang don vi, ma ascii }
DKS Group
30
www.EmbestDKS.com
DKS_GROUP
DKS Group
31
www.EmbestDKS.com
DKS_GROUP
o nhit bng LM35 qua ADC thng c sai s v tri, do ta cn hiu chnh nhit bng cch so snh vi nhit k.
1.Yu cu: Hiu c giao tip I2C. Nguyn l hot ng ca DS1307. c thi gian v ngy thng t DS1307 v hin th ln LCD. 2.M t: Bus ca I2C t DS1307 v 24Cxx c ni vi mt jumper gip ta c th ni vi bt k 2 bt ca hai cng bt k ca AVR trn KIT bi mt dy ni.
DKS Group
32
www.EmbestDKS.com
DKS_GROUP
Khi to I2C
Khi to DS1307 Trong tab cc chip ta chn chp DS1307, check vo Enabled xc nh s dng DS1307 v trong Square Wave Output ta check vo Enabled, trong DKS Group 33 www.EmbestDKS.com
DKS_GROUP
list Freq: Chn 1 Hz khi to cho chn output ca DS1307 c 1 s c mt xung ra, trong mch chn ni vi 1 led v khi to va ri lm cho led nhp nhy vi tn s 1 Hz. Sau chn File Save, Generate and Exit.
c ca s son tho code. S lm vic vi DS1307 nh sau: Khi to I2C Hin th ra LCD thi gian
Khi to DS1307
DKS Group
34
www.EmbestDKS.com
DKS_GROUP
Ngay trc vng while(1) trong hm main b xung cu lnh t thi gian v ngy thng cho RTC. I2C, DS1307, LCD khi to bng CodeWinzard AVR.
c th c c thi gian ta dng hm rtc_get_time() v rtc_get_date c sn trong th vin DS1307.h.( tham kho cc hm c th m Help tng t nh tham kho cc hm ca LCD bi trc.)
DKS Group
35
www.EmbestDKS.com
DKS_GROUP
Chng ta phi khai bo 3 bin lu thng tin v thi gian l gi h; pht m; giy s v 3 bin lu thng tin v ngy thng l ngy day; thng month; nm year ngay pha trc hm main nh sau:
DKS Group
36
www.EmbestDKS.com
DKS_GROUP
DKS Group
37
www.EmbestDKS.com
DKS_GROUP
1.Yu cu: - Bit khi to RS232 trong CodeWinzard AVR. - Vit chng trnh nhn d liu t cng COM PC v truyn ln cng COM ng d liu . - Cc thuc tnh v cc control trong Visual Basic 6.0. - T to mt Project trong Visual Basic 6.0 truyn d liu xung cng COM v c d liu t cng COM ln. 2.M t: Cng ni tip trn KIT.
DKS Group
38
www.EmbestDKS.com
DKS_GROUP
Khi to RS232 Trong tab USART check vo cc Receiver cho php nhn d liu; Rx Interrupt nhn d liu s dng ngt; Transmitter cho php truyn d liu; Tx Interrupt truyn d liu s dng ngt. Cc thng s cn li: Receiver Buffer v Transmitter Buffer l b nh m nhn v m truyn. Trong ng dng n gin chng ta mc nh l 8, trong cc ng dng truyn s lng thng tin ln ta c th tng b m trnh mt thng tin. Tc baud mc nh l 9600 (bit/s). Cc thng s ca b truyn: 8 bit, 1 bit dng(stop), khng u tin. Ch truyn khng ng b. Theo yu cu l nhn d liu v truyn ln d liu ta vit code nh sau. Trc tin ta khai bo mt bin trung gian truyn nhn d liu v khi to cho PORTA l u ra nh sau:
DKS Group
39
www.EmbestDKS.com
DKS_GROUP
DKS_GROUP
DKS Group
41
www.EmbestDKS.com
DKS_GROUP
4.Visual Basic v cc control n gin. Khi to Project trong VB. Kch p v biu ICON ca VB c ca s New Project nh sau:
Hoc khi m mt Project sn mun to mt Project mi c th s dng Menu: File New Project (phm tt Ctrl + N). Nh sau:
DKS Group
42
www.EmbestDKS.com
DKS_GROUP
Trong ca s New Project c 3 tab: New to Project mi; Existing m mt Project c sn; Recent: m cc Project gn y. Trong tab new c nhiu loi Project : Standar Exe, ActiveX exe, ActiveX DLL, . Chng ta chn Standar EXE v chn Open c Project nh sau:
sa tn ca Form trong thuc tnh iu khin ca FORM ta sa Text trong Caption nh sau: DKS Group 43 www.EmbestDKS.com
DKS_GROUP
V d : To FORM n gin nh sau: truyn v nhn d liu khi nhp vo mt nt. u vo s c 1 tham s a truyn, u ra c 1 thng s- nhn d liu- nh vy ta s dng 2 textbox control, ngoi ra ta cn s dng 3 nt bm button xc nh s kin truyn, nhn v thot. c th a mt control vo trong FORM, phn CAC DIEU KHIEN CO BAN ta ch cn nhp p vo cc control mi dng. V d ly textbox control.
Trong phn thuc tnh ca Textbox Text1, tm text v xo ch Text1 i. Text 1 thnh trng, di chuyn cc control ta nhp tri chut v d cht v di chuyn ti v tr thch hp.
DKS Group
44
www.EmbestDKS.com
DKS_GROUP
ng bin ca cc Control u c cc im t mu m, a tr chut ti tr chut bin thnh mi tn, nhp tri chut v d cht thay i kch thc ca cc control. Ly LABEL nh sau:
Thay i Caption ca Label thnh MSCOM CONTROL BASIC . Ly cc button v sa cc thuc tnh tng t nh sau:
DKS Group
45
www.EmbestDKS.com
DKS_GROUP
DKS Group
46
www.EmbestDKS.com
DKS_GROUP
Trong trng hp cc bn kch p chut vo mt iu khin n s hin ra ca s CODE, cc bn c th tt nh du X trn gc trn phi m hnh :
Trong thuc tnh ca cc control chng ta c th thay i cc thng s nh tn ca cc control v d: Name, Font ch hin th, mu sc ch, mu nn, v.v.Nh vy ta to ra mt FORM cc tham s a,b hin th bi cc textbox1,2. Nt truyn l Command1, nt nhn l thot l Command2, nt thot l Command3. Form chy nh sau: Nhp thng s vo cc text 1, nhn nt Truyn th d liu trong text1 c truyn ra cng COM. Nhn nt nhn th d liu nhn c s hin th ln text 2. Phm thot thot khi chng trnh. V Control iu khin cng COM MSCOM khng phi control c bn nn n khng hin th trn tools, chng ta phi ly trong th vin ra. Nh sau: kch chut phi vo thanh cc control n gin chn Component .
DKS Group
47
www.EmbestDKS.com
DKS_GROUP
c ca s Components nh sau:
DKS Group
48
www.EmbestDKS.com
DKS_GROUP
Tm dng Microsoft Comm Control 6.0 v check vo v nhn OK. By gi trn thanh cng c c thm mt biu tng mi l MSCOMM control. Kch p vo ly control vo Form.nh sau:
DKS Group
49
www.EmbestDKS.com
DKS_GROUP
vit Code cho i tng no ta ch cn nhp p chut vo i tng ca s vit code s hin ra. Khi chy chng trnh th trc ht ta cn khi to cho control MSCOMM. Nh vy ta phi khi to trong hm Form_Load. Ta chuyn tr chut n nh du Form ( Nhp p vo khong trng trn Form) thc hin nh sau:
DKS Group
50
www.EmbestDKS.com
DKS_GROUP
DKS_GROUP
Chn File Save Project v File Save Form vi tn l tut. lu li Project va to. Chn File Make tut.exe to file thc thi v chy nh phn mm thng thng.
DKS Group
52
www.EmbestDKS.com
DKS_GROUP
c kt qu nh sau:
DKS Group
53
www.EmbestDKS.com
DKS_GROUP
1.Yu cu: iu khin led n trn KIT AVR 03 bng my tnh. o kt qu ADC t bin tr v cm bin nhit LM35 hin th ln my tnh. iu khin led: To mt Form bng VB nh sau:
Trong FORM c: 1 i tng picturebox cha logo ca DKS. C 10 i tng button trong 8 i tng button Led1...Led8 l mt mng button c tn t Command1(0) ... Command1(7). Mun to mt mng button ta ch vic ly ra 8 i tng button v sa tn tt c chng thnh Command 1. Hai button cn li l Phn hi v Exit. C mt textbox hin th d liu phn hi. Hot ng ca phn mm nh sau: Khi nhn vo button Led 1 th truyn d liu l 0x01 xung cng ni tip ca PC, AVR nhn c v a d liu ra cng ca AVR 1 led trn Kit sng. Tng t cho bm cc nt Led cn li. ng thi AVR gi lun gi tr va nhn c ln PC. V khi bm nt phn hi th d liu hin ra trn Textbox. Khi nhn nt Exit th thot khi phn mm. DKS Group 54 www.EmbestDKS.com
DKS_GROUP
DKS Group
55
www.EmbestDKS.com
DKS_GROUP
Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True End Sub
Firm ware: Khi to trong CodeVision AVR cho php cng ni tip hot ng, PORT D l out put nh cc bi trc hc. Sau lp trnh cho hm main nh sau:
Trong hm main c s dng thm mt bin temp nn d nhin cc bn phi khai bo thm bin pha ngoi hm main. Np chng trnh vo chip AVR Kt ni dy cng Com t KIT v cng Com my tnh v test kt qu.
DKS Group
56
www.EmbestDKS.com
DKS_GROUP
Form gm c: 4 label hin th nh hnh. 2 text box hin th d liu. 2 button: Thu du lieu v Thoat khi phn mm. Code trn VB nh sau:
Private Sub Command1_Click() If MSComm1.Input = "" Then Exit Sub Else Text1.Text = Asc(MSComm1.Input) Text2.Text = Asc(MSComm1.Input) End If End Sub Private Sub Command2_Click() MSComm1.PortOpen = False
DKS Group
57
www.EmbestDKS.com
DKS_GROUP
End End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True End Sub
Firm Ware: Khi to bng CodeWinzard AVR cho cng ni tip USART hot ng, cho php ADC hot ng(interrupt) nh cc bi trc sau vit code cho hm main nh sau:
DKS Group
58
www.EmbestDKS.com
DKS_GROUP
1.Yu cu : Hiu nguyn l iu khin ng c bc n cc. iu khin c bng AVR. 2.L thuyt:
DKS Group
59
www.EmbestDKS.com
DKS_GROUP
D.C.SUPPLY: C nhim v cung cp ngun mt chiu cho h thng. Ngun mt chiu ny c th ly t pin nu ng c c cng sut nh. Vi cc ng c c cng sut ln c th dng ngun in c chnh lu t ngun xoay chiu. CONTROL LOGIC: y l khi iu khin logic. C nhim v to ra tn hiu iu khin ng c. Khi logic ny c th l mt ngun xung, hoc c th l mt h thng mch in t. N to ra cc xung iu khin. ng c bc c th iu khin theo c bc hoc theo na bc. POWER DRIVER: C nhim v cp ngun in c iu chnh a vo ng c. N ly in t ngun cung cp v xung iu khin t khi iu khin to ra dng in cp cho ng c hot ng. STEPPER MOTOR: ng c bc. Cc thng s ca ng c gm c: Bc gc, sai s bc gc, mmen ko, mmen hm, mmen lm vic. i vi h iu khin ng c bc, ta thy l mt h thng kh n gin v khng h c phn t phn hi. iu ny c c v ng c bc trong qu trnh hot ng khng gy ra sai s tch ly, sai s ca ng c do sai s trong khi ch to. Vic s dng ng c bc tuy em lai
DKS Group
60
www.EmbestDKS.com
DKS_GROUP
chnh xc cha cao nhng ngy cng c s dng ph bin. V cng sut v chnh xc ca bc gc ang ngy cng c ci thin. Bc gc ca ng c bc c ch to theo bng tiu chun sau:
3.Nguyn tc iu khin ng c bc n cc: ng c bc n cc, ( c th l ng c vnh cu hoc ng c hn hp ) c 5,6 hoc 8 dy ra thng c qun nh s di. Khi dng, cc u ni trung tm thng c ni vo cc dng ngun cp, v hai u cn li ca mi mu ln lt ni t o chiu t trng to bi qun .
DKS Group
61
www.EmbestDKS.com
DKS_GROUP
time --->
in p c cp qua cc kho chuyn nui cc cun dy, to ra t trng lm quay rotor. Cc kho y khng c th, c th l bt c thit b DKS Group 62 www.EmbestDKS.com
DKS_GROUP
ng ct no iu khin c nh rle, transitor cng sut... Tn hiu iu khin c th c a ra t b iu khin nh vi mch chuyn dng, my tnh. Vi ng c nh c dng c 500 mili Ampe, c th dng IC loi dy darlington collector h nh : ULN2003, ULN2803 ( Allegro Microsystem) DS2003 (National Semiconductor), MC1413 ( Motorola)
IC h ULN200x c u vo ph hp TTL, cc u emitor c ni vi chn 8. Mi transitor darlington c bo v bi hai diode. Mt mc gia emitor ti collector chn in p ngc ln t ln transitor. Diode th hai ni collector vi chn 9. Nu chn 9 ni vi cc dng ca cun dy, to thnh mch bo v cho transitor. Vi cc ng c ln c dng > 0.5A cc IC h ULN khng p ng c ta c th dng cc Tranzitor trng(IRF).Mt s loi IRF thng dng: IRF540 IRF640 tranzitor ngc c th chu dng n 20A tranzitor ngc c th chu dng n 18A
DKS Group
63
www.EmbestDKS.com
DKS_GROUP
IRF250
DKS Group
64
www.EmbestDKS.com
DKS_GROUP
5.Code :
#include <mega16.h> #include <delay.h> // Khai bao bien unsigned char stepA[] = {0xFF,0xFE,0xFD,0xFB,0xF7}, stepB[] = {0xFF,0xEF,0xDF,0xBF,0x7F}, stepC[] = {0xFF,0xEF,0xDF,0xBF,0x7F}; unsigned char indexA, indexB, indexC; unsigned char n_data; unsigned char n_step=10; unsigned int n_step3=5000,n_i; //------------------// Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0xFF; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0xFF; DDRB=0xFF; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0xFF; DDRC=0xFF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0xFF; DDRD=0xFF;
DKS Group
65
www.EmbestDKS.com
DKS_GROUP
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization
DKS Group
66
www.EmbestDKS.com
DKS_GROUP
// INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; while (1) { // Place your code here if(indexA ++>3) indexA = 1; if(indexB ++>3) indexB = 1; if(indexC ++>3) indexC = 1; PORTA = stepA[indexA] & stepB[indexB]; PORTC = stepC[indexC]; //------delay_ms(500); }}
DKS Group
67
www.EmbestDKS.com