PIC单片机的程序没看懂请高手指教

2020-02-08 12:15发布

最近看了一个产品的程序,有几段一直没看明白,请高手指点。里面打问号的,看代码0X59,0X62似乎是一个寄存器,但看了该单片机的DATASHEET却没有找到是哪个?很是纳闷,使用PIC16F72的单片机,程序是好用的,已经验证过了。

Label_002C CLRF    STATUS         
            BCF     PORTB     , 00
            NOP
            BSF     PORTB     , 00
            RETURN
Label_009C  BCF STATUS  , RP0   
            BCF     0x62  , 03    ;??
            BTFSC  0x59   , 04    ;???
            RETURN
            BSF     0x59      , 04
            MOVLW   0x0C
            MOVWF   0x61
            RETURN
Label_0095  BCF   STATUS , RP0   
            BSF     0x62    , 03  ;???
            BTFSS   0x59   , 04    ;???
            RETURN
            BCF     0x59     , 04
            MOVLW   0x0C
            MOVWF   0x61
            RETURN


另外请教这个子函数的功能

Label_001B  CLRF    STATUS   
            BCF     PORTB     , 06
            BSF     STATUS    , RP0
            BCF     TRISB     , 06
            BSF     TRISB     , 07
            MOVLW   0x05
            CALL    Label_0012
            BSF     TRISB     , 06
            MOVLW   0x05
            CALL    Label_0012
            MOVLW   0x00
            BTFSC   TRISB     , 07  这一句是什么意思呢?
            MOVLW   0x01
            MOVWF   0x3C
            BCF     TRISB     , 06
            RETURN
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
youmcu
2020-02-09 11:58
start   movlw   .15          ; AD测量15次
        movwf   Count
        movlw   ADataR0      ; AD转换值暂存开始地址(已定义在0x50位置)
        movwf   FSR
stalop  movlw   B'01000001'  ; 选择AD通道  
        call    AdConvert    ; 开始AD转换
        movf    ADRESH,w
        movwf   INDF         ; 将转换数据存入RAM
        incf    FSR,f
        .
        decfsz  Count,f      ; 15次完了?
        goto    stalop
        .
这个程序对0x50到0x5e都写入了AD后的数据,看到有对具体寄存器操作了吗?

一周热门 更多>