Tôi đang cố gắng sử dụng TMR1
để đếm TMR0
tràn. Để làm điều này, tôi đang sử dụng TMR1
với cổng được kích hoạt và sử dụng TMR0
tràn làm nguồn cổng.
Sử dụng SIM MPLAB, tôi có thể thấy đó TMR0
là đếm và tràn. Các TMROIF
bit trong INTCON
đang được đặt chính xác.
TMR1
đếm chính xác mà không có cổng được kích hoạt và dừng khi tôi bật điều khiển cổng - cho đến nay vẫn tốt.
Tuy nhiên, TMR0
tràn ra dường như không kích hoạt cổng. Các T1GVAL
bit của T1GCON
không bao giờ được thiết lập.
Tôi đang chạy TMR1
ở Fosc và tôi có cổng chạy không ở chế độ chuyển đổi hoặc chế độ xung đơn ...
TMR0
đang chạy instruction clock / 256
, mặc dù tôi cho rằng điều này không quan trọng ...
Đây là bit cấu hình của tôi:
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF</code>
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
và đây là những dòng có liên quan nơi tôi cấu hình TMR1
banksel T1CON
movlw b'01000001' ; source = Fosc, prescale 1:1, LP osc - no, Timer on
movwf T1CON
banksel T1GCON
movlw b'11000001' ; gate enabled, active high, toggle no, pulse mode no, source TMR0
movwf T1GCON