Top Banner
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
30

VDK Nang Cao

Sep 27, 2015

Download

Documents

ada
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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