Thông báo

Collapse
No announcement yet.

[Xin Giúp] lập trình viền cho biển led

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

  • [Xin Giúp] lập trình viền cho biển led

    Tình hình là e làm cái biển happy new year . Bây giờ em muốn ct viền chạy độc lập với ct chữ .
    Nghe các bác nói là dùng ngắt timer để viết . Nhưng e lại mù tịt cái ngắt này . Vậy kính mong bác nào bớt chút thời gian cho em xin 1 đoạn ct làm mẫu để em ngâm cứu
    Em xin chân thành cảm ơn .

  • #2
    Dùng 3 cổng để làm viền, modul 16 cổng là đủ cho cả chữ + viền rồi mà.

    Comment


    • #3
      Mình đang hỏi chương trình mà bạn .

      Comment


      • #4
        Dùng Ledimm cho nhanh thôi, vài phút là lập trình xong cái bảng 16 cổng

        Comment


        • #5
          Cảm ơn bạn . nhưng có 2 điều này nhé
          thứ 1 : Leddim băm xung k mượt
          Thứ 2 : Bạn muốn chương trình khác nhau có delay khác nhau thì sao? Ví dụ bạn muốn viền chạy nhanh mà chữ chạy bình thường thì sao
          Thân .

          Comment


          • #6
            Nguyên văn bởi longdtskn Xem bài viết
            Cảm ơn bạn . nhưng có 2 điều này nhé
            thứ 1 : Leddim băm xung k mượt
            Thứ 2 : Bạn muốn chương trình khác nhau có delay khác nhau thì sao? Ví dụ bạn muốn viền chạy nhanh mà chữ chạy bình thường thì sao
            Thân .
            Thứ 1: Mượt hay không là do bạn chọn % độ sáng hợp lý.
            Thứ 2: Để delay các khoảng thời gian khác nhau thì chi việc cho lặp lại hiệu ứng với số lần lặp khác nhau.
            Cái Ledimm chỉ có một nhược điểm là dung lượng file *.hex lớn.

            Comment


            • #7
              Nguyên văn bởi Ck33spkt Xem bài viết
              Thứ 1: Mượt hay không là do bạn chọn % độ sáng hợp lý.
              Thứ 2: Để delay các khoảng thời gian khác nhau thì chi việc cho lặp lại hiệu ứng với số lần lặp khác nhau.
              Cái Ledimm chỉ có một nhược điểm là dung lượng file *.hex lớn.
              Mình mới dùng leddim nên nói năng hồ đồ , giờ nghiệm lại lời bác nói thật đúng , Chân thành cảm ơn .

              Comment


              • #8
                Nguyên văn bởi longdtskn Xem bài viết
                Tình hình là e làm cái biển happy new year . Bây giờ em muốn ct viền chạy độc lập với ct chữ .
                Nghe các bác nói là dùng ngắt timer để viết . Nhưng e lại mù tịt cái ngắt này . Vậy kính mong bác nào bớt chút thời gian cho em xin 1 đoạn ct làm mẫu để em ngâm cứu
                Em xin chân thành cảm ơn .
                không cần dùng timer mà vẩn điều khiển được đường viền và chửa chạy đọc lập
                1- bạn viết chưong trình delay khoảng 200ms
                2- trong chưong trình viền gọi chương trình delay
                3- trong chưong trình trình gọi chưong trình viền( viền=delay200ms+hiệu ứng viền)
                chúc vui
                ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                Comment


                • #9
                  Nguyên văn bởi thuongdtqb Xem bài viết
                  không cần dùng timer mà vẩn điều khiển được đường viền và chửa chạy đọc lập
                  1- bạn viết chưong trình delay khoảng 200ms
                  2- trong chưong trình viền gọi chương trình delay
                  3- trong chưong trình trình gọi chưong trình viền( viền=delay200ms+hiệu ứng viền)
                  chúc vui
                  Mình sử dụng cách này mà k được , Bạn có thể cho mình xin 1 đoạn code để tham khảo không , cảm ơn bạn

                  Comment


                  • #10
                    Nguyên văn bởi longdtskn Xem bài viết
                    Mình sử dụng cách này mà k được , Bạn có thể cho mình xin 1 đoạn code để tham khảo không , cảm ơn bạn

                    VD nhá:
                    chương trình viền chạy 123 cổng p1.0 p1.1, p1.2
                    chương trình chính chạy chử happy new year dùng 3 cổng p3.0 p3.1 p3.2
                    Code:
                        org    00h
                        sjmp     main
                    main:
                        call      nhapnhay
                        sjmp    main
                    nhapnhay:
                        mov    r1,#5
                    lap:    mov      p3,#00h
                        call      vien
                        mov    p3,#0ffh
                        call    vien
                        djnz    r1,lap
                        ret
                    vien:
                        mov    p1,#00000001b
                        call    delay300ms
                        mov    p1,#00000010b
                        call    delay300ms
                        mov    p1,#00000100b
                        call    delay300ms
                        ret
                    delay300ms:
                        mov    40h,#150
                    loop:    mov    41h,#200
                        nop
                        nop
                        nop
                        nop
                        nop
                        nop
                        nop
                        djnz    41h,$
                        djnz    40h,loop
                        ret
                        end
                    chúc vui
                    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                    Comment


                    • #11
                      Nguyên văn bởi longdtskn Xem bài viết
                      Tình hình là e làm cái biển happy new year . Bây giờ em muốn ct viền chạy độc lập với ct chữ .
                      Nghe các bác nói là dùng ngắt timer để viết . Nhưng e lại mù tịt cái ngắt này . Vậy kính mong bác nào bớt chút thời gian cho em xin 1 đoạn ct làm mẫu để em ngâm cứu
                      Em xin chân thành cảm ơn .
                      đây là một đoạn code mình thường làm để chạy viền độc lập. nhưng đó lại là lập trình C : keil C

                      //phần khai báo bit và tham biến

                      sbit vt1=P1^5;
                      sbit vt2=P1^6;
                      sbit vt3=P1^7;


                      unsigned char h;
                      int bd1;

                      // khai báo hàm khởi tạo cho timer 1

                      void init_timer1()
                      {
                      TMOD=0x21;
                      TH1=0x06;
                      TR1=1;
                      ET1=1;
                      EA=1;
                      }
                      // chương trình ngắt của timer 1. và đường viền sẽ nháy theo đây

                      timer1() interrupt 3
                      {
                      TR1=0;
                      if(bd1>250) // chỗ này để điều chỉnh tốc độ nháy bd1 càng lớn thì tốc độ càng chậm
                      { bd1=1;
                      if(h<3)
                      {h=h+1;}
                      else
                      {h=1;}
                      }
                      else
                      { bd1=bd1+1;
                      switch(h)
                      {
                      case 1:
                      { vt1=~vt1;vt2=~vt2;vt3=0;break; }
                      case 2:
                      { vt1=0;vt2=~vt2;vt3=~vt3;break; }
                      case 3:
                      { vt1=~vt1;vt2=0;vt3=~vt3;break; }
                      default:
                      break;
                      }
                      }
                      TR1=1;
                      }
                      chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                      Everything should be made as simple as possible, but not simpler

                      Comment


                      • #12
                        cảm ơn sự giúp đỡ nhiệt tình của các bạn

                        Nhưng bạn daohuytien ơi cho mình hỏi . nếu viết chương trình viền dùng p1 thì bỏ hết đi cả 8 port của p1 hả . có cách nào dùng 3 port của p1 làm viền , 5 port còn lại vẫn dùng điều khiển chữ như bình thường được k?
                        Last edited by longdtskn; 29-12-2012, 13:32.

                        Comment


                        • #13
                          Nguyên văn bởi longdtskn Xem bài viết
                          cảm ơn sự giúp đỡ nhiệt tình của các bạn

                          Nhưng bạn daohuytien ơi cho mình hỏi . nếu viết chương trình viền dùng p1 thì bỏ hết đi cả 8 port của p1 hả . có cách nào dùng 3 port của p1 làm viền , 5 port còn lại vẫn dùng điều khiển chữ như bình thường được k?
                          8051 có lệnh tác động lên từng bit là setb và clr
                          lệnh mov p1,#00000001b = setb p1.0
                          lệnh mov p1,#00000010b = setb p1.1
                          các cổng còn lại dùng bình thừong không có gì thay dổi
                          vd:
                          setb p1.0
                          clr p1.1
                          clr p1.2
                          call delay
                          clr p1.0
                          setb p1.1
                          clr p1.2
                          call delay
                          clr p1.0
                          clr p1.1
                          setb p1.2
                          call delay
                          ret

                          chúc vui
                          ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

                          Comment


                          • #14
                            Nguyên văn bởi longdtskn Xem bài viết
                            Tình hình là e làm cái biển happy new year . Bây giờ em muốn ct viền chạy độc lập với ct chữ .
                            Nghe các bác nói là dùng ngắt timer để viết . Nhưng e lại mù tịt cái ngắt này . Vậy kính mong bác nào bớt chút thời gian cho em xin 1 đoạn ct làm mẫu để em ngâm cứu
                            Em xin chân thành cảm ơn .


                            vậy cía viền kia có cần dùng theo kiểu sao băng ko hay chỉ là nháy bình thường


                            MOV NHÀ,ANH
                            MOV NHÀ,EM
                            ADD ANH,EM

                            Comment


                            • #15
                              Nguyên văn bởi longdtskn Xem bài viết
                              cảm ơn sự giúp đỡ nhiệt tình của các bạn

                              Nhưng bạn daohuytien ơi cho mình hỏi . nếu viết chương trình viền dùng p1 thì bỏ hết đi cả 8 port của p1 hả . có cách nào dùng 3 port của p1 làm viền , 5 port còn lại vẫn dùng điều khiển chữ như bình thường được k?
                              sao lại bỏ đi bạn như thế thì tốn chân lắm bạn dùng mấy chân làm viền thì cứ làm chân làm chữ thì cứ làm mắc chi bỏ


                              MOV NHÀ,ANH
                              MOV NHÀ,EM
                              ADD ANH,EM

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X