PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   cach dung timer va counter (http://www.picvietnam.com/forum/showthread.php?t=1632)

agnort 23-10-2007 10:58 PM

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 24-10-2007 06:26 PM

bạn dung ccs or assem

agnort 24-10-2007 09:59 PM

mình dùng assembly

tiendungkct 25-10-2007 08:46 AM

đâ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


Chunhatonline 25-10-2007 11:12 AM

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ự.

agnort 30-10-2007 10:28 PM

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

tiendungkct 01-11-2007 09:44 AM

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

toanck86 02-11-2007 12:39 PM

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


Múi giờ GMT. Hiện tại là 06:37 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam