Thông báo

Collapse
No announcement yet.

[Share-code] Mỗi ngày một bài tập về AT89S52

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • dòng này có nghĩa là gì vậy...

    os_wait (K_TMO, 5, 0);
    với lại dòng này nữa...m gà nên k hiểu lắm mong cá cao thủ giải thích giùm...hi thanks
    os_create_task (1);
    os_create_task (2);
    os_create_task (3);
    Last edited by anhommatroi; 13-08-2013, 23:50.

    Comment


    • các pro giải thích giùm với sao khi mô phỏng thì mạch chỉ quyét tới giá trị 255 thôi--e mô phỏng quét từ 0000-9999 mà k đc mong các pro giúp đỡ...
      //#include<AT89x51.h>
      #include <stdio.h>
      #include <math.h>
      #include<reg51.h>
      unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
      unsigned char num=0,donvi,chuc,tram,nghin;
      //================HAM DELAY ===========================================
      void delay_10ms (unsigned int time)
      {
      unsigned int x;
      for(x=1;x<=time;x++)
      {
      TMOD=0x11;
      TH0=55536/256;
      TL0=55536%256;
      TR0=1;
      while(!TF0);
      TF0=TR0=0;
      }
      }
      //=============== HAM CHUYEN SANG MA MAY==============================
      void DCB(void)
      {
      nghin=num/1000;
      tram=(num%1000)/100;
      chuc=(num%100)/10;
      donvi=num%10;
      }
      //================HAM HIEN THI========================================
      void HIEN_THI(void)
      {
      P0=M[nghin];
      P2=~0x1;
      delay_10ms(1);
      P2=~0;
      P0=0xFF;
      P0=M[tram];
      P2=~0x2;
      delay_10ms(1);
      P2=~0;
      P0=0xFF;
      P0=M[chuc];
      P2=~0x4;
      delay_10ms(1);
      P2=~0;
      P0=0xFF;
      P0=M[donvi];
      P2=~0x8;
      delay_10ms();
      P2=~0;
      P0=0xFF;
      }
      //================HAM_CHINH========================= ===================
      void main(void)
      {
      while(1)
      {
      unsigned a;
      for(a=0;a<30;a++)
      {
      DCB();
      HIEN_THI();
      }
      num=num+1;
      if(num==10000)num=0;
      };
      }

      Comment


      • cuối cùng cũng sửa đc rồi...hì

        Comment


        • Nguyên văn bởi anhommatroi Xem bài viết
          các pro giải thích giùm với sao khi mô phỏng thì mạch chỉ quyét tới giá trị 255 thôi--e mô phỏng quét từ 0000-9999 mà k đc mong các pro giúp đỡ...
          //#include<AT89x51.h>
          #include <stdio.h>
          #include <math.h>
          #include<reg51.h>
          unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
          unsigned char num=0,donvi,chuc,tram,nghin;
          //================HAM DELAY ===========================================
          void delay_10ms (unsigned int time)
          {
          unsigned int x;
          for(x=1;x<=time;x++)
          {
          TMOD=0x11;
          TH0=55536/256;
          TL0=55536%256;
          TR0=1;
          while(!TF0);
          TF0=TR0=0;
          }
          }
          //=============== HAM CHUYEN SANG MA MAY==============================
          void DCB(void)
          {
          nghin=num/1000;
          tram=(num%1000)/100;
          chuc=(num%100)/10;
          donvi=num%10;
          }
          //================HAM HIEN THI========================================
          void HIEN_THI(void)
          {
          P0=M[nghin];
          P2=~0x1;
          delay_10ms(1);
          P2=~0;
          P0=0xFF;
          P0=M[tram];
          P2=~0x2;
          delay_10ms(1);
          P2=~0;
          P0=0xFF;
          P0=M[chuc];
          P2=~0x4;
          delay_10ms(1);
          P2=~0;
          P0=0xFF;
          P0=M[donvi];
          P2=~0x8;
          delay_10ms();
          P2=~0;
          P0=0xFF;
          }
          //================HAM_CHINH========================= ===================
          void main(void)
          {
          while(1)
          {
          unsigned a;
          for(a=0;a<30;a++)
          {
          DCB();
          HIEN_THI();
          }
          num=num+1;
          if(num==10000)num=0;
          };
          }
          lỗi của bạn là biến num bạn khai báo kiểu char ( 8 bit) => chỉ lên được đến 255 là đúng rồi
          Nguyễn Huy Biên - 01649 802 694
          gmail :

          Comment


          • Bài tập 31

            Tổng hợp lập trình led đơn dành cho các bạn bắt đầu học C:
            TẢI VỀ: LED_DON.rar

            Comment


            • Nguyên văn bởi 31101992 Xem bài viết
              Tổng hợp lập trình led đơn dành cho các bạn bắt đầu học C:
              TẢI VỀ: LED_DON.rar

              giúp mình với, mình viết code lại mà bị báo lỗi sửa hoài mà không được, bạn có thể bỏ chút thời gian sửa dùm mình với, cám ơn rất nhiều





              #include<at89x52.h>
              #include<stdio.h>
              #include<math.h>
              unsigned char ou[4];
              unsigned int i,j,p;
              unsigned char ;
              sbit led_xanh=P1^0
              sbit led_vang=p1^1
              sbit led_do=p1^2
              sbit set=P3^0
              sbit up=p3^2
              sbit down=p3^3
              unsigned int dat;
              unsigned char tem[9],loop=0,temp=0;
              sbit alamflag=p2^1
              sbit DQ = p2^1; //ket noi chan du lieu DS18b20//
              bit a;
              //ham tre M ms
              void delayMs(unsigned int count)
              {unsigned int i;
              while(count){
              i=115;
              while (i>0) i--;
              count--;
              }}
              //tao tre U us
              void DelayUs(int us)
              {int i;
              for (i=0;i<us;
              i++);
              }
              /////////////////////reset ds18b20
              bit ResetDS18b20(void)
              {
              bit presence;
              DQ=0; //keo DQ xuong muc thap
              DelayUs(29);////tre khoang 490us
              DQ=1;///////////cho phep DQ hoat dong
              DelayUs(3);/////TRE 55US
              presence=DQ;////lay tin hieu do duoc
              DelayUs(25);////cho den khi ket thuc lay tin hieu 316 uS
              return(presence);//lai tiep tuc lay tin hieu
              }///////////////////0=presence, 1=np part
              ///////////////////////doc 1 bit tu 18b20///////////////////////
              bit ReadBit(void)
              {
              unsigned char i=0;
              DQ=0;////////////////////keo dq xuong muc thap///////////
              DQ=1;/////////////////////dua dq len muc 1
              for (i=0;i<3;i++);/////////tre khoang 17us de bat dau
              return(DQ);//////////////////quay tro ve gia tri DQ
              }
              ////////////////////viet 1 bit vao DS18b20 PHAN NAY BAO LOIIIIIIIIIIIIIIII
              void WriteBit(bit Dbit)
              {
              unsigned char i=0;
              DQ=0;
              DQ=Dbit? 1:0;///////DQ=1neu DQ=Dbit
              DelayUs(5);//////// tre khoang 39us
              DQ=1; ////////////////////DONG NAY BAO LOIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
              }
              ///////////////////////doc 1 bite tu 18b20 PHAN NAY BAO LOIIIIIIIIIIIIIIIII
              unsigned char ReadByte(void)
              {unsigned char i;
              unsigned char Din=0;
              for(i=0;i<8;i++);
              {
              Din|=ReadBit()?0x01<<i;Din; //DONG NAY BAO LOIIIIIIIIIIIIII
              DelayUs(6);
              }
              return(Din);
              }
              ///////////////////////////viet 1 byte
              void WriteByte(unsigned char Dout)
              {
              unsigned char i;
              for(i=0;i<8;i++);
              {
              WriteBit((bit)(Dout&0x1));///////////viet tung bit
              Dout=Dout>>1;
              }
              DelayUs(5);
              }
              /////////////////////cai dat cau hinh cho DS18b20
              void config(unsigned char A_th,A_tl,mode)
              {
              ResetDS1820();
              WriteByte(0x4e);
              WriteByte(A_th);
              WriteByte(A_tl);
              WriteByte(mode);
              }
              ////////////////doc nhiet do
              void ReadTemp(unsigned char *buff)
              {
              unsigned char n;
              EA=0;////////////cam cac ngat hoat dong
              ResetDS1820();
              WriteByte(0xcc);//////////bo qua rom cua DS1820
              WriteByte(0x44);/////////thuc hien chuyen doi nhiet do
              while(ReadByte()==0xff);//////////doi cho chuyen doi nhiet do han chinh
              ResteDS1920();
              WriteByte(0xcc);///////bo qua rom cua DS18B20
              WriteByte(0xbe);/////////doc ket qua
              for(n=0;n<9;n++);/////////////////doc 9 bit nhung chi doc tung bit
              {buff[n]=ReadByte();/////////////doc DS1820
              }
              EA=1;//////////////////cho phep ngat
              }
              ////////////////////////////
              void delay(unsigned int loop)
              {
              unsigned char x,y;
              for(x=0;x<loop;x++)
              {for(y=0;y<33,y++);
              }
              }
              //////////////////////////ham hien thi led//////////////////
              void h_thi(unsigned char num)
              {
              unsigned char i=0,xoa=0;
              xoa=(num<100)?3:4;///////////////de xoa so 0 dau tien khi nhiet do <100
              for(i=1;i<xoa;i++)
              {
              ou[i]=num%10;
              num/=10;
              }
              for(i=0;i<xoa;i++)
              {
              P0=240&(~(128>>i))|ou[i];
              delay(5);
              P0=255;
              delay(2);
              }
              }
              /////////////ham cai dat nhiet do////////////
              void ngat0(void) interrupt 0
              {
              DelayMs(80);
              dat=dat+1;
              h_thi(dat);
              while(!up)
              DelayMs(20);
              {}
              }
              void ngat2(void)interrupt 2
              {
              DelayMs(100);
              dat=dat-1;
              h_thi(dat);
              while(!down)
              DelayMs(20);
              {}
              }
              //////////////////////ham chinh////////////////////////
              void main(void)
              unsigned int
              {
              m=0;
              dat=35
              set=1;
              IE=0x85;
              EA=1;
              ET0=1;
              ET1=1;
              IT0=1;
              IT1=1;
              do
              {h_thi(dat);}
              while(set);
              while(!set);
              P0=255;
              p2=254;
              P1=0x00;
              Config(0,0,31);
              //////////cai che do 9 bit cho 1820
              while(1)
              {
              unsigned int t;
              ReadTemp(&tem[0]);
              temp=(tem[0]>>3)|(tem[1]<<5);
              ou[0]=(temp&1)?5:0;////////////hien thi phan thap phan////////////
              temp=temp>>1; ///////////////dich sang phai 1 bit//////
              for(loop=0;loop<255;loop++);
              {
              h_thi(temp);
              }
              t=(int) temp;
              if(t==dat)
              {
              led_vang=1;
              led_xanh=0;
              led_do=0}
              if(t>dat)
              {
              led_do=1;
              led_xanh=0;
              led_vang=0;
              }
              if(t<dat)
              {
              led_do=1;
              led_xanh=0;
              led_vang=0;
              }
              ResetDS1820();
              WriteByte(0x44);///////////////thuc hien chuyen sang nhiet do
              }}

              Comment


              • giúp em sửa code với, em sửa hoài mà không được

                Comment


                • các bác có thể giúp e cái code này hk vậy

                  ở cái ngắt timer 1 k hiểu tại sao có cùng cái thời gian với ngắt timer 0 là "delay_mms(10,5)"
                  nhưng với timer 0 thì thiệu ứng lại chạy nhanh hơn rất nhiều với timer 1.

                  mong các bác giúp đỡ. thanks các bác nhiều nhiều lắm lắm.................



                  #include <REGX51.H>

                  sbit led1=P1^0;
                  sbit led2=P1^1;
                  sbit led3=P1^2;
                  sbit led4=P1^3;
                  sbit led5=P1^4;
                  sbit led6=P1^5;
                  sbit led7=P1^6;
                  sbit led8=P1^7;

                  sbit led9=P3^0;
                  sbit led10=P3^1;
                  sbit led11=P3^2;
                  sbit led12=P3^3;
                  sbit led13=P3^4;
                  sbit led14=P3^5;
                  sbit led15=P3^6;
                  sbit led16=P3^7;

                  sbit led17=P0^0;
                  sbit led18=P0^1;
                  sbit led19=P0^2;
                  sbit led20=P0^3;
                  sbit led21=P0^4;
                  sbit led22=P0^5;
                  sbit led23=P0^6;
                  sbit led24=P0^7;

                  sbit led25=P2^0;
                  sbit led26=P2^1;
                  sbit led27=P2^2;
                  sbit led28=P2^3;
                  sbit led29=P2^4;
                  sbit led30=P2^5;
                  sbit led31=P2^6;
                  sbit led32=P2^7;
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                  unsigned char d[31]={255,250,240,220,200,175,150,125,100,75,50,25,12, 8,6,6,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0};
                  unsigned char l[31]={255,250,245,240,235,230,220,210,200,190,180,170, 160,140,120,100,80,60,40,20,10,8,6,4,2,1,1,1,0,0,0 };
                  unsigned char code hu1[]={
                  128,64,32,16,8,4,2,1,
                  129,65,33,17,9,5,3,131, //xep chu 8bits
                  67,35,19,11,7,135,71,39,
                  23,15,143,79,47,31,159,95,
                  63,191,127,255};
                  unsigned char code hu2_1[]={
                  128,64,32,16,8,4,2,1,
                  0,0,0,0,0,0,0,0,
                  128,64,32,16,8,4,2,1,
                  0,0,0,0,0,0,0,128,
                  64,32,16,8,4,2,1,0,
                  0,0,0,0,0,128,64,32,
                  16,8,4,2,1,0,0,0, // xep chu 16 bít p3
                  0,0,128,64,32,16,8,4,
                  2,1,0,0,0,0,128,64,
                  32,16,8,4,2,1,0,0,
                  0,128,64,32,16,8,4,2,
                  1,0,0,128,64,32,16,8,
                  4,2,1,0,128,64,32,16,
                  8,4,2,1,129,65,33,17,
                  9,5,3,131,67,35,19,11,
                  7,135,71,39,23,15,143,79,
                  47,31,159,95,63,191,127,255
                  };
                  unsigned char code hu2_2[]={
                  0,0,0,0,0,0,0,0,
                  128,64,32,16,8,4,2,1,
                  1,1,1,1,1,1,1,1,
                  129,65,33,17,9,5,3,3,
                  3,3,3,3,3,3,3,131,
                  67,35,19,11,7,7,7,7,
                  7,7,7,7,7,135,71,39,
                  23,15,15,15,15,15,15,15, // xep chu 16 bít p1
                  15,15,143,79,47,31,31,31,
                  31,31,31,31,31,31,159,95,
                  63,63,63,63,63,63,63,63,
                  63,191,127,127,127,127,127,127,
                  127,127,127,255,255,255,255,255,
                  255,255,255,255,255,255,255,255,
                  255,255,255,255,255,255,255,255,
                  255,255,255,255,255,255,255,255,
                  255,255,255,255,255,255,255,255
                  };
                  unsigned char code hu3_p0[]={
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0, //don chan le tu p3-->p0
                  128,64,160,80,168,84,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,42,21,10,5,2,1
                  };
                  unsigned char code hu3_p2[]={
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0,
                  128,64,160,80,168,84,170,85,
                  170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                  170,85,170,85,170,85,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,42,21,10,5,2,1,
                  0,0,0,0,0,0,0,0
                  };
                  unsigned char code hu3_p3[]={
                  128,64,160,80,168,84,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                  170,85,170,85,170,85,170,85,
                  170,85,42,21,10,5,2,1,
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0
                  };
                  unsigned char code hu3_p1[]={
                  0,0,0,0,0,0,0,0,
                  128,64,160,80,168,84,170,85,
                  170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                  170,85,170,85,170,85,170,85,
                  170,85,170,85,170,85,170,85,
                  170,85,42,21,10,5,2,1,
                  0,0,0,0,0,0,0,0,
                  0,0,0,0,0,0,0,0
                  };
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                  void delay (unsigned char timer)
                  { unsigned char i,j;
                  while(P0_0);
                  while(!P0_0);
                  for(i=0;i<timer;i++)
                  for(j=0;j<60;j++)
                  {;}
                  }
                  void delay_ms(unsigned char time){
                  unsigned char temp;
                  while(time--){
                  temp = 40;
                  while(temp--);
                  temp = 10;
                  while(temp--);
                  };
                  }
                  void delay_mms(unsigned int mms,ttt){
                  //65535ms 9000MHz
                  while(mms--){
                  unsigned int xxx = 7*ttt+1;
                  while(xxx--);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                  void led_dimmer(){
                  unsigned char k,q;

                  for(k=1;k<=50;k++){
                  q=0;
                  while(++q<10){
                  P1=P3=P2=P0 = 0xff;
                  delay_ms(k);
                  P1=P3=P2=P0 = 0;
                  delay_ms(50-k);
                  }
                  }
                  for(k=1;k<=50;k++){
                  q=0;
                  while(++q<10){
                  P1=P3=P2=P0 = 0xff;
                  delay_ms(50-k);
                  P1=P3=P2=P0 = 0;
                  delay_ms(k);
                  }
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>//
                  unsigned char dem=0,nho,m,n;
                  void Timer0()interrupt 1 {
                  TF0=0; TR0=0;
                  //if(dem==0) {P0=0;P2=0;}
                  if(dem<=d[0]) P1_0=1; else P1_0=0;
                  if(dem<=d[1]) P1_1=1; else P1_1=0;
                  if(dem<=d[2]) P1_2=1; else P1_2=0;
                  if(dem<=d[3]) P1_3=1; else P1_3=0;
                  if(dem<=d[4]) P1_4=1; else P1_4=0;
                  if(dem<=d[5]) P1_5=1; else P1_5=0;
                  if(dem<=d[6]) P1_6=1; else P1_6=0;
                  if(dem<=d[7]) P1_7=1; else P1_7=0;

                  if(dem<=d[8]) P3_0=1; else P3_0=0;
                  if(dem<=d[9]) P3_1=1; else P3_1=0;
                  if(dem<=d[10]) P3_2=1; else P3_2=0;
                  if(dem<=d[11]) P3_3=1; else P3_3=0;
                  if(dem<=d[12]) P3_4=1; else P3_4=0;
                  if(dem<=d[13]) P3_5=1; else P3_5=0;
                  if(dem<=d[14]) P3_6=1; else P3_6=0;
                  if(dem<=d[15]) P3_7=1; else P3_7=0;

                  if(dem<=d[16]) P2_0=1; else P2_0=0;
                  if(dem<=d[17]) P2_1=1; else P2_1=0;
                  if(dem<=d[18]) P2_2=1; else P2_2=0;
                  if(dem<=d[19]) P2_3=1; else P2_3=0;
                  if(dem<=d[20]) P2_4=1; else P2_4=0;
                  if(dem<=d[21]) P2_5=1; else P2_5=0;
                  if(dem<=d[22]) P2_6=1; else P2_6=0;
                  if(dem<=d[23]) P2_7=1; else P2_7=0;

                  if(dem<=d[24]) P0_7=1; else P0_7=0;
                  if(dem<=d[25]) P0_6=1; else P0_6=0;
                  if(dem<=d[26]) P0_5=1; else P0_5=0;
                  if(dem<=d[27]) P0_4=1; else P0_4=0;
                  if(dem<=d[28]) P0_3=1; else P0_3=0;
                  if(dem<=d[29]) P0_2=1; else P0_2=0;
                  if(dem<=d[30]) P0_1=1; else P0_1=0;
                  dem++;
                  TR0=1;
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void Timer1()interrupt 3 {
                  TF1=0; TR1=1;
                  //if(dem==0) {P0=0;P2=0;}
                  if(dem<=l[30]) P1_0=1; else P1_0=0;
                  if(dem<=l[29]) P1_1=1; else P1_1=0;
                  if(dem<=l[28]) P1_2=1; else P1_2=0;
                  if(dem<=l[27]) P1_3=1; else P1_3=0;
                  if(dem<=l[26]) P1_4=1; else P1_4=0;
                  if(dem<=l[25]) P1_5=1; else P1_5=0;
                  if(dem<=l[24]) P1_6=1; else P1_6=0;
                  if(dem<=l[23]) P1_7=1; else P1_7=0;

                  if(dem<=l[22]) P3_0=1; else P3_0=0;
                  if(dem<=l[21]) P3_1=1; else P3_1=0;
                  if(dem<=l[20]) P3_2=1; else P3_2=0;
                  if(dem<=l[19]) P3_3=1; else P3_3=0;
                  if(dem<=l[18]) P3_4=1; else P3_4=0;
                  if(dem<=l[17]) P3_5=1; else P3_5=0;
                  if(dem<=l[16]) P3_6=1; else P3_6=0;
                  if(dem<=l[15]) P3_7=1; else P3_7=0;

                  if(dem<=l[14]) P2_0=1; else P2_0=0;
                  if(dem<=l[13]) P2_1=1; else P2_1=0;
                  if(dem<=l[12]) P2_2=1; else P2_2=0;
                  if(dem<=l[11]) P2_3=1; else P2_3=0;
                  if(dem<=l[10]) P2_4=1; else P2_4=0;
                  if(dem<=l[9]) P2_5=1; else P2_5=0;
                  if(dem<=l[8]) P2_6=1; else P2_6=0;
                  if(dem<=l[7]) P2_7=1; else P2_7=0;

                  if(dem<=l[6]) P0_7=1; else P0_7=0;
                  if(dem<=l[5]) P0_6=1; else P0_6=0;
                  if(dem<=l[4]) P0_5=1; else P0_5=0;
                  if(dem<=l[3]) P0_4=1; else P0_4=0;
                  if(dem<=l[2]) P0_3=1; else P0_3=0;
                  if(dem<=l[1]) P0_2=1; else P0_2=0;
                  if(dem<=l[0]) P0_1=1; else P0_1=0;
                  dem++;
                  TR1=1;
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void reset ()
                  {P1=P3=P0=P2=0xff;}
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void nhap_nhay(long lan)
                  { unsigned char g;
                  for(g=0;g<lan;++g)
                  {
                  P1=P3=P0=P2=0;
                  delay(30);
                  P1=P3=P0=P2=0xff;
                  delay(10);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void chan_le()
                  {
                  for(m=0;m<10;++m)
                  {P1=P3=P2=P0=0x55; delay(30);
                  P1=P3=P2=P0=0xaa; delay(30);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void xep_8bits ()
                  {
                  for(m=0;m<36;m++)
                  {
                  P1=P3=P0=P2=hu1[m];
                  delay(25);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void xep_16bits ()
                  {
                  for(m=0;m<136;m++)
                  {
                  P3=P0=hu2_1[m];
                  P1=P2=hu2_2[m];
                  delay(25);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void chan_le_don_phai ()
                  {
                  for(m=0;m<64;m++)
                  {
                  P3=hu3_p3[m];
                  P1=hu3_p1[m];
                  P2=hu3_p2[m];
                  P0=hu3_p0[m];
                  delay(25);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  void chan_le_don_trai ()
                  {
                  for(m=0;m<64;m++)
                  {
                  P3=!hu3_p3[m];
                  P1=!hu3_p1[m];
                  P2=!hu3_p2[m];
                  P0=!hu3_p0[m];
                  delay(25);
                  }
                  }
                  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                  //>>>>>>>>>>>>>>>>> CHUONG >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//
                  //>>>>>>>>>>>>>>>>>>>>>> TRINH >>>>>>>>>>>>>>>>>>>>>>>>>>>//
                  //>>>>>>>>>>>>>>>>>>>>>>>>>> CHINH >>>>>>>>>>>>>>>>>>>>>>>//
                  void main()
                  {
                  while(1)
                  { unsigned int h;
                  reset();
                  chan_le_don_phai();
                  chan_le_don_trai();
                  xep_8bits();
                  xep_16bits();
                  chan_le();
                  TH0=180;
                  TL0=180;
                  TMOD=0x02; //timer 0: che do 2: 8 bit tu dong nap lai
                  EA=1; ET0=1; TR0=1;

                  for(h=0;h<1500;h++)
                  {
                  delay_mms(10,5); dem=0;
                  nho= d[0];
                  d[0]= d[1]; d[1]= d[2]; d[2]= d[3]; d[3]= d[4];
                  d[4]= d[5]; d[5]= d[6]; d[6]= d[7]; d[7]= d[8];
                  d[8]= d[9]; d[9]= d[10]; d[10]= d[11]; d[11]= d[12];
                  d[12]= d[13]; d[13]= d[14]; d[14]= d[15]; d[15]= d[16];
                  d[16]= d[17]; d[17]= d[18]; d[18]= d[19]; d[19]= d[20];
                  d[20]= d[21]; d[21]= d[22]; d[22]= d[23]; d[23]= d[24];
                  d[24]= d[25]; d[25]= d[26]; d[26]= d[27]; d[27]= d[28];
                  d[28]= d[29]; d[29]= d[30]; d[30]= nho;
                  }
                  EA=0; ET0=0; TR0=0;
                  TH1=180;
                  TL1=180;
                  TMOD=0x20; //timer 1: che do 2: 8 bit tu dong nap lai
                  EA=1; ET1=1; TR1=1;

                  for(h=0;h<1500;h++)
                  {
                  delay_mms(10,5); dem=0;
                  nho= l[0];
                  l[0]= l[1]; l[1]= l[2]; l[2]= l[3]; l[3]= l[4];
                  l[4]= l[5]; l[5]= l[6]; l[6]= l[7]; l[7]= l[8];
                  l[8]= l[9]; l[9]= l[10]; l[10]= l[11]; l[11]= l[12];
                  l[12]= l[13]; l[13]= l[14]; l[14]= l[15]; l[15]= l[16];
                  l[16]= l[17]; l[17]= l[18]; l[18]= l[19]; l[19]= l[20];
                  l[20]= l[21]; l[21]= l[22]; l[22]= l[23]; l[23]= l[24];
                  l[24]= l[25]; l[25]= l[26]; l[26]= l[27]; l[27]= l[28];
                  l[28]= l[29]; l[29]= l[30]; l[30]= nho;
                  }
                  TR1=0; ET1=0;EA=0;
                  reset();
                  led_dimmer();
                  nhap_nhay(4);
                  }
                  }
                  TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
                  MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

                  Comment


                  • các bác có thể giúp e cái code này hk vậy

                    ở cái ngắt timer 1 k hiểu tại sao có cùng cái thời gian với ngắt timer 0 là "delay_mms(10,5)"
                    nhưng với timer 0 thì thiệu ứng lại chạy nhanh hơn rất nhiều với timer 1.

                    mong các bác giúp đỡ. thanks các bác nhiều nhiều lắm lắm.................



                    #include <REGX51.H>

                    sbit led1=P1^0;
                    sbit led2=P1^1;
                    sbit led3=P1^2;
                    sbit led4=P1^3;
                    sbit led5=P1^4;
                    sbit led6=P1^5;
                    sbit led7=P1^6;
                    sbit led8=P1^7;

                    sbit led9=P3^0;
                    sbit led10=P3^1;
                    sbit led11=P3^2;
                    sbit led12=P3^3;
                    sbit led13=P3^4;
                    sbit led14=P3^5;
                    sbit led15=P3^6;
                    sbit led16=P3^7;

                    sbit led17=P0^0;
                    sbit led18=P0^1;
                    sbit led19=P0^2;
                    sbit led20=P0^3;
                    sbit led21=P0^4;
                    sbit led22=P0^5;
                    sbit led23=P0^6;
                    sbit led24=P0^7;

                    sbit led25=P2^0;
                    sbit led26=P2^1;
                    sbit led27=P2^2;
                    sbit led28=P2^3;
                    sbit led29=P2^4;
                    sbit led30=P2^5;
                    sbit led31=P2^6;
                    sbit led32=P2^7;
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                    unsigned char d[31]={255,250,240,220,200,175,150,125,100,75,50,25,12, 8,6,6,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0};
                    unsigned char l[31]={255,250,245,240,235,230,220,210,200,190,180,170, 160,140,120,100,80,60,40,20,10,8,6,4,2,1,1,1,0,0,0 };
                    unsigned char code hu1[]={
                    128,64,32,16,8,4,2,1,
                    129,65,33,17,9,5,3,131, //xep chu 8bits
                    67,35,19,11,7,135,71,39,
                    23,15,143,79,47,31,159,95,
                    63,191,127,255};
                    unsigned char code hu2_1[]={
                    128,64,32,16,8,4,2,1,
                    0,0,0,0,0,0,0,0,
                    128,64,32,16,8,4,2,1,
                    0,0,0,0,0,0,0,128,
                    64,32,16,8,4,2,1,0,
                    0,0,0,0,0,128,64,32,
                    16,8,4,2,1,0,0,0, // xep chu 16 bít p3
                    0,0,128,64,32,16,8,4,
                    2,1,0,0,0,0,128,64,
                    32,16,8,4,2,1,0,0,
                    0,128,64,32,16,8,4,2,
                    1,0,0,128,64,32,16,8,
                    4,2,1,0,128,64,32,16,
                    8,4,2,1,129,65,33,17,
                    9,5,3,131,67,35,19,11,
                    7,135,71,39,23,15,143,79,
                    47,31,159,95,63,191,127,255
                    };
                    unsigned char code hu2_2[]={
                    0,0,0,0,0,0,0,0,
                    128,64,32,16,8,4,2,1,
                    1,1,1,1,1,1,1,1,
                    129,65,33,17,9,5,3,3,
                    3,3,3,3,3,3,3,131,
                    67,35,19,11,7,7,7,7,
                    7,7,7,7,7,135,71,39,
                    23,15,15,15,15,15,15,15, // xep chu 16 bít p1
                    15,15,143,79,47,31,31,31,
                    31,31,31,31,31,31,159,95,
                    63,63,63,63,63,63,63,63,
                    63,191,127,127,127,127,127,127,
                    127,127,127,255,255,255,255,255,
                    255,255,255,255,255,255,255,255,
                    255,255,255,255,255,255,255,255,
                    255,255,255,255,255,255,255,255,
                    255,255,255,255,255,255,255,255
                    };
                    unsigned char code hu3_p0[]={
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0, //don chan le tu p3-->p0
                    128,64,160,80,168,84,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,42,21,10,5,2,1
                    };
                    unsigned char code hu3_p2[]={
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0,
                    128,64,160,80,168,84,170,85,
                    170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                    170,85,170,85,170,85,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,42,21,10,5,2,1,
                    0,0,0,0,0,0,0,0
                    };
                    unsigned char code hu3_p3[]={
                    128,64,160,80,168,84,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                    170,85,170,85,170,85,170,85,
                    170,85,42,21,10,5,2,1,
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0
                    };
                    unsigned char code hu3_p1[]={
                    0,0,0,0,0,0,0,0,
                    128,64,160,80,168,84,170,85,
                    170,85,170,85,170,85,170,85, //don chan le tu p3-->p0
                    170,85,170,85,170,85,170,85,
                    170,85,170,85,170,85,170,85,
                    170,85,42,21,10,5,2,1,
                    0,0,0,0,0,0,0,0,
                    0,0,0,0,0,0,0,0
                    };
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                    void delay (unsigned char timer)
                    { unsigned char i,j;
                    while(P0_0);
                    while(!P0_0);
                    for(i=0;i<timer;i++)
                    for(j=0;j<60;j++)
                    {;}
                    }
                    void delay_ms(unsigned char time){
                    unsigned char temp;
                    while(time--){
                    temp = 40;
                    while(temp--);
                    temp = 10;
                    while(temp--);
                    };
                    }
                    void delay_mms(unsigned int mms,ttt){
                    //65535ms 9000MHz
                    while(mms--){
                    unsigned int xxx = 7*ttt+1;
                    while(xxx--);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >//
                    void led_dimmer(){
                    unsigned char k,q;

                    for(k=1;k<=50;k++){
                    q=0;
                    while(++q<10){
                    P1=P3=P2=P0 = 0xff;
                    delay_ms(k);
                    P1=P3=P2=P0 = 0;
                    delay_ms(50-k);
                    }
                    }
                    for(k=1;k<=50;k++){
                    q=0;
                    while(++q<10){
                    P1=P3=P2=P0 = 0xff;
                    delay_ms(50-k);
                    P1=P3=P2=P0 = 0;
                    delay_ms(k);
                    }
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>//
                    unsigned char dem=0,nho,m,n;
                    void Timer0()interrupt 1 {
                    TF0=0; TR0=0;
                    //if(dem==0) {P0=0;P2=0;}
                    if(dem<=d[0]) P1_0=1; else P1_0=0;
                    if(dem<=d[1]) P1_1=1; else P1_1=0;
                    if(dem<=d[2]) P1_2=1; else P1_2=0;
                    if(dem<=d[3]) P1_3=1; else P1_3=0;
                    if(dem<=d[4]) P1_4=1; else P1_4=0;
                    if(dem<=d[5]) P1_5=1; else P1_5=0;
                    if(dem<=d[6]) P1_6=1; else P1_6=0;
                    if(dem<=d[7]) P1_7=1; else P1_7=0;

                    if(dem<=d[8]) P3_0=1; else P3_0=0;
                    if(dem<=d[9]) P3_1=1; else P3_1=0;
                    if(dem<=d[10]) P3_2=1; else P3_2=0;
                    if(dem<=d[11]) P3_3=1; else P3_3=0;
                    if(dem<=d[12]) P3_4=1; else P3_4=0;
                    if(dem<=d[13]) P3_5=1; else P3_5=0;
                    if(dem<=d[14]) P3_6=1; else P3_6=0;
                    if(dem<=d[15]) P3_7=1; else P3_7=0;

                    if(dem<=d[16]) P2_0=1; else P2_0=0;
                    if(dem<=d[17]) P2_1=1; else P2_1=0;
                    if(dem<=d[18]) P2_2=1; else P2_2=0;
                    if(dem<=d[19]) P2_3=1; else P2_3=0;
                    if(dem<=d[20]) P2_4=1; else P2_4=0;
                    if(dem<=d[21]) P2_5=1; else P2_5=0;
                    if(dem<=d[22]) P2_6=1; else P2_6=0;
                    if(dem<=d[23]) P2_7=1; else P2_7=0;

                    if(dem<=d[24]) P0_7=1; else P0_7=0;
                    if(dem<=d[25]) P0_6=1; else P0_6=0;
                    if(dem<=d[26]) P0_5=1; else P0_5=0;
                    if(dem<=d[27]) P0_4=1; else P0_4=0;
                    if(dem<=d[28]) P0_3=1; else P0_3=0;
                    if(dem<=d[29]) P0_2=1; else P0_2=0;
                    if(dem<=d[30]) P0_1=1; else P0_1=0;
                    dem++;
                    TR0=1;
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void Timer1()interrupt 3 {
                    TF1=0; TR1=1;
                    //if(dem==0) {P0=0;P2=0;}
                    if(dem<=l[30]) P1_0=1; else P1_0=0;
                    if(dem<=l[29]) P1_1=1; else P1_1=0;
                    if(dem<=l[28]) P1_2=1; else P1_2=0;
                    if(dem<=l[27]) P1_3=1; else P1_3=0;
                    if(dem<=l[26]) P1_4=1; else P1_4=0;
                    if(dem<=l[25]) P1_5=1; else P1_5=0;
                    if(dem<=l[24]) P1_6=1; else P1_6=0;
                    if(dem<=l[23]) P1_7=1; else P1_7=0;

                    if(dem<=l[22]) P3_0=1; else P3_0=0;
                    if(dem<=l[21]) P3_1=1; else P3_1=0;
                    if(dem<=l[20]) P3_2=1; else P3_2=0;
                    if(dem<=l[19]) P3_3=1; else P3_3=0;
                    if(dem<=l[18]) P3_4=1; else P3_4=0;
                    if(dem<=l[17]) P3_5=1; else P3_5=0;
                    if(dem<=l[16]) P3_6=1; else P3_6=0;
                    if(dem<=l[15]) P3_7=1; else P3_7=0;

                    if(dem<=l[14]) P2_0=1; else P2_0=0;
                    if(dem<=l[13]) P2_1=1; else P2_1=0;
                    if(dem<=l[12]) P2_2=1; else P2_2=0;
                    if(dem<=l[11]) P2_3=1; else P2_3=0;
                    if(dem<=l[10]) P2_4=1; else P2_4=0;
                    if(dem<=l[9]) P2_5=1; else P2_5=0;
                    if(dem<=l[8]) P2_6=1; else P2_6=0;
                    if(dem<=l[7]) P2_7=1; else P2_7=0;

                    if(dem<=l[6]) P0_7=1; else P0_7=0;
                    if(dem<=l[5]) P0_6=1; else P0_6=0;
                    if(dem<=l[4]) P0_5=1; else P0_5=0;
                    if(dem<=l[3]) P0_4=1; else P0_4=0;
                    if(dem<=l[2]) P0_3=1; else P0_3=0;
                    if(dem<=l[1]) P0_2=1; else P0_2=0;
                    if(dem<=l[0]) P0_1=1; else P0_1=0;
                    dem++;
                    TR1=1;
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void reset ()
                    {P1=P3=P0=P2=0xff;}
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void nhap_nhay(long lan)
                    { unsigned char g;
                    for(g=0;g<lan;++g)
                    {
                    P1=P3=P0=P2=0;
                    delay(30);
                    P1=P3=P0=P2=0xff;
                    delay(10);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void chan_le()
                    {
                    for(m=0;m<10;++m)
                    {P1=P3=P2=P0=0x55; delay(30);
                    P1=P3=P2=P0=0xaa; delay(30);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void xep_8bits ()
                    {
                    for(m=0;m<36;m++)
                    {
                    P1=P3=P0=P2=hu1[m];
                    delay(25);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void xep_16bits ()
                    {
                    for(m=0;m<136;m++)
                    {
                    P3=P0=hu2_1[m];
                    P1=P2=hu2_2[m];
                    delay(25);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void chan_le_don_phai ()
                    {
                    for(m=0;m<64;m++)
                    {
                    P3=hu3_p3[m];
                    P1=hu3_p1[m];
                    P2=hu3_p2[m];
                    P0=hu3_p0[m];
                    delay(25);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    void chan_le_don_trai ()
                    {
                    for(m=0;m<64;m++)
                    {
                    P3=!hu3_p3[m];
                    P1=!hu3_p1[m];
                    P2=!hu3_p2[m];
                    P0=!hu3_p0[m];
                    delay(25);
                    }
                    }
                    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>//
                    //>>>>>>>>>>>>>>>>> CHUONG >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>//
                    //>>>>>>>>>>>>>>>>>>>>>> TRINH >>>>>>>>>>>>>>>>>>>>>>>>>>>//
                    //>>>>>>>>>>>>>>>>>>>>>>>>>> CHINH >>>>>>>>>>>>>>>>>>>>>>>//
                    void main()
                    {
                    while(1)
                    { unsigned int h;
                    reset();
                    chan_le_don_phai();
                    chan_le_don_trai();
                    xep_8bits();
                    xep_16bits();
                    chan_le();
                    TH0=180;
                    TL0=180;
                    TMOD=0x02; //timer 0: che do 2: 8 bit tu dong nap lai
                    EA=1; ET0=1; TR0=1;

                    for(h=0;h<1500;h++)
                    {
                    delay_mms(10,5); dem=0;
                    nho= d[0];
                    d[0]= d[1]; d[1]= d[2]; d[2]= d[3]; d[3]= d[4];
                    d[4]= d[5]; d[5]= d[6]; d[6]= d[7]; d[7]= d[8];
                    d[8]= d[9]; d[9]= d[10]; d[10]= d[11]; d[11]= d[12];
                    d[12]= d[13]; d[13]= d[14]; d[14]= d[15]; d[15]= d[16];
                    d[16]= d[17]; d[17]= d[18]; d[18]= d[19]; d[19]= d[20];
                    d[20]= d[21]; d[21]= d[22]; d[22]= d[23]; d[23]= d[24];
                    d[24]= d[25]; d[25]= d[26]; d[26]= d[27]; d[27]= d[28];
                    d[28]= d[29]; d[29]= d[30]; d[30]= nho;
                    }
                    EA=0; ET0=0; TR0=0;
                    TH1=180;
                    TL1=180;
                    TMOD=0x20; //timer 1: che do 2: 8 bit tu dong nap lai
                    EA=1; ET1=1; TR1=1;

                    for(h=0;h<1500;h++)
                    {
                    delay_mms(10,5); dem=0;
                    nho= l[0];
                    l[0]= l[1]; l[1]= l[2]; l[2]= l[3]; l[3]= l[4];
                    l[4]= l[5]; l[5]= l[6]; l[6]= l[7]; l[7]= l[8];
                    l[8]= l[9]; l[9]= l[10]; l[10]= l[11]; l[11]= l[12];
                    l[12]= l[13]; l[13]= l[14]; l[14]= l[15]; l[15]= l[16];
                    l[16]= l[17]; l[17]= l[18]; l[18]= l[19]; l[19]= l[20];
                    l[20]= l[21]; l[21]= l[22]; l[22]= l[23]; l[23]= l[24];
                    l[24]= l[25]; l[25]= l[26]; l[26]= l[27]; l[27]= l[28];
                    l[28]= l[29]; l[29]= l[30]; l[30]= nho;
                    }
                    TR1=0; ET1=0;EA=0;
                    reset();
                    led_dimmer();
                    nhap_nhay(4);
                    }
                    }
                    TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
                    MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

                    Comment


                    • A oi co the cho e doan code 8 nut nhan dieu khien 8 den. Nhan lan luoc 8 nut 8 den cung sáng lan luoc

                      Comment


                      • Ai cho xin cái thuật toán của điều chế xung PWM với !

                        Comment


                        • a có code nhạc đơn âm cho 8051 k

                          Comment


                          • có ai biết khóa code nạp vào 8051 không cho sao chép không? chi mình với, và nếu khóa rồi thì người ta còn cách nào đọc code được nửa không? cảm ơn rất nhiều

                            Comment


                            • Nguyên văn bởi DT02 Xem bài viết
                              có ai biết khóa code nạp vào 8051 không cho sao chép không? chi mình với, và nếu khóa rồi thì người ta còn cách nào đọc code được nửa không? cảm ơn rất nhiều
                              đa số trong các phần mềm nạp code điều có chế độ khóa chip mà.
                              niếu chíp đã khóa thì không thể nào đọc code từ chip nữa đâu
                              TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
                              MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

                              Comment


                              • Nguyên văn bởi chjpchjp1991
                                Code này mình chia sẻ lại nè. Bạn nhớ thanks tác giả trong code na..^^
                                Code:
                                //Write by Duy Tu Do-09T2-Danang University of Technology.
                                //Gmail: doduytu@gmail.com
                                #include <REG52.H>
                                #include "Sound.h"
                                void Delay1ms(unsigned int count)
                                {
                                	unsigned int i,j;
                                	for(i=0;i<count;i++)
                                	for(j=0;j<120;j++);
                                }
                                unsigned char code jinglebell[]={ 0x11,0x02, 0x11,0x02, 0x11,0x01, 0x11,0x02, 0x11,0x02,
                                                                  0x11,0x01, 0x11,0x02, 0x16,0x02, 0x0F,0x66, 0x10,0x03,
                                                                  0x11,0x01, 0x15,0x02, 0x15,0x02, 0x15,0x66, 0x15,0x03,
                                                                  0x15,0x02, 0x11,0x02, 0x11,0x02, 0x11,0x03, 0x11,0x03,
                                                                  0x11,0x02, 0x10,0x02, 0x10,0x02, 0x11,0x02, 0x10,0x01,
                                                                  0x16,0x01, 0x11,0x02, 0x11,0x02, 0x11,0x01, 0x11,0x02,
                                                                  0x11,0x02, 0x11,0x01, 0x11,0x02, 0x16,0x02, 0x0F,0x66,
                                                                  0x10,0x03, 0x11,0x01, 0x15,0x02, 0x15,0x02, 0x15,0x66,
                                                                  0x15,0x03, 0x15,0x02, 0x11,0x02, 0x11,0x02, 0x11,0x02,
                                                                  0x16,0x02, 0x16,0x02, 0x15,0x02, 0x10,0x02, 0x0F,0x01,
                                                                  0x00,0x00 }; 
                                unsigned char code happybirthday[]={ 0x10,0x02, 0x10,0x02, 0x11,0x66, 0x10,0x01, 0x16,0x66,
                                                                  0x15,0x01, 0x10,0x02, 0x10,0x02, 0x11,0x66, 0x10,0x01,
                                                                  0x17,0x66, 0x16,0x01, 0x10,0x0C, 0x10,0x0C, 0x1A,0x66,
                                                                  0x18,0x66, 0x16,0x0C, 0x15,0x0C, 0x11,0x01, 0x19,0x0C,
                                                                  0x19,0x02, 0x18,0x66, 0x16,0x66, 0x17,0x66, 0x16,0x01,
                                                                  0x00,0x00 };								                
                                main()
                                {
                                	InitialSound();
                                	while(1)
                                	{   if(!but1){
                                		Play(jinglebell,0,3,360);
                                		Delay1ms(500);
                                		};
                                		if(!but2){
                                		Play(happybirthday,0,3,360);
                                		Delay1ms(500);
                                		};
                                		 if(!but3){
                                		 	while(1)
                                						{ Play(jinglebell,0,3,360);
                                							Delay1ms(500);
                                						};
                                					};
                                	};
                                }
                                không có source "Sound.h" thì code bạn đưa lên dùng sao được bạn?
                                Nguyễn Huy Biên - 01649 802 694
                                gmail :

                                Comment

                                Về tác giả

                                Collapse

                                31101992 Tìm hiểu thêm về 31101992

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X