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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
laolu
1楼-- · 2020-02-08 15:25
估计是个RAM地址
youmcu
2楼-- · 2020-02-08 20:10
这个程序是反编译的吧,自己写程序一般都对寄存器作定义(取容易看懂的符号),
            BCF     0x62,03    ;??  BCF(置低)  62寄存器第3位
            BTFSC   0x59,04    ;??  BTFSC(测试)  59寄存器第4位,是0则跳过下条指令
            .
            .

            MOVLW   0x00
            BTFSC   TRISB,7     ;这一句是什么意思呢? 测试RB口方向寄存器第7位
            MOVLW   0x01        ;是0跳过这一句
            MOVWF   0x3C        ;若TRISB,7=0(将00) TRISB,7=1(将01) 数据写入3C寄存器
mplk
3楼-- · 2020-02-08 23:56
DATASHEET里有指令集的嘛,真够懒的。
lwg998
4楼-- · 2020-02-09 03:09
 精彩回答 2  元偷偷看……
lwg998
5楼-- · 2020-02-09 03:25
对比硬件电路RB2,RB和RC4 RC5 RC6组成了一个矩阵开关,所以我假定上面的代码是判断哪个开关被按下,只是有些疑惑。
youmcu
6楼-- · 2020-02-09 04:50
TRISB,7  0x59  0x62 等必然和外围电路有联系的,至于怎么联系或用什么计算方法,从以上的部分程序中怎么看得岀来??将整个程联系起来分析吧,也可以上板子直接仿真观察啊!

一周热门 更多>