Thông báo

Collapse
No announcement yet.

Hỏi về cách điều khiển nhiều led đơn

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

  • Hỏi về cách điều khiển nhiều led đơn

    Mọi người cho mình hỏi cách để 8 led này có thể sáng dần hoặc chớp tắt được không? Mình mới học nối mỗi led nối 1 cổng thôi nên không biết làm bài này. Mình thử tính toán nhưng trong các trường hợp có thể cấp cũng không có trường hợp nào để 8 led cùng sáng hoặc sáng từng led được. Vậy đối với những bài kiểu này phải làm sao?

  • #2
    Bạn nối chân + 8 Led vào 8 chân của 1 Port, chân - Led nối chung với nhau và nối vào Gnd. Để sáng dần bạn cấp vào Port đó lần lượt các giá trị 10000000; 1100000; 11100000; 11110000; 11111000; 11111100; 11111110; 1111111 (bạn đổi sang số Hex cho gọn).

    Comment


    • #3
      Như đã nói ở trên, nối chân 8 led vào 8 chân của Port thì mình cũng biết rồi ạ. Mình muốn hỏi là trong trường hợp trong hình thì điều khiển như thế nào ấy. Bạn có thể hướng dẫn mình cái đó không?

      Comment


      • #4
        - kẻ nào vẽ cái sơ đồ đấy thì đúng là bị thần kinh, mạch chẳng có cái quái gì mà nhìn rối hết cả mắt, điên nhất là nhìn chỗ cái con thạch anh khốn nạn đến thế là cùng ngay đấy nối phát vào cho xong bày đặt nhìn tức mắt thế ko biết...
        - mạch điện vẽ cẩn thận còn may ra có người giúp, chủ thớt mà ko vẽ được cái sơ đồ cho tử tế thì chẳng ai rỗi hơi mà hướng dẫn đâu. lập trình cái con pic nháy vài cái led thì có cái quái gì, điên nhất là nhìn cái sơ đồ...

        Comment


        • #5
          Đây là bài tập nâng cao giảng viên đại học cung cấp để mình nghiên cứu chứ không phải của mình vẽ ạ. Mình không nghĩ do mạch sai đâu.

          Comment


          • #6
            xin hỏi bạn Red Blue đang học gì ở đại học vậy?
            Mãi đi tìm vàng.

            Comment


            • #7
              Nếu là do đề thì mình xin phép gửi đề hoàn chỉnh lên ạ. Bài đầu tiên là lắp theo kiểu bạn nói đấy.
              Attached Files
              Last edited by Red Blue; 21-10-2018, 09:16. Lý do: Tránh những tranh luận không đáng có và đi xa chủ đề của bài viết.

              Comment


              • #8
                Dễ thôi mà, kiểu đề chơi chữ mà thôi, chỉ cần hiểu chạy đuổi không nhất thiết là cứ 1 tới 2 tới 3,....là xong, hiểu rồi chứ

                Comment


                • #9
                  Nguyên văn bởi Red Blue Xem bài viết
                  Đây là bài tập nâng cao giảng viên đại học cung cấp để mình nghiên cứu chứ không phải của mình vẽ ạ. Mình không nghĩ do mạch sai đâu.
                  Mèo mướp nói đúng rồi mạch sai quy tắc nhìn chả rỏ ràng nhất là cái đường xanh bên phải xem chả biết chân nào nối với sw hay led .

                  Comment


                  • #10
                    Thấy đám tây lông thường bảo : "Those who can't do, teach". Chưa biết đúng đến đâu, nhưng dân trong nghề đa phần đồng ý.
                    Phần mềm tự do hoặc không dùng máy tính nữa !.

                    Comment


                    • #11
                      - đại loại là nó như thế này
                      #include <16f877A.h>
                      #fuses HS, NOLVP, NOWDT, NOPROTECT
                      #use delay (clock=4000000)

                      int y=0, x=0;

                      #int_timer0
                      void ngat() // ham ngat (khi ngat xay ra thi thuc hien ham nay)
                      {

                      x++;
                      if(x==300)
                      {

                      x=0;
                      y++;

                      }

                      }


                      void main()
                      {
                      set_tris_d(0x00);//cai cong d la dau ra
                      set_tris_b(0b01100000);//cai dat chan b6,b7 la dau vao
                      int b6=1, b7=1;
                      setup_timer_0(rtcc_internal|rtcc_div_4);// chia tan bang 4 chu ky lenh = 16 chu ky thach anh = 16x 1/4 000 000 = 4us
                      set_timer0(5); // cai gia tri ban dau = 5, khi dem den 255 tran ngat thi duoc 250 x 4ns = 1ms
                      enable_interrupts(global); // cho phep ngat toan cuc
                      enable_interrupts(int_timer0); // cho phep ngat timer0

                      while(true)
                      {

                      b6=input(pin_b6);
                      b7=input(pin_b7);
                      if(b6==0)
                      {
                      switch(y)//nhay led
                      {
                      case 1: output_d(0xff);
                      break;
                      case 2: {output_d(0);y=0;}
                      break;
                      }
                      }

                      if(b7==0)
                      {
                      switch(y)//led duoi
                      {
                      case 1: output_d(0b00000001);
                      break;
                      case 2: output_d(0b00000010);
                      break;
                      case 3: output_d(0b00000100);
                      break;
                      case 4: output_d(0b00001000);
                      break;
                      case 5: output_d(0b00010000);
                      break;
                      case 6: output_d(0b00100000);
                      break;
                      case 7: output_d(0b01000000);
                      break;
                      case 8: {output_d(0b10000000);y=0;}
                      break;
                      }
                      }
                      }
                      }

                      Attached Files

                      Comment

                      Về tác giả

                      Collapse

                      Red Blue Tìm hiểu thêm về Red Blue

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

                      Collapse

                      Đang tải...
                      X