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

cach dung timer va counter

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • agnort
    Nhập môn đệ tử
    • Sep 2007
    • 3

    #1

    cach dung timer va counter

    Các bạn cho minh hỏi làm thế nào để khai báo sử dụng timer cũng như counter trong PIC16F877a.thanks
  • tiendungkct
    Đệ tử 4 túi
    • May 2007
    • 68

    #2
    bạn dung ccs or assem

    Comment

    • agnort
      Nhập môn đệ tử
      • Sep 2007
      • 3

      #3
      mình dùng assembly
      Last edited by namqn; 24-10-2007, 09:03 PM. Lý do: sửa chính tả

      Comment

      • tiendungkct
        Đệ tử 4 túi
        • May 2007
        • 68

        #4
        đây là 1 đoan mình viết delay cho timer 1 hy vọng co ích cho bạn

        Code:
        ;=================DELAY=========================
        DELAY
        	BSF		STATUS,RP0
        	BCF		STATUS,RP1;BANK1
        	CLRF	PIE1	;XOA CO NGAT TMR1IE
        	CLRF	INTCON	;CAM CAC NGAT GIE
        	BCF	STATUS,RP0
        	BCF	STATUS,RP1	;BANK0
        	CLRF	T1CON
        	CLRF	PIR1	;XOA CO TRAN TIMER1(TMR1IF)
        	CLRF	TMR1L	; xoa gia tri 
        	CLRF	TMR1H
        	MOVLW	0X30	;PRESCALES 1:8
        					;KO CHO TIMER 1 HOAT DONG TMR1ON=0
        					;CHE DO TIMER TMR1CS=0
        					;KO CHO BO DAO DONG HOAT DONG T1CSCEN=0
        	MOVWF	T1CON
        	BSF		T1CON,TMR1ON; CHO TIMER CHAY
        RE1
        	BTFSS	PIR1,TMR1IF ; KIEM TRA CO TRAN 
        	GOTO	RE1			; NEU CHU TRAN
        	BCF	PIR1,TMR1IF	; XOA CO TRAN
        	RETURN
        END
        Last edited by falleaf; 25-10-2007, 09:12 AM.

        Comment

        • Chunhatonline
          Nhập môn đệ tử
          • Apr 2006
          • 8

          #5
          Tôi lấy ví dụ thế này cho bạn dễ hiểu :
          -Đầu tiên là bạn mở datasheet 877A hình 5.1 trang 53 quan sát đầu vào xung clock của timer0.
          +Chế độ timer, nguồn xung clock lấy từ thạch anh, liên tục không ngừng nghỉ (với timer0)
          +Chế độ đếm (counter) lấn nguồn xung đếm từ chân RA4, nguồn này có thể liên tục có thể không, cứ có một xung vào thì timer mới đếm, nên gọi đây là chế độ đếm xung. Quan sát bạn cũng thấy là T0CS = 1 để chọn chế độ đếm, T0SE để chọn sườn tích cực cho clock tại chân RA4 (T0SE = 1 --> khi có một sườn xuống ở chân RA4 thì timer mới đếm lên một đơn vị và ngược lại)
          - Đối với các timer1 khác cũng tương tự.

          Comment

          • agnort
            Nhập môn đệ tử
            • Sep 2007
            • 3

            #6
            Vậy cho mình hỏi ,còn counter thì sao, cách khai báo, va khởi tạo counter như thế nào. Chỉ giúp mình với

            Comment

            • tiendungkct
              Đệ tử 4 túi
              • May 2007
              • 68

              #7
              bạn cũng khơi tạo giông như timer nhưng:
              trong thanh ghi option: bit số 5 TOCS bạn chọn là 0 ---> chế độ counter
              bit số 4: TOSE : dếm cạnh lên ỏ xuống
              thế là xong nhớ xung đưa vào chân RA4

              Comment

              • toanck86
                Đệ tử 1 túi
                • Apr 2007
                • 20

                #8
                vậy nếu dùng CCS thì khai báo thế nào các bác

                Comment

                Working...