RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

.:: Cách sử dụng ngắt - Led Đơn

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • hitachitellm
    Thành viên mới
    • Feb 2010
    • 18

    #1

    .:: Cách sử dụng ngắt - Led Đơn

    Em có một chuyện thắc mắc mong các anh giải đáp dùm em.

    Em muốn lập trình cho 2 hàng led, mỗi hàng 8 led <=> 1 port
    - Hàng thứ 1 chạy đuổi từ trái sang phải, delay 1S
    - Hàng thứ 2 chạy đuổi từ phải sang trái, delay 2S

    Vậy làm sao cho hai hiệu ứng này chạy đồng thời, nếu dùng ngắt thì dùng như thế nào? delay dùng lệnh hay dùng timer?

    Các anh giúp em trên ASM nhe, C em gà lắm. Chỉ cần nói hướng giải quyết cũng cũng dc. Em xin cám ơn !
  • hitachitellm
    Thành viên mới
    • Feb 2010
    • 18

    #2
    lên trên........... để moi nguoi giup

    Comment

    • hitachitellm
      Thành viên mới
      • Feb 2010
      • 18

      #3
      da 32 lượt ghé thăm, mà ko ai cho e mot cau tra loi... hĩ hĩ... buon qua đi

      Comment

      • hitachitellm
        Thành viên mới
        • Feb 2010
        • 18

        #4
        Giup em với ......

        Comment

        • avr_pic
          Thành viên chính thức
          • Jul 2008
          • 34

          #5
          Nguyên văn bởi hitachitellm Xem bài viết
          Em có một chuyện thắc mắc mong các anh giải đáp dùm em.

          Em muốn lập trình cho 2 hàng led, mỗi hàng 8 led <=> 1 port
          - Hàng thứ 1 chạy đuổi từ trái sang phải, delay 1S
          - Hàng thứ 2 chạy đuổi từ phải sang trái, delay 2S

          Vậy làm sao cho hai hiệu ứng này chạy đồng thời, nếu dùng ngắt thì dùng như thế nào? delay dùng lệnh hay dùng timer?

          Các anh giúp em trên ASM nhe, C em gà lắm. Chỉ cần nói hướng giải quyết cũng cũng dc. Em xin cám ơn !
          led chạy đuổi của bạn là đuổi như thế nào , bn có thể nói rõ ý đồ đc chứ thì mới có thể lập trình được (Vd một hàng led sáng rùi tắt dần từ trái qua phải có việc đuổi phải , hay là chỉ có 2 hoặc 3 led chạy dí nhau lướt qua 8 led) và chổ delay 1S và 2S là như thế nào, có phải chạy xong rùi delay một khoảng thời gian rùi chạy lại bắt đầu hả ????

          Comment

          • hitachitellm
            Thành viên mới
            • Feb 2010
            • 18

            #6
            Nguyên văn bởi avr_pic Xem bài viết
            led chạy đuổi của bạn là đuổi như thế nào , bn có thể nói rõ ý đồ đc chứ thì mới có thể lập trình được (Vd một hàng led sáng rùi tắt dần từ trái qua phải có việc đuổi phải , hay là chỉ có 2 hoặc 3 led chạy dí nhau lướt qua 8 led) và chổ delay 1S và 2S là như thế nào, có phải chạy xong rùi delay một khoảng thời gian rùi chạy lại bắt đầu hả ????
            Chính xác là thế này.


            Và chạy ngược lai


            Nhưng chỗ quan trọng em muốn hỏi là làm sao để chúng có ve chay đồng thời và delay khác nhau. Phần lập trình ngắt đó bác ạh!! Thank Bác

            Comment

            • nhanh0112
              Thành viên tích cực
              • May 2006
              • 201

              #7
              Tui ko hay viết bằng asm nhưng với C thì tui có thuật toán như sau, xem có giúp gì đc bạn ko nhé:
              Code:
              void timer0int (void)  interrupt 1  using 1  
              	{
              	TH0 |= 0xdc;  // 11.059 -> 10ms/1interrupt
              	time1++;
              	time2++;
              	if(time1>100) //10ms*100=1000ms
              		{
              		time1=0;
              		port1>>=1;//right shift
              		if(port1==0){port1=0x80;} //reload port1
              		}
              	if(time2>200) //10ms*200=2000ms
              		{
              		time2=0;
              		port2<<=1;
              		if(port2==0){port2=0x01;}
              		}
              	}
              Bắt đầu là vậy, Có lẽ chưa đúng với ý tưởng của bạn lắm, tui sẽ nâng cấp vào bài port tiếp theo, bạn thử xem thế nào! Chúc thành công.
              Last edited by nhanh0112; 01-03-2010, 08:44.

              Comment

              • congnguyen_A
                Thành viên mới
                • Mar 2010
                • 1

                #8
                Em có thể xem qua tài liệu này sẽ giúp em cách lập trình các kiểu LED chạy nè?
                còn DELAY em có thể dùng định thời cũng được?em tu nghĩ thử có được không nếu ko được anh viết giúp cho


                DELAY: MOV R7,#250
                AGAIN: MOV TH1,#HIGH(-400);
                MOV TL1,#LOW(-400)
                SETB TR1
                WAIT: JNB TF1,WAIT
                CLR TF1
                CLR TR1
                DJNZ R7,AGAIN
                RET
                Last edited by congnguyen_A; 01-03-2010, 09:38.

                Comment

                • hitachitellm
                  Thành viên mới
                  • Feb 2010
                  • 18

                  #9
                  Nguyên văn bởi congnguyen_A Xem bài viết
                  Em có thể xem qua tài liệu này sẽ giúp em cách lập trình các kiểu LED chạy nè?
                  còn DELAY em có thể dùng định thời cũng được?em tu nghĩ thử có được không nếu ko được anh viết giúp cho


                  DELAY: MOV R7,#250
                  AGAIN: MOV TH1,#HIGH(-400);
                  MOV TL1,#LOW(-400)
                  SETB TR1
                  WAIT: JNB TF1,WAIT
                  CLR TF1
                  CLR TR1
                  DJNZ R7,AGAIN
                  RET

                  Tai Lieu nào vay đại ka

                  Comment

                  • hitachitellm
                    Thành viên mới
                    • Feb 2010
                    • 18

                    #10
                    Thực sự là em ko hieu cai ngắt này cho lắm, nếu trong chương trình ngắt mà mình quất thêm cái delay 1s thì sao, chẳng lẽ nó chờ hết delay rùi mới nhảy vào main trở lại !! --> Nó cũng giống xài hàm rùi còn j. Mong các bác chỉ giáo rõ cho em tí xíu về chỗ này. Còn nhiều điều hoc tập các bác. Thank all

                    Comment

                    • hitachitellm
                      Thành viên mới
                      • Feb 2010
                      • 18

                      #11
                      upppp... cho anh em giup

                      Comment

                      • phuc0605bk
                        Banned
                        • Feb 2010
                        • 2

                        #12
                        bác nào có phần code của mạch giao tiếp ma trận phím sử dụng RS232 và code lập trình cho LCD 44780 thi gui vào mail jum em vói,,em đang cần gấp để làm đồ án tốt nghiệp..thankss nhiu nhiuu
                        mail:phuc0605bk@gmail.com)

                        Comment

                        • hitachitellm
                          Thành viên mới
                          • Feb 2010
                          • 18

                          #13
                          Nguyên văn bởi phuc0605bk Xem bài viết
                          bác nào có phần code của mạch giao tiếp ma trận phím sử dụng RS232 và code lập trình cho LCD 44780 thi gui vào mail jum em vói,,em đang cần gấp để làm đồ án tốt nghiệp..thankss nhiu nhiuu
                          mail:phuc0605bk@gmail.com)
                          Rảnh quá !! vô làm loãng bài người ta, sao bác ko lap topic khác??

                          Comment

                          • hitachitellm
                            Thành viên mới
                            • Feb 2010
                            • 18

                            #14
                            upppp........................

                            Comment

                            • hitachitellm
                              Thành viên mới
                              • Feb 2010
                              • 18

                              #15
                              sao ko bac nao giup em het !!!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...