Thông báo

Collapse
No announcement yet.

giúp mình về lập trình led dùng C++ với

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

  • giúp mình về lập trình led dùng C++ với

    mình muốn điều khiển led sáng từ cổng P0.0 chạy đến cổng P0.7 rồi cổng P0.7 sáng rồi lại chạy tiếp từ P0.0 đến P0.6 thì cổng P0.6 sáng.hình như đấy là hiệu ứng lấp đầy thì phải.ai biết giúp mình với.C++ minh không pro lắm nên nghĩ mãi không ra

  • #2
    cái này em dùng vòng lặp for

    Comment


    • #3
      mình nghĩ là c thôi
      chứ mình chưa dùng c++ cho 8051 bao giờ
      cái này là sáng dồn
      bạn tìm trong diễn đàn
      mình có post 1 bài về hiệu ứng này rồi

      Comment


      • #4
        ai có code đoạn chương trình đấy share em với.tìm hoài nhưng không có.hic.mấy hiệu ứng kia dùng vòng for và phần mảng là làm ngon rùi.mỗi cái đây chưa nghĩ ra là như nào????????

        Comment


        • #5
          Nguyên văn bởi thanhloc5555
          bạn dùng ngon ngu asm thì nạp r0 vào a. rùi cho nó xoay lần bằng lệnh rr a.là dc mà. mún xoay nguoc lại thì rl c.ko thì bạn cứ dùng mov p0,#00000001b như vậy 8 lần là tạo dc nhiu hiệu ứng.ko thì bạn mua phần mềm làm led cho nhanh.tô màu là sáng/như ý mún.khỏi lập trình
          phần mềm thì mình có led design rùi nhưng muốn tự lập trình 1 là biết 2 là ý nghĩa hơn

          Comment


          • #6
            re

            không ai giúp akkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

            Comment


            • #7
              Tham khảo bài viết này
              http://www.dientuvietnam.net/forums/...ed-voi-132373/

              Comment


              • #8
                hiệu ứng này có thể dùng mảng đc mà. bạn tham khảo đoạn code này rồi thay mảng là ok nhé:
                #include<REGx52.h>
                #include<intrins.h>
                #define on 0
                #define off 1
                unsigned char code sdant[]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
                unsigned char code segcode1[] = {0x7f, 0xbf, 0x5f, 0xaf, 0x57, 0xab,0x55,0xaa,0x54, 0xa8, 0x50,0xa0,0x40,0x80,0x00}; //tat trai phai
                void tre(long time);
                void tat(void);
                long u;
                void tre(long time)
                {

                for(u=0;u<time;u++);

                {}
                }
                void tat(void)
                {
                P1=0xff;
                }
                int i,j;
                void sangdant(int sl)
                {
                for(i=0;i<sl;i++)
                {
                tat();
                for(j=0;j<9;j++)
                {
                P1 = sdant [j];
                tre(5000);
                }
                j=0;
                }
                }
                void sangdonp(void) //sang quet tu giua ra
                {
                for (j=0;j<15;j++)
                {
                P1=segcode1[j];
                tre(3000);
                }
                j=0; //on dinh cpu
                }
                void main(void)
                {
                while(1)
                {
                sangdonp();sangdonp();sangdonp();sangdonp();
                sangdant(10);
                }
                }

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X