0

我正在使用 PIC18(L)F1XK22。我正在尝试使用计时器 3 作为同步计数器。

PIC 使用内部振荡器运行。

CONFIG  FOSC    = IRC       ; Internal oscillator

这应该关闭引脚 RA5 作为外部振荡器的使用。

T1CON 中的 T1OSCEN 为 0,T3CON 中的 TMR3CS 为 1。我已设置 RA5 TRIS 位并清除 RA5 WPU 位。

我的问题是引脚 RA5 (T13CLKI) 看起来像是有源上拉或被某些东西驱动。

我在 RA5 前面有以下电阻网络。

+5---10K-----X-----24K----->RA5

X 点由霍尔效应传感器驱动。当 X 为 0 伏时,RA5 为 2.2 伏。将 24K 电阻减小到 10K 会将 X 减小到 1.1 伏。在计数器工作之前,我必须将电阻减小到大约 4K。

这是我用来设置计时器的代码...

#define TM3CK_TRIS    TRISA,TRISA5,A  
#define TM3CK_WPU     WPUA,WPUA5,A

        BCF         PIE2,TMR3IE,A       ; Disable Timer3 interrupt

        BSF         TM3CK_TRIS          ; set RA5 (T13CKI) as input

        BCF         TM3CK_WPU           ; disable weak pull up on RA5
                                        ;  pull up and isolation resistor are external

        CLRF        TMR3H,A             ; clear Timer 3
        CLRF        TMR3L,A

        MOVLW       0x8F                ; 1xxx xxxx RD16    16 bit read/write
                                        ; x0xx xxxx         unused bit
                                        ; xx00 xxxx T3CKPS  1:1 prescale
                                        ; xxxx 1xxx T3CCP1  something to do with comparators 
                                        ; xxxx x1xx T3SYNC  Do not sychronize with external clock
                                        ; xxxx xx1x TMR3CS  external clock from RA5 (T13CKI)
                                        ; xxxx xxx1 TMR3ON  enable timer
        MOVWF       T3CON,A

        BCF         TM3CK_WPU       
        BSF         INTCON2,RABPU,A     ; disable all pull ups

添加最后两行是徒劳的,试图在计时器启动后关闭所有引体向上。

非常感谢任何帮助或想法。

4

1 回答 1

0

原来我有一个损坏的 PIC 芯片,换了一个备用芯片,问题就消失了。

于 2013-01-05T19:05:20.573 回答