Thông báo

Collapse
No announcement yet.

Giúp làm mạch 4 led nhấp nháy theo chu ky khác nhau (RTOS) gappppp!!!!

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

  • Giúp làm mạch 4 led nhấp nháy theo chu ky khác nhau (RTOS) gappppp!!!!

    Mình đang học về vi điều khiển avr thầy có giao đề tài về hệ điều hành thời gian thực mình viết code bằng keil C nhưng chưa bít gì đang tìm hiểu . Mọi người ai bít giải thích giùm e cái code với . Và bác nào bit làm mạch thì chỉ e làm mạch này nữa vì nói thật là e chưa bít gì về mấy cài làm mạch hết đang trong wa trình tìm tòi . Mong các bác giúp đỡ em !!! file đính kèm code
    RTOS.txt

  • #2
    Hình như bạn nghe thầy nói sai rồi.Thời gian sáng khác nhau chứ chu kì thì giống nhau.Viết như code thì chu kì giống nhau rồi.Thời gian sáng từ lúc đèn sáng đến lúc đèn tắt.
    , , ,

    Comment


    • #3
      hic vậy hả chắc vậy wa1 mà mình chưa hiểu code lắm với lại cách làm mạch nửa bạn hướng dẫn mình được không

      Comment


      • #4
        Cái này 8051 hả.Sao bạn viết trên AVR.
        mình giải thích sơ như sau:
        void nhay() _task_ 0
        {
        os_create_task(1);
        .
        .
        .
        os_create_task(5);
        os_delete_task(0);
        }
        nhãn _task_ 0,đây chính là địa chỉ của chương trình con hay là địa chỉ tác vụ(nhiệm vụ).Chữ task xác định hàm nhảy là tác vụ,số 0 là chỉ số trong danh sách tác vụ.
        os_create_task(1);//là tạo tác vụ có chỉ số 1,khi chạy thì tác vụ 0 sẽ được run trước.Os_delete_task(0); xoá bỏ tác vụ 0 khỏi danh sách,tức nó chỉ chạy 1 lần.Task 0 giống hàm main.
        , , ,

        Comment


        • #5
          vậy mấy cái
          sbit led1= P2^0;
          sbit led2= P2^1;
          sbit led3= P2^2;
          sbit led4= P2^3;
          sbit led5= P2^4;
          là gì
          với lại
          for(i=0;i<=n;i++)
          {
          TMOD=0X01;
          TH0=-50000/256;
          TL0 =-50000%256;
          TR0=1;
          while(!TF0);
          TF0=TR0=0;
          là gì
          nhất là cái
          TH0=-50000/256;
          TL0 =-50000%256;
          la gi minh ko hieu

          Comment


          • #6
            Hàm delay sử dụng timer để delay TMOD:timer mode,TH0:TL0 là cặp thanh ghi giá trị timer0.TF0 là cờ báo tràn khi timer đếm từ TH0:TL0=0xFFFF qua 0.TR0=1 bật timer 0,TR=0 tắt timer0 .Còn phần trên sbit là định nghĩa led1,led2,led3,led4,led5 là 1 pin trên port P2.
            , , ,

            Comment


            • #7
              bạn cho chạy thử chương trình của bạn chưa
              kết quả thế nào
              mỗi hàm task mình thấy bạn đều cho vào 1 vòng lặp thì không biết chương trình của bạn sẽ chạy ra sao đây
              bạn kiểm tra lại xem nhé

              Comment


              • #8
                Cái này mình làm rồi. Nó gọi nôm na là tác vụ thời gian thực gì gì đóa (đa nhiệm). Nhưng làm để biết thôi, còn ứng dụng thực tế thì chỉ cần làm 4 port sáng tắt theo kiểu bất kì với tần số khác nhau thì nó chạy loạn xạ cả lên --> từ bỏ ko nghịch nữa.
                Còn muốn làm đa nhiệm thì nên chọn MCU khác, chẳng hạn ARM, chứ 89 chỉ nên dùng timer mà chia task thôi.

                Comment


                • #9
                  minh co chay thu roi = mo phong protues nhung ma no chay loan xa 4 led ko bit sao nua

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X