bài tâp vi điều khiển

26
Hanoi University of Industry Design by Lie ĐT5-K11 “Luôn luôn lắng nghe, lâu lâu mới hiểu” 1 1. Viết chương trình tạo xung PWM có tần số 2KHz trong đó 70% xung mang giá trị bằng 1, 30% xung mang giá trị bằng 0. (Sử dụng osillocope để quan sát) ///////////////////////// Tao dao dong tan so 2kHz, 70% bang 1 va 30% bang 0 tren chan P1.1 ///////////////////////// Biet thach anh dao dong tan so 12MHz #include<reg52.h> #include<stdio.h> sbit F=P1^1; ///////////////////////////////// Chuong trinh chinh void main (void) { while(1) { TMOD=0x21; { F=1; TR0=0; TH0=-350/256; TL0=-350%256; TR0=1; while(!TF0); TF0=0; F=0; TH1=-150; TR1=1; while(!TF1); TF1=0; }}}

Upload: nhok-time

Post on 26-Nov-2015

30 views

Category:

Documents


4 download

TRANSCRIPT

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 1

    1. Vit chng trnh to xung PWM c tn s 2KHz trong 70% xung mang gi tr bng 1, 30% xung mang gi tr bng 0. (S dng osillocope quan st) ///////////////////////// Tao dao dong tan so 2kHz, 70% bang 1 va 30% bang 0 tren chan P1.1 ///////////////////////// Biet thach anh dao dong tan so 12MHz #include #include sbit F=P1^1; ///////////////////////////////// Chuong trinh chinh void main (void) { while(1) { TMOD=0x21; { F=1; TR0=0; TH0=-350/256; TL0=-350%256; TR0=1; while(!TF0); TF0=0; F=0; TH1=-150; TR1=1; while(!TF1); TF1=0; }}}

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 2

    2. Vit chng trnh to xung PWM c tn s 5KHz trong 60% xung mang gi tr bng 1, 40% xung mang gi tr bng 0 (S dng osillocope quan st). ///////////////////////// Tao dao dong tan so 5kHz, 60% bang 1 va 40% bang 0 tren chan P1.1 ///////////////////////// Biet thach anh dao dong tan so 12MHz #include #include sbit F=P1^1; ///////////////////////////////// Chuong trinh chinh void main (void) { while(1) { TMOD=0x01; {F=1; TR0=0; TH0=TL0=-120; TR0=1; while(!TF0); TF0=0; F=0; TR0=0; TH0=TL0=-80; TR0=1; while(!TF0); TF0=0; }}}

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 3

    3. Thit k mch v vit chng trnh m s ln nhn cng tc trn chn P1.0 hin th trn 1 LED 7 thanh. // Dem so lan bam nut nhan K tren chan P1.0 #include #include #include sbit K=P1^0; unsigned long int num,i; unsigned char M[10] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98}; void delay(unsigned long int t) { for(i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 4

    4. Thit k mch v vit chng trnh m s ln nhn cng tc trn chn P3.2 hin th trn 1 LED 7 thanh. // Dem so lan bam nut nhan K tren chan P3.2 #include #include #include sbit K=P3^2; unsigned long int num,i; unsigned char M[10] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98}; void delay(unsigned long int t) { for(i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 5

    5. Thit k mch v vit chng trnh hin th cc LED sng lin tip trong mch c 8 LED c ni vo port P2 ca vi iu khin.( LED1 sng, cc LED cn li tt., LED 2 sng, cc LED cn li tt) // Dieu khen LED sang tuan tu tren port P2 #include #include #include unsigned char x; unsigned int m; void delay(unsigned int t) { unsigned int i; for (i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 6

    6. S dng Timer 0 hoc/ v Timer 1 vit chng trnh to 2 xung trn 2 chn P1.0 v P1.1 vi tn s ln lt l 2KHz v 4KHz (S dng osillocope quan st) ////////////////////////// Tao xung 2kHz tren chan P1.0 va xung 4kHz tren chan P1.1 ////////////////////////// Thach anh tan so 12MHz #include sbit F1=P1^0; sbit F2=P1^1; ///////////////////////// Chuong trinh chinh void main (void) { TMOD=0x20; TL1=TH1=-125; TR1=1; while(1) { while(!TF1); TF1=0; F2=~F2; while(!TF1); TF1=0; F2=~F2; F1=~F1; } }

    .

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 7

    7. S dng Timer 0 hoc/ v Timer 1 vit chng trnh to 2 xung trn 2 chn P1.0 v P1.1 vi tn s ln lt l 2KHz v 500Hz (S dng osillocope quan st). ////////////////////////// Tao xung 2kHz tren chan P1.0 va tao xung 500Hz tren chan P1.1 #include sbit F1=P1^0; sbit F2=P1^1; ///////////////////////// Chuong trinh chinh void main (void) { TMOD=0x20; TL1=TH1=-250; TR1=1; while(1) { while(!TF1); TF1=0; F1=~F1; while(!TF1); TF1=0; F1=~F1; while(!TF1); TF1=0; F1=~F1; while(!TF1); TF1=0; F1=~F1; F2=~F2; }}

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 8

    8. S dng Timer 0 hoc/ v Timer 1 vit chng trnh to 2 xung trn 2 chn P1.0 v P1.1 vi tn s ln lt l 10KHz v 1KHz (S dng osillocope quan st). ////////////////////////// Tao xung 10kHz tren chan P1.0 ////////////////////////// Tao xung 1kHz tren chan P1.1 #include sbit F1=P1^0; sbit F2=P1^1; unsigned int m; ///////////////////////// Chuong trinh chinh void main (void) { TMOD=0x20; TL1=TH1=-50; TR1=1; while(1) { for (m=0;m

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 9

    9. Thit k mch iu khin v vit chng trnh hin th Led 7 thanh sng cc s t 00 n 99 #include #include #include sbit K=P3^2; unsigned long int donvi,chuc,num,n,i; unsigned char M[10] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98}; void delay(unsigned long int t) { for(i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 10

    10. Vit chng trnh iu khin gi lin tip dng ch HELLO! I AM LEARNING MICROCONTROLLER! ln cng ni tip ca my tnh (dng VITUAL TERMINAL hin th) #include #include unsigned long int x,n; unsigned char M[37]={0x48,0x45,0x4c,0x4c,0x4f,0x21,0x20, 0x49,0x20, 0x41,0x4d,0x20, 0x4c,0x45,0x41,0x52,0x4e,0x49,0x4e,0x47,0x20, 0x4d,0x49,0x43,0x52,0x4f,0x43,0x4f,0x4e,0x54,0x52,0x4f,0x4c,0x4c,0x45,0x52,0x21 }; void main(void) { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; IE=0x90; while(1); } void ngatnt(void) interrupt 4 { if (x

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 11

    11. Vit chng trnh gi 10 byte k t t 0 n 9 ln cng ni tip ca my tnh (dng VITUAL TERMINAL hin th) #include #include #include unsigned long int n,x; unsigned char code M[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; void main(void) { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; IE=0x90; while(1); } void ngatnt(void) interrupt 4 { if (x

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 12

    12. Thit k mch v vit chng trnh m s ln nhn cng tc trn chn P1.0 gi ln cng ni tip ca my tnh dng (VITUAL TERMINAL hin th). #include #include sbit K=P1^0; unsigned long int n,x; unsigned char code M[10]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30}; void congtac(void) { if (K==1); else { while(!K); putchar(M[x]); x++; }} void main(void) { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; IE=0x90; while(1); } void ngatnt(void) interrupt 4 { if (x

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 13

    13. Thit k mch v vit chng trnh iu khin ng c quay thun trong 3 giy, dng trong 5 giy v quay ngc trong 4 giy. #include #include sbit T=P2^0; sbit N=P2^1; unsigned long int m; void delay50ms(void) { TMOD=0x01; TH0=-50000/256; TL0=-50000%256; TR0=1; while(!TF0); TR0=TF0=0; } void thuan(void) { T=1; N=0; for(m=0;m

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 14

    void main(void) { while(1) { thuan(); dung(); nghich(); }}

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 15

    14. S dng timer 0 v timer 1 to 2 xung ng thi c chu k 500 s v 2000 s trn P1.0 v P1.2, dng oscillocope quan st. Tn s thch anh l 12 Mhz ////////////////////////// Tao xung 500us tren chan P1.0 ////////////////////////// Tao xung 2000us tren chan P1.1 ////////////////////////// Thach anh tan so 12MHz #include sbit F1=P1^0; sbit F2=P1^1; unsigned int m; ///////////////////////// Chuong trinh chinh void main (void) { TMOD=0x20; TL1=TH1=-250; TR1=1; while(1) { for (m=0;m

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 16

    15. Thit k mch s dng ngt ngoi m s ln nhn contact v hin th s hng n v ca s ln nhn trn led 7 on. // Dem so lan bam nut nhan K su dung ngoat ngoai 0 #include #include #include unsigned long int num,i; unsigned char M[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98}; void delay(unsigned long int t) { for(i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 17

    16. Thit k mch s dng ngt ngoi m s ln nhn contact v hin th s hng n v ca s ln nhn. Gi ln cng ni tip ca my tnh ( Dng VITUAL TERMLNAL hin th). #include #include unsigned long int n,x; unsigned char code M[10]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30}; void main(void) { SCON=0x52; TMOD=0x20; TH1=TL1=-3; TR1=1; IE=0x81; IT0=1; while(1); } void ngat0(void) interrupt 0 { putchar(M[x]); x++; if(x==10) x=0; }

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 18

    17. Vit chng trnh truyn thng ni tip gia hai b vi iu khin to thnh mt h thng sao cho khi nhn contact ti vi iu khin ch, led trn VK t sng, v ngc li. #include #include sbit K=P1^0; char x,y,z; void truyen(void) { if(K==1) { y=0xff; TB8=1; putchar(y); } else { x=0xfe; TB8=1; putchar(x); }} void nhan(void) { z=_getkey(); P2=z; } void main (void) { SCON=0xf3; TMOD=0x20; TH1=TL1=-3; TR1=1; truyen(); nhan(); }

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 19

    18. Vit chng trnh truyn thng ni tip gia hai b vi iu khin to thnh mt h thng sao cho khi nhn contact ti vi iu khin ch, led 7 thanh trn VK t hin th s 0, khi khng nhn contact ti vi iu khin ch LED 7 thanh trn VK t hin th s 1. /// Chuong trinh nap cho vi dieu khien chu (master) #include #include sbit K=P1^0; char x,y; void truyen(void) { if(K==1) { y=0xf9; TB8=1; putchar(y); } else { x=0xc0; TB8=1; putchar(x); }} void main (void) { SCON=0xf3; TMOD=0x20; TH1=TL1=-3; TR1=1; truyen(); } /// Chuong trinh nap cho vi dieu khien to (slave) #include #include char z; void nhan(void) { z=_getkey(); P1=z; } void main (void) {

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 20

    SCON=0xf3; TMOD=0x20; TH1=TL1=-3; TR1=1; nhan(); } /// 2 chuong trinh nap vao 2 vi dieu khien tao ra bo vi dieu khien master-slave

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 21

    19. Thit k mch v vit chng trnh m s ln nhn contact v hin th s hng n v ca s ln nhn ln ma trn LED (8*8). ///////////////// Dem so lan nhan cong tac hien thi tren Led ma tran #include #include #include sbit K=P1^0; unsigned long int n,num,i; unsigned char code hang[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; unsigned char code cot[]={ 0XFF,0X81,0X7E,0X7E,0X7E,0X81,0XFF,0XFF, // 0 0XFF,0X7B,0X7D,0X00,0X7F,0X7F,0XFF,0XFF, // 1 0XFF,0X3D,0X5E,0X6E,0X76,0X79,0XFF,0XFF, // 2 0XFF,0XBD,0X7E,0X66,0X66,0X99,0XFF,0XFF, // 3 0XFF,0XE7,0XEB,0XED,0X06,0XEF,0XFF,0XFF, // 4 0XFF,0XB0,0X76,0X76,0X76,0X8E,0XFF,0XFF,// 5 0xFF,0x81,0x76,0x76,0x76,0x8F,0xFF,0xFF, // 6 0xFF,0xFC,0xFE,0xFE,0xFE,0x00,0xFF,0xFF,// 7 0xFF,0x99,0x66,0x66,0x66,0x99,0xFF,0xFF, // 8 0xFF,0xF1,0x6E,0x6E,0x6E,0x81,0xFF,0xFF, // 9 }; void delay(unsigned int t) { unsigned int i; for (i=1;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 22

    } if(num==80) num=0; }}

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 23

    20. Thit k mch v vit chng trnh giao tip gia vi iu khin v ma trn gm 9 phm nhn. Kim tra trng thi phm nhn v hin th s c nhn trn LED 7 thanh. #include #include sbit K=P3^2; unsigned long int num,i; unsigned char M[10] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98}; void hienthi() { if(P1==0xde) P2=M[1]; if(P1==0xdd) P2=M[2]; if(P1==0xdb) P2=M[3]; if(P1==0xee) P2=M[4]; if(P1==0xed) P2=M[5]; if(P1==0xeb) P2=M[6]; if(P1==0xf6) P2=M[7]; if(P1==0xf5) P2=M[8]; if(P1==0xf3) P2=M[9]; } void quet(void) { int n[3]={0xfe,0xfd,0xfb}; for(i=0;i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 24

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 25

    21. Thit k mch v vit chng trnh iu khin tc ng c 1 chiu dng PWM ( s dng 2 cng tc iu khin tng hoc gim tc ng c). ///////////////////////////// Dieu khien toc do dong co bang xung PWM ///////////////// Khai bao thu vien #include #include #include ////////////////// Khai bao bien sbit F=P2^7; sbit T=P1^0; sbit G=P1^1; unsigned int i; /////////////////// Ham tao xung PWM void taoxung(unsigned int i) { F=1; TR0=0; TH0=-i/256; TL0=-i%256; TR0=1; while(!TF0); TF0=0; F=0; TR0=0; TH0=-(10000-i)/256; TL0=-(10000-i)%256; TR0=1; while(!TF0); TF0=0; } /////////////// Tang toc do dong co void tang(void) { if(T==1); else { while (G==1) { i=i-500; taoxung(i); if(i

  • Hanoi University of Industry Design by Lie T5-K11

    Lun lun lng nghe, lu lu mi hiu 26

    if(G==1); else { while (T==1) { i=i+500; taoxung(i); if(i>=9500) i=i-500; }}} void main(void) { TMOD=0x01; while(1) { tang(); giam(); }}

    T liu tham kho:

    - Gio trnh k thut lp trnh 8051 - www.machdientu.net

    - www.pcbviet.com - www.hauionline.com

    - www.dientuvietnam.net - www.google.com

    Mi kin ng gp. Vui lng lin h: Mail: [email protected]

    Y!H: seven_love_lie Xin cm n !!!