十进制校正电路的运行-svpwm的原理及法则推导和控制算法详解第三修改版

27.3十进制校正电路的运行十进制校正电路的基本运行如下所示。 (1)加法以BCD码值计算BCD码值加上BCD码值的结果①将要相加的BCD码值(被加数)保存到A寄存器。 ②以二进制将A寄存器的值和第2个操作数(另一个要相加的BCD码值,加数)相加,二进制的运算结果保存在A寄存器,校正值保存在BCD校正结果寄存器(BCDADJ)。 ③以二进制将A寄存器的值(二进制的加法运算结果)和BCDADJ寄存器(校正值)相加进行十进制校正运算,校正结果保存在A寄存器和CY标志。注意BCDADJ寄存器的读取值因读时的A寄存器、 CY标志和AC标志的值而变。因此,必须在②的指令后不执行其他指令而执行③的指令。要在允许中断的状态下进行BCD校正时,需要在中断函数中进行A寄存器的压栈和退栈。通过RETI指令恢复PSW (CY标志、 AC标志)。例子如下所示。例1 99+89=188例2 85+15=100例3 80+80=160指令A寄存器CY标志AC标志BCDADJ寄存器MOV A, #99H ; ① ADD A, #89H ; ② ADD A, !BCDADJ ; ③ 99H — — — 22H 1 1 66H 88H 1 0 —指令A寄存器CY标志AC标志BCDADJ寄存器MOV A, #85H ; ① ADD A, #15H ; ② ADD A, !BCDADJ ; ③ 85H — — — 9AH 0 0 66H 00H 1 1 —指令A寄存器CY标志AC标志BCDADJ寄存器MOV A, #80H ; ① ADD A, #80H ; ② ADD A, !BCDADJ ; ③ 80H — — — 00H 1 0 60H 1 0 —
pdf 文件大小:7.53MB