51单片机状态字寄存器如何使用

如题所述

在单片机中状态寄存器PSW是一个用了比较多的寄存器,除了D1位空着外,其它的7位都要使用,其中D7位Cy,是进(借)位位,当做加法或减法时,进位标志和借位标志都是由它来表示.当位和位之间相互传送时也不能少了它,必须要经它中转.
D6位Ac位是辅助进位标志,当做加法或减法时由第四位向第五位进位或借位时,它会被置1.它也用于十进制调整(DA A).
D5位是用户标志位,当程序因某种原因"跑偏"后,用户可以用它来标志程序该从哪儿开始执行.不重复已经执行过的指令.
D4、D3位合在一块儿,指明工作寄存器的组别,这主要用于比较复杂一些的程序,R0组寄存器不够用的情况下用到R1、R2、R3组的寄存器时要用到这二位。
D2位OV是溢出标志,当运算的结果超出-127~+128时它会置1,表示运算出错。
D0位是奇偶标志位,它随时随地都在检测A累加器中“1”的奇偶。当奇数时置“1”反之,清零。这一功能主要用与发送数据时,作奇偶校验,可以防止传输出错。
一般编程中用的最多的是Cy位,对应的指令是JC,JNC
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-14
状态字用来表示某些状态,典型的比如中断状态字,很多中断事件会进入同一个中断入口,进中断之后要读一下状态字才知道是什么事件
第2个回答  推荐于2016-10-25
51单片机状态寄存器PSW 包含
进位CY 辅助进位AC 保留F0 寄存器组选择RS1 RS0 溢出标志OV 保留P1 奇偶校验P
这些 在程序 运行时 会影响 其中某些 位,
一般 在 进入 中断程序时 需要保护 状态寄存器PSW 与 累加器A 的 原来状态
在 退出 中断程序 时 恢复 状态寄存器PSW 与 累加器A 的 原来状态
这样就不会 需要 中断前 的程序继续 执行(不然有可能产生错误)。本回答被提问者和网友采纳
相似回答