Thông báo

Collapse
No announcement yet.

Led trái tim cần giúp gấp...

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

  • Led trái tim cần giúp gấp...

    EM MỚI TẬP TẸ LÀM LED TRÁI TIM...
    E DÙNG AT9C52
    PHẦN CỨNG EM LÀM XONG RÙI....
    GIỜ ĐẾN PHẦN LẬP TRÌNH....
    EM MÚN TỰ VIẾT CODE CHỨ KO MÚN DÙNG PHẦN MỀM....
    HIỆN E ĐANG HỌC c++
    VẬY BÁC NÀO ĐÃ LÀM CÒN LƯU CODE HAY BAC NÀO CÓ THỂ VIẾT HỘ EM MẤY ĐOẠN CHƯƠNG TRÌNH SHOW LÊN ĐÂY CHO EM HỌC TẬP VỚI..
    THANKS TRƯỚC CÁC BÁC!

  • #2
    bạn phải post thêm sơ đồ phần cứng mọi người mới biết phải làm sao chứ ???

    Comment


    • #3
      mạch bạn làm ntn. lập trình thì phải theo phần cứng.
      VD: nếu các led bạn nối chung VCC (Anot chung) thì khi bạn xuất mức logic 0 ra chân vđk thì led sáng
      vd bạn muốn cả 8 led nối với por 2 sáng thì khai báo
      P2=0
      còn tắt hết là: P2=0xff
      còn nếu led mà nối GND chung (katot chung) thì làm ngược lại thôi
      tuơng tự cho các port khác
      nên dùng các mảng.....
      nói chung phải xem phần mạch bạn thiết kế như thế nào mới giúp bạn được

      Comment


      • #4
        tham khảo một đoạn này :
        #include"reg52.h"
        #include"stdio.h"
        #include"intrins.h"
        unsigned int i,j,k;
        //###### ham delay tao thoi gian tre 0.5s ######
        void delay(unsigned int ms)
        {
        unsigned int a;
        unsigned char b;
        for(a=0;a
        {
        for(b=0;b<125;b++)
        {
        }
        }
        }
        //##### hieu ung chop tat toan bo led ########
        void hieu_ung_1(void)
        {
        for(k=0;k<8;k++)
        {
        P0=P1=P2=P3=0xff;
        delay(300);
        P0=P1=P2=P3=0x00;
        delay(300);
        }
        }
        //##### hieu ung chop 2 nua trai tim #########
        void hieu_ung_2(void)
        {
        for(i=0;i<6;i++)
        {
        P0=P3=0x00;
        delay(300);
        P0=P3=0xff;
        P1=P2=0x00;
        delay(300);
        P1=P2=0xff;
        }
        }
        //##### hieu ung led nhay so le 1 ##############
        void hieu_ung_3(void)
        {
        for(i=0;i<8;i++)
        {
        P0=P1=P2=P3=0x55;
        delay(300);
        P0=P1=P2=P3=0xaa;
        delay(300);
        }
        }
        //##### hieu ung led nhay so le 2 ##############
        void hieu_ung_4(void)
        {
        for(i=0;i<8;i++)
        {
        P0=P1=P2=P3=0xaa;
        delay(300);
        P0=P1=P2=P3=0x55;
        delay(300);
        }
        }
        //##### p0,p1,p2,p3,p4 cung sang thuan ######
        void hieu_ung_5(void)
        {
        unsigned char x,y;
        x=y=255;
        i=1;
        j=128;
        for(k=0;k<8;k++)
        {
        x=x-i;
        y=y-j;
        P0=x;
        P1=P2=P3=y;
        i=i*2;
        j=j/2;
        delay(300);
        }
        }
        //##### p0,p1,p2,p3,p4 cung sang nghich ######
        void hieu_ung_6(void)
        {
        unsigned char x,y;
        x=y=255;
        i=1;
        j=128;
        for(k=0;k<8;k++)
        {
        x=x-i;
        y=y-j;
        P0=y;
        P1=P2=P3=x;
        i=i*2;
        j=j/2;
        delay(300);
        }
        }

        Comment


        • #5
          tôi chỉ biết viết bằng asm thôi c thì chịu

          Comment


          • #6
            asem học khó hơn C mà bạn. bạn viết dc bằng asem thì viết bằng C đơn giản lắm,

            Comment


            • #7
              bạn có biết chổ nào dạy lập trình c hay o?
              ở hà nội nhé

              Comment


              • #8
                cái này bạn tự học là tốt nhất
                vì bạn đã học asem rồi lên học cái này cũng nhanh thôi
                mình nghĩ C dễ hơn asem nhiều
                vì mình học cả C và asem mà, học vi xử lý thì học asem, đến vi điều khiển dùng C, trong trình dịch C có hỗ trợ 1 số hàm cho vđk rồi, sẽ ngắn và rễ hơn asem rất nhiều đó bạn.
                tài liệu thì trong forum này rất nhiều rồi

                Comment


                • #9
                  CÁI NÀY COP Ở TRÊN MẠNG KO BIẾT CỦA BÁC NÀO
                  #include<reg52.h>
                  #include<stdio.h>
                  #include<intrins.h>
                  unsigned char x; int i;
                  void delay(long int t);
                  void dichvitri();
                  void nhay(int j);
                  void dao(int k);
                  void sangdantutrenxuong();
                  void sangdantuduoilen1();
                  void sangdantuduoilen2();
                  void duoi4_2();
                  void sangdan_het();
                  void sangdan_2();
                  void dao_2(int k);
                  void main(void)
                  { while(1)
                  { dichvitri();
                  nhay(3);
                  dao(4);
                  nhay(1);
                  for(i=0;i<=2;i++)
                  { sangdantutrenxuong();
                  nhay(1);
                  sangdantuduoilen1();
                  nhay(1);
                  }
                  for(i=0;i<=3;i++)
                  { sangdantuduoilen2();
                  nhay(1);
                  }
                  for(i=0;i<=5;i++)
                  {duoi4_2();
                  }
                  nhay(5);
                  for(i=0;i<=2;i++)
                  { sangdan_het();
                  nhay(1);
                  sangdan_2();
                  nhay(1);
                  }
                  dao_2(6);
                  nhay(7);
                  }
                  }
                  void delay(long int t)
                  { unsigned long int i;
                  for(i=1;i<=t;i++);
                  }

                  void nhay(int j)
                  { int k;
                  for(k=1;k<=j;k++)
                  {P0=P1=P2=P3=0;
                  delay(3000);
                  P0=P1=P2=P3=0xff;
                  delay(3000);
                  }
                  }
                  void dichvitri()
                  { int j;
                  x=0xfc;
                  for(j=1;j<=7;j++)
                  {
                  P0=P1=x;
                  delay(2000);
                  x=_crol_(x,1);
                  delay(2000);
                  }
                  P0=P1=0xff;
                  x=0xfc;
                  for(j=1;j<=7;j++)
                  {
                  P2=P3=x;
                  delay(2000);
                  x=_crol_(x,1);
                  delay(2000);
                  }
                  }
                  void dao(int k)
                  { int j;
                  x=0xaa;
                  for(j=1;j<=k;j++)
                  { P0=P1=P2=P3=x;
                  delay(4000);
                  P0=P1=P2=P3=~x;
                  delay(4000);
                  P0=P1=P2=P3=x;
                  delay(4000);
                  P0=P1=P2=P3=~x;
                  delay(4000);
                  P0=P1=P2=P3=0;
                  delay(4000);
                  }
                  }
                  void sangdantutrenxuong()
                  { int k,j;
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P0=P1=x;
                  j=j*2;
                  delay(2000);
                  }
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P2=P3=x;
                  j=j*2;
                  delay(2000);
                  }
                  }

                  void sangdantuduoilen1()
                  { int k,j;
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P2=P3=x;
                  j=j/2;
                  delay(2000);
                  }
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P1=P0=x;
                  j=j/2;
                  delay(2000);
                  }
                  }
                  void sangdantuduoilen2()
                  { int k,j,i;
                  unsigned char y;
                  x=y=255;
                  j=128;
                  i=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  y=y-i;
                  P1=P3=x;
                  P2=P0=y;
                  i=i*2;
                  j=j/2;
                  delay(2000);
                  }
                  }
                  void duoi4_2()
                  { int j,k;
                  unsigned char y;
                  x=0xfc;
                  y=63; k=96;
                  for(j=1;j<=7;j++)
                  {
                  P3=P1=x;
                  delay(1000);
                  x=_crol_(x,1);
                  delay(1000);
                  P0=P2=y;
                  y=y+k;
                  k=k/2;
                  delay(1000);
                  }
                  }
                  void sangdan_het()
                  { int k,j;
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P1=x;
                  j=j*2;
                  delay(2000);
                  }
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P3=x;
                  j=j*2;
                  delay(2000);
                  }
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P2=x;
                  j=j/2;
                  delay(2000);
                  }
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P0=x;
                  j=j/2;
                  delay(2000);
                  }
                  }
                  void sangdan_2()
                  { int k,j;
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P0=x;
                  j=j*2;
                  delay(2000);
                  }
                  x=255;
                  j=1;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P2=x;
                  j=j*2;
                  delay(2000);
                  }
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P3=x;
                  j=j/2;
                  delay(2000);
                  }
                  x=255;
                  j=128;
                  for(k=1;k<=8;k++)
                  { x=x-j;
                  P1=x;
                  j=j/2;
                  delay(2000);
                  }
                  }
                  void dao_2(int k)
                  { int j;
                  x=0xcc;
                  for(j=1;j<=k;j++)
                  { P0=P1=P2=P3=x;
                  delay(4000);
                  P0=P1=P2=P3=~x;
                  delay(4000);
                  }
                  }
                  Sửa biến tần, Servo, Máy hàn , Máy tính công nghiệp, Nguồn xung 0978666571
                  Web :

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X