Thông báo

Collapse
No announcement yet.

mọi người giúp em hiểu về chế độ couter .!

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

  • mọi người giúp em hiểu về chế độ couter .!

    em đang tìm hiểu chế độ counter của 8051, nhưng ít tài liệu nói về cái này quá.
    -thứ 1:các bác cho e hỏi khi hoat động ở chế độ counter thì con 89 nó đếm xung ngoại, vậy xung ngoại ở đây có phải là xung nhịp để cho thanh ghi TH và TL đếm ko? hay lúc này TH và TL nó vẫn đếm xung của thạch anh ah?
    -thứ 2 : khi cấu hình cho chế độ counter thì có câu cần hình luôn cho timer hay ko? hay dùng chế độ counter thì bỏ qua chế độ timer ah?
    - thứ 3: liệu có dùng ngắt timer cho chế độ counter ko ạ?
    trên đây là một số thắc mắc của e. mong các bác giúp đỡ.
    Nguyễn Huy Biên - 01649 802 694
    gmail :

  • #2
    thứ 1: nó đếm xung ngoại , ngõ vào xung ngoại là chân p3. mấy mình quên rồi
    thứ 2: bộ định thời chỉ hoạt động ở 1 trong 2 chế độ timer hoặc counter, ví dụ đã xài timer 0 làm timer thì ko thể xài counter 0
    thứ 3: timer và counter là 2 chức năng của 1 bộ định thời do đó có thể dùng ngắt counter như timer

    Comment


    • #3
      Nguyên văn bởi trimen Xem bài viết
      thứ 1: nó đếm xung ngoại , ngõ vào xung ngoại là chân p3. mấy mình quên rồi
      thứ 2: bộ định thời chỉ hoạt động ở 1 trong 2 chế độ timer hoặc counter, ví dụ đã xài timer 0 làm timer thì ko thể xài counter 0
      thứ 3: timer và counter là 2 chức năng của 1 bộ định thời do đó có thể dùng ngắt counter như timer
      vâng. thanks bác. e hiểu rồi
      Nguyễn Huy Biên - 01649 802 694
      gmail :

      Comment


      • #4
        Code:
        #include <REGX51.H>
        sbit led=P1^0;
        void KHOITAO()
        {TMOD =0x04;              //CHE DO COUNTER TIMER 0
        TH0 = -100;
        TL0 = -100;
        EA = 1;
        ET0 =1;
        TR0=1;
        }
        void isr_timer0() interrupt 1
        {led=~led;
        }
        void main()
        {KHOITAO();
        }
        e có viết thử code vs chế độ counter như trêb. song nó ko chạy. các bác giúp e.
        Nguyễn Huy Biên - 01649 802 694
        gmail :

        Comment


        • #5
          Code:
          #include <REGX51.H>
          sbit led=P1^0;
          void KHOITAO()
          {
          //TMOD =0x04;          4=0100 số 1 kích hoạt chế độ counter, nhưng 2 bít M1 và M0 quy định chế độ 8 bit hay 16 bit chưa có => ko hoạt động
          TMOD=0x05;// chế độ couter, timer 0 chế độ 1 16bit
          TH0 = -100;
          TL0 = -100;
          EA = 1;
          ET0 =1;
          TR0=1;
          }
          void isr_timer0() interrupt 1
          {led=~led;
          }
          void main()
          {KHOITAO();
          while(1); // nên cho cái này vào
          }
          thử đoạn này xem, code chưa test
          Website chính thức đổi địa chỉ website thành
          Mời các bạn ghé thăm !!!

          Comment


          • #6
            Nguyên văn bởi mast090 Xem bài viết
            Code:
            #include <REGX51.H>
            sbit led=P1^0;
            void KHOITAO()
            {
            //TMOD =0x04;          4=0100 số 1 kích hoạt chế độ counter, nhưng 2 bít M1 và M0 quy định chế độ 8 bit hay 16 bit chưa có => ko hoạt động
            TMOD=0x05;// chế độ couter, timer 0 chế độ 1 16bit
            TH0 = -100;
            TL0 = -100;
            EA = 1;
            ET0 =1;
            TR0=1;
            }
            void isr_timer0() interrupt 1
            {led=~led;
            }
            void main()
            {KHOITAO();
            while(1); // nên cho cái này vào
            }
            thử đoạn này xem, code chưa test
            ok rồi anh. sáng nay e cũng có thiết lập giá trị cho M0 & M1, nhưng ko có lệnh while(1) nó cũng ko chạy luôn.
            thanks anh nhé.
            à e hỏi luôn, có phải chế độ cuonter nó đếm thuận chứ ko đếm ngược như timer đúng ko ah
            Nguyễn Huy Biên - 01649 802 694
            gmail :

            Comment


            • #7
              timer hay counter đều đếm thuận, ko có cái nào đếm ngược cả, đếm thuận đến maximum thì xảy ra tràn timer và gây ra sự kiện ngắt
              Website chính thức đổi địa chỉ website thành
              Mời các bạn ghé thăm !!!

              Comment


              • #8
                Nguyên văn bởi mast090 Xem bài viết
                timer hay counter đều đếm thuận, ko có cái nào đếm ngược cả, đếm thuận đến maximum thì xảy ra tràn timer và gây ra sự kiện ngắt
                . th
                hì. vậy mà e cứ đinh ninh timer nó đếm ngược. đúng là hiểu biết nông cạn. thanks anh.
                Nguyễn Huy Biên - 01649 802 694
                gmail :

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X