Xin giÚp ĐỞ thỜi gian trỄ bẰng timer0

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • lengocchau06d2
    Đệ tử 1 túi
    • May 2010
    • 14

    #1

    Xin giÚp ĐỞ thỜi gian trỄ bẰng timer0

    ANH EM TRÊN DIỄN ĐÀN XEM CHƯƠNG TRÌNH MÌNH VIẾT TẠO THỜI GIAN TRỄ BẰNG TIMER0 NHUNG KHONG CHẠY
    ;TAO CHU KY BAT LED 200US O CHAN RBO
    processor 16f877a
    include <p16f877a.inc>
    org 0x00
    goto start
    start
    ;cai dat portB la dau ra
    ;==============
    banksel TRISB
    clrf TRISB
    ;cai dat timer0
    ;==============
    movlw b'00000000'
    movwf OPTION_REG
    banksel PORTB
    lap
    bsf PORTB,0
    movlw d'156'
    movwf TMRO
    banksel INTCON
    kt
    btfss INTCON,2
    goto kt
    bcf PORTB,0
    bcf INTCON,2
    goto lap
    goto$
    end
  • phamminhtuan
    Super Moderator
    • Feb 2006
    • 150

    #2
    Chưa dịch được hay chưa chạy được
    Với code trên thì "movwf TMRO" là chữ O chứ không phải số 0
    Cần chú ý tính năng Analog trên mỗi PIN của PIC
    Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
    http://www.picvietnam.com/forum/showthread.php?t=1263

    Comment

    • pqthai89
      Nhập môn đệ tử
      • Apr 2010
      • 1

      #3
      Mình cũng dùng timer1 để tạo trễ nhưng không chạy được như ý:

      #include <p30f4011.h>

      _FOSC(CSW_FSCM_OFF & FRC_PLL4);
      _FWDT(WDT_OFF);
      _FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI);
      _FGS(CODE_PROT_OFF);

      void init_port(){
      TRISB = 0x00;
      }

      void init_timer1(){
      PR1 = 0xff;
      TMR1 = 0;
      T1CONbits.TCKPS = 1;
      T1CONbits.TON = 1;
      }

      int main(){
      init_port();
      init_timer1();
      while(1){

      _LATB1 = 1;
      while (!T1CONbits.TSIDL);
      T1CONbits.TSIDL = 0;

      _LATB1 = 0;
      while (!T1CONbits.TSIDL);
      T1CONbits.TSIDL = 0;
      }
      }

      Khi chạy thì pinb1 luôn ở mức cao. Mình không hiểu tại sao. Mong các bạn chỉ giúp.

      Comment

      • lengocchau06d2
        Đệ tử 1 túi
        • May 2010
        • 14

        #4
        cám ơn anh nhiều nhé,em lam chạy rồi.anh cho em hỏi.nếu mình muốn dùng timer0 làm counter thí sao

        Comment

        • QED
          Nhập môn đệ tử
          • Jun 2009
          • 5

          #5
          Mình đang thiết kế một cái đồng hồ nhưng gặp răc rối trong việc sử lý timer. Làm thế nào có thể tạo chính xác thời gian 1s. Mình sử dụng thạch anh 12MHz.
          Rất mong sự giúp đỡ của mọi người!
          Thanks!
          .QED.

          Comment

          Working...