You are on page 1of 67

DKS_GROUP

Microcontroller Training Center

Thc hnh trn KIT AVR_DKS_03

DKS Group

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

24VCC 10K R Vref 5V DIODE BREAKDOWN GND

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

Microcontroller Training Center

D3 chan VDK LED

R_470

5VCC

3.2.Lp trnh: Thit lp cng vo ra:


Khi xem xt n cc cng I/O ca AVR th ta phi xt ti 3 thanh ghi bit DDxn,PORTxn,PINxn. -Cc bit DDxn truy cp cho a ch xut nhp DDRx. Bit DDxn trong thanh ghi DDRx dng iu khin hng d liu ca cc chn ca cng ny.Khi ghi gi tr logic 0 vo bt k bit no ca thanh ghi ny th n s tr thnh li vo,cn ghi 1 vo bit th n tr thnh li ra. -Cc bit PORTxn truy cp ti a ch xut nhp PORTx. Khi PORTx c ghi gi tr 1 khi cc chn c cu to nh cng ra th in tr ko l ch ng(c ni vi cng).Ngt in tr ko ra, PORTx c ghi gi tr 0 hoc cc chn c dng nh cng ra.Cc chn ca cng l 3 trng thi khi 1 iu kin reset l tch cc thm ch xung ng h khng hot ng. -Cc bit PINxn truy cp ti a ch xut nhp PINx. PINx l cc cng ch c,cc cng ny c th c trng thi logic ca PORTx.PINx khng phi l thanh ghi,vic c PINx cho php ta c gi tr logic trn cc chn ca PORTx.ch PINx khng phi l thanh ghi,vic c PINx cho php ta c gi tr logic trn cc chn ca PORTx.

DKS Group

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

to Project mi chn trn menu: File

New c nh sau:

Chn Project sau click chut vo OK c ca s hi xem c s dng Code Winzard khng:

Chn Yes c ca s CodeWinzardAVR nh sau :

DKS Group

10

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

c ca s yu cu nh cc file ca Project. y l v d IO nn ta save tn l IO.

Sau khi nh song 3 file : IO.c IO.prj IO.cwp c ca s nh sau:

DKS Group

12

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

Cu hnh cho mch np

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

DKS Group

20

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

Trong vng while(1) trong hm main ta ch dng mt cu lnh gi hm hin th nh sau:

DKS Group

21

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

Trong vng while(1) trong hm main ta vit cc cu lnh nh sau:


while (1) { // Place your code here lcd_gotoxy(0,0);// Dua con tro ve goc, dong 0, cot 0 lcd_putsf("DKS-MTC-JACKY");// Hien thi dong chu lcd_gotoxy(0,1);// Dua con tro ve dong 1, cot 0 lcd_putsf("Wellcome you"); // Hien thi dong chu delay_ms(3000); // Tre 3 s lcd_gotoxy(0,0); // Dua con tro ve dong 0 cot 0 lcd_putsf("embestdks.com"); // Hien thi dong chu delay_ms(3000); // Tre 3 s };

DKS Group

26

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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 }

Trong vng while(1) trong hm main ta vit nh sau:


while (1) { // Place your code here lcd_putnum(2*adc_data[1],0,0); // dua gia tri ADC tu LM35*2= nhiet do lcd_putnum(adc_data[0],0,1); // dua gia tri ADC tu bien tro delay_ms(3000); // tre 3 s, cap nhat du lieu mot lan };

DKS Group

30

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

DKS Group

31

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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.

3.Thc hnh: Khi to cho LCD v DS1307 nh sau:

DKS Group

32

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

Khi to cho LCD- PORT B

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

Microcontroller Training Center

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

Thit lp thi gian cho DS1307

c thi gian t DS1307 (1Hz)

Coding nh sau: B xung th vin delay.h vo u chng trnh.

DKS Group

34

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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:

hin th cc s ra LCD ta phi vit thm mt hm LCD_putnum nh sau:

Chng trnh chnh trong vng while(1) nh sau:

DKS Group

36

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

Dch v np chng trnh, xem kt qu.

DKS Group

37

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

3.Thc hnh: Cc bc khi to cho cng ni tip dng CodeWinzard nh sau:

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

Microcontroller Training Center

Trong hm main ta vit code nh sau: DKS Group 40 www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

Chn File AVR.

Save All. n F9 dch chng trnh. Np chng trnh vo

DKS Group

41

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

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

Microcontroller Training Center

Tng t ly cc text v cc label v sp xp li nh sau:

DKS Group

46

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

c ca s Components nh sau:

DKS Group

48

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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:

Thuc tnh mc nh cho MSCOMM nh sau:

DKS Group

49

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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:

Ta c ca s son code nh sau:

DKS Group

50

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

VB t khi to cho ta mt hm khi load form. Vit m lnh nh sau:

vit m lnh cho nt truyn kch p chut vo button truyn:

M lnh nh sau: DKS Group 51 www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

Tng t lm cho nt nhn vit code. M lnh nh sau:

Tng t lm cho nt EXIT:

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

Microcontroller Training Center

c kt qu nh sau:

Cm cng COM vo v test chng trnh.

DKS Group

53

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

Thc hnh: Phn mm trn VB Code nh sau:


Private Sub Command1_Click(Index As Integer) If Index = 0 Then MSComm1.Output = Chr$(1) End If If Index = 1 Then MSComm1.Output = Chr$(2) End If If Index = 2 Then MSComm1.Output = Chr$(4) End If If Index = 3 Then MSComm1.Output = Chr$(8) End If If Index = 4 Then MSComm1.Output = Chr$(16) End If If Index = 5 Then MSComm1.Output = Chr$(32) End If If Index = 6 Then MSComm1.Output = Chr$(64) End If If Index = 7 Then MSComm1.Output = Chr$(128) End If End Sub Private Sub Command2_Click() MSComm1.PortOpen = False End End Sub Private Sub Command3_Click() If MSComm1.Input = "" Then Exit Sub Else Text1.Text = Asc(MSComm1.Input) End If End Sub

DKS Group

55

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

o ADC t bin tr v LM35. Trn VB to ra mt giao din phn mm nh sau:

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

Microcontroller Training Center

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:

Dch np chng trnh v test .

DKS Group

58

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

1.Yu cu : Hiu nguyn l iu khin ng c bc n cc. iu khin c bng AVR. 2.L thuyt:

2.1.Gii thiu v ng c bc:


ng c bc thc cht l mt ng c ng b dng bin i cc tn hiu iu khin di dng cc xung in ri rc k tip nhau thnh cc chuyn ng gc quay hoc cc chuyn ng ca roto v c kh nng c nh roto vo nhng v tr cn thit. ng c bc lm vic c l nh c b chuyn mch in t a cc tn hiu iu khin vo stato theo mt th t v mt tn s nht nh. Tng s gc quay ca roto tng ng vi s ln chuyn mch, cng nh chiu quay v tc quay ca roto, ph thuc vo th t chuyn i v tn s chuyn i. Khi mt xung in p t vo cun dy stato (phn ng) ca ng c bc th roto (phn cm) ca ng c s quay i mt gc nht nh, gc y l mt bc quay ca ng c. Khi cc xung in p t vo cc cun dy phn ng thay i lin tc th roto s quay lin tc. (Nhng thc cht chuyn ng vn l theo cc bc ri rc). 2.2.H thng iu khin ng c bc. Mt h thng c s dng ng c bc c th c khi qut theo s sau.

DKS Group

59

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

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 .

Hnh 1-5 : ng c n cc. Tn hiu iu khin. iu khin bc (full step) :


Winding 1a 1000100010001000100010001 Winding 1b 0010001000100010001000100 Winding 2a 0100010001000100010001000 Winding 2b 0001000100010001000100010
time --->

Winding 1a 1100110011001100110011001 Winding 1b 0011001100110011001100110 Winding 2a 0110011001100110011001100 Winding 2b 1001100110011001100110011

DKS Group

61

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

time --->

iu khin na bc ( half step )


Winding 1a 11000001110000011100000111 Winding 1b 00011100000111000001110000 Winding 2a 01110000011100000111000001 Winding 2b 00000111000001110000011100 time --->

4.Mch iu khin ng c bc:


Mch iu khin ng c bc bao gm mt s chc nng sau y: To cc xung vi nhng tn s khc nhau. Chuyn i cc phn cho ph hp vi th t kch t. Lm gim cc dao ng c hc. u vo ca mch iu khin l cc xung. Thnh phn ca mch l cc bn dn, vi mch. Kch thch cc phn ca ng c bc theo th t 1-2-3-4 do cc transistor cng sut T1 n T4 thc hin.Vi vic thay i v tr b chuyn mch, ng c c th quay theo chiu kim ng h hoc ngc li.

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

Microcontroller Training Center

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

Microcontroller Training Center

IRF250

tranzitor ngc c th chu dng n 30A .

S mch c thit k nh sau:

DKS Group

64

www.EmbestDKS.com

DKS_GROUP

Microcontroller Training Center

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

Microcontroller Training Center

// 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

Microcontroller Training Center

// 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

You might also like