30
DKS_GROUP Microcontroller Training Class DKS Group - 1 - Sè nhμ 38 ngâ 36 Lª Thanh NghÞ www.EmbestDKS.com 04.8684577 Bài ging vi điu khin nâng cao Thc hành trên KIT AVR_DKS_03 Bài 1: Điu khin IO(Vào- Ra) vi led đơn. Yêu cu: - Khi to project bng CodeVision. - Np chương trình. - Điu khin led đơn trên KIT theo ý mun. Mô t: Các led đơn ni vi các cng vào ra ca ATMEGA16L(PORTA- PORTB-PORTC-PORTD). Để led sáng cn đưa mc logic ca các chân IO ca AVR lên mc cao(5V), để led tt đưa các chân IO ca AVR xung mc thp. CodeVision: Chy CodeVision bng cách click chut vào ICON ca CodeVision trên Desktop được ca snhư sau: PDF created with pdfFactory Pro trial version www.pdffactory.com

VDK Nang Cao

Embed Size (px)

DESCRIPTION

ada

Citation preview

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 1 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Bi ging vi iu khin nng cao Thc hnh trn KIT AVR_DKS_03

    Bi 1: iu khin IO(Vo- Ra) vi led n.

    Yu cu: - Khi to project bng CodeVision. - Np chng trnh. - iu khin led n trn KIT theo mun.

    M t: Cc led n ni vi cc cng vo ra ca ATMEGA16L(PORTA-PORTB-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. CodeVision: Chy CodeVision bng cch click chut vo ICON ca CodeVision trn Desktop c ca s nh sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 2 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    to Project mi chn trn menu: File New c nh sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 3 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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 :

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 4 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 5 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 6 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

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

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 7 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

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

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 8 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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 ngay u chng trnh vit ngay di dng lnh sau: #include . 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:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 9 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    y l phn cu hnh cho cc cng IO:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 10 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Trong hm main c vng while(1). Chng ta son code vo nh sau: temp=0; while (1) { // Place your code here PORTA=temp; PORTB=temp; PORTC=temp; PORTD=temp; delay_ms(1000); temp++; }; }

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 11 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    dch chng trnh n F9 hoc vo menu : Project Compile. c ca s Information nh sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 12 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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 sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 13 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 14 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Trong tab After Make cc bn nh du vo Program the Chip v nhp OK. Nhn t hp phm Shift + F9 c nh sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 15 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Cm Jump mch np vo .Click vo Program. i np xong nh jump np ra n Reset thy led chy.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 16 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Bi 2 : iu khin vo ra vi led 7 on Yu cu: Bit phng php qut led. a s bt k ra hng led. 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 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. 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

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 17 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    } } void hienthi(int n) { int a,b,c,d; // Lay cac so cac hang a= n/1000; // lay hang nghin b=(n-a*1000)/100; // lay hang tram c=(n-a*1000-b*100)/10; // lay hang chuc d=(n-a*1000-b*100-c*10);// lay hang don vi // Quet led PORTD=0xFE;// led dau tien daydulieu(d);// day ra hang don vi delay_ms(10);// tre PORTB=0xFF;// tat toan bo led PORTD=0xFD;//led thu hai daydulieu(c);// dua ra hang chuc delay_ms(10);// tre PORTB=0xFF;// tat toan bo led PORTD=0xFB; daydulieu(b); delay_ms(10); PORTB=0xFF; PORTD=0xF7; daydulieu(a); delay_ms(10); PORTB=0xFF; }

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 18 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 19 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

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

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 20 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Ch y: 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:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 21 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Bi 3: iu khin IO vi LCD Yu cu: Bit khi to cho LCD vi CodeWinzardAVR vi bt k cng no. Hin th ra LCD cc k t bt k. M t: LCD c ni vi PORTB. 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 ca s nh sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 22 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 23 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Bt u son code: 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 sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 24 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Nhp p vo LCD Functions tham kho cc hm cho LCD.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 25 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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 };

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 26 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Bi 4: ADC vi LM35 Yu cu: o c nhit t LM35 hin th ln LCD. 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. 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. Thc hnh: Cc bc khi to code nh sau: Trong tab ADC check vo ADC enable:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 27 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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 sau:

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 28 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    Chn Generate, Save and Exit. 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)

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 29 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    { // 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 < -- > 3s cap nhat du lieu mot lan };

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • DKS_GROUP Microcontroller Training Class

    DKS Group - 30 - S nh 38 ng 36 L Thanh Ngh www.EmbestDKS.com 04.8684577

    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. Bi 5: Giao tip I2C vi RTC DS1307

    PDF created with pdfFactory Pro trial version www.pdffactory.com