alanma 发表于 2024-3-6 22:24:23

NTC温度计算代码疑问

以下代码是在STC的参考例程里面的,ADC查表计算,有没有老师能详细解释下这段代码?我自己的理解以下几个点,不知道对不对?
1,这段代码是R4.R5,R6,R7的4个字节高低位置顺序排列的数据除以R2,R3两个字节的除法运算,结果保存在R4,R5,R6,R7由高到底的4个字节中对吧?
2,余数(R2,R3)在后面的计算中视乎没什么作用了,是不是可以忽略掉了?忽略掉有什么影响?
3,另外备注写的(use R0~R7,B,DPL)是什么意思?那位老师方便解释下吗?
F_ULDIV:
F_DIV32:                            ; (R4,R5,R6,R7)/(R2,R3)=(R4,R5,R6,R7),余数在(R2,R3),use R0~R7,B,DPL
      CJNE    R2,#0,F_DIV32_16    ; L_0075

F_DIV32_8:                        ;R3非0,(R4,R5,R6,R7)/R3=(R4,R5,R6,R7),余数在 R3,use R0~R7,B
      MOV   A,R4
      MOV   B,R3
      DIV   AB
      XCH   A,R7
      XCH   A,R6
      XCH   A,R5
      MOV   R4,A
      MOV   A,B
      XCH   A,R3
      MOV   R1,A
      MOV   R0,#24
L_0056:
      MOV   A,R7
      ADD   A,R7
      MOV   R7,A
      MOV   A,R6
      RLC   A
      MOV   R6,A
      MOV   A,R5
      RLC   A
      MOV   R5,A
      MOV   A,R4
      RLC   A
      MOV   R4,A
      MOV   A,R3
      RLC   A
      MOV   R3,A
      JBC   CY,L_006B
      SUBB    A,R1
      JC      L_006F
L_006B:
      MOV   A,R3
      SUBB    A,R1
      MOV   R3,A
      INC   R7
L_006F:
      DJNZ    R0,L_0056
      CLR   A
      MOV   R1,A
      MOV   R2,A
      RET


;***************************************************************************
F_DIV32_16:                     ;R2非0,(R4,R5,R6,R7)/(R2,R3)=(R5,R6,R7),余数在 (R2,R3),use R0~R7
L_0075:
      MOV   R0,#24          ;开始R1=0
L_0077:
      MOV   A,R7            ;左移一位
      ADD   A,R7
      MOV   R7,A
      MOV   A,R6
      RLC   A
      MOV   R6,A
      MOV   A,R5
      RLC   A
      MOV   R5,A
      MOV   A,R4
      RLC   A
      MOV   R4,A
      XCH   A,R1
      RLC   A
      XCH   A,R1
      JBC   CY,L_008E   ;如果C=1,肯定够减
      SUBB    A,R3
      MOV   A,R1      ;测试是否够减
      SUBB    A,R2
      JC      L_0095
L_008E:
      MOV   A,R4
      SUBB    A,R3
      MOV   R4,A
      MOV   A,R1
      SUBB    A,R2
      MOV   R1,A
      INC   R7
L_0095:
      DJNZ    R0,L_0077
      CLR   A
      XCH   A,R1
      MOV   R2,A
      CLR   A
      XCH   A,R4
      MOV   R3,A
      RET

alanma 发表于 2024-3-7 11:01:40

没有那我老师帮忙吗?

alanma 发表于 2024-3-8 09:13:44

看来这贴要沉了
页: [1]
查看完整版本: NTC温度计算代码疑问