返回首页
当前位置: 主页 > 编程基础知识 >

程序状态字PSW各位的功能及使用简介

时间:2009-03-02 18:24来源:未知 作者:牛牛 点击:
PSW:程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们能了解CPU的当前状态,并作出对应的处理。它的各位功能请看表2 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 表2 PSW也称为标志寄存器,了解这个对于了解单片机原理非常

PSW:程序状态字。

这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们能了解CPU的当前状态,并作出对应的处理。它的各位功能请看表2

单片机

D7 单片机

D6

内容来自单片机之家www.dpj100.com

D5 单片机

D4 单片机

D3 单片机

D2 内容来自单片机之家www.dpj100.com

D1

单片机

D0

内容来自单片机之家www.dpj100.com

CY

内容来自单片机之家www.dpj100.com

AC

单片机

F0

内容来自单片机之家www.dpj100.com

RS1

单片机

RS0 单片机

OV

单片机

  单片机

P 内容来自单片机之家www.dpj100.com

表2 内容来自单片机之家www.dpj100.com

PSW也称为标志寄存器,了解这个对于了解单片机原理非常的重要,存放各有关标志。其结构和定义如下:

内容来自单片机之家www.dpj100.com

点此在新窗口浏览图片

单片机

下面我们逐一介绍sfr各位的用途

内容来自单片机之家www.dpj100.com

(1)CY:进位标志。用于表示Acc.7有否向更高位进位。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。

单片机

例:78H+97H(01111000+10010111) 内容来自单片机之家www.dpj100.com

(2)AC:辅助进位标志也叫半进位标志。 用于表示Acc.3有否向Acc.4进位 内容来自单片机之家www.dpj100.com

例:57H+3AH(01010111+00111010)

内容来自单片机之家www.dpj100.com

(3)F0:用户标志位,由我们(编程人员)决定什么时候用,什么时候不用。 内容来自单片机之家www.dpj100.com

(4)RS1、RS0:工作寄存器组选择位。这个我们已知了。
RS1、RS0 = 00 —— 0区(00H~07H)

单片机

RS1、RS0 = 01 —— 1区(08H~0FH) 单片机

RS1、RS0 = 10 —— 2区(10H~17H) 单片机

RS1、RS0 = 11 —— 3区(18H~1FH)

单片机

(5)0V:溢出标志位。 表示Acc在有符号数算术运算中的溢出,什么是溢出我们稍后再谈吧。

内容来自单片机之家www.dpj100.com

(6)P:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,不然为0。

内容来自单片机之家www.dpj100.com

例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。

内容来自单片机之家www.dpj100.com

顶一下
(26)
70.3%
踩一下
(11)
29.7%
------分隔线----------------------------
推荐内容