(1)Cy(PSW.7)PSW.7是Cy即C,来源bai于最近一次算术指令或逻辑指令执行时软硬件的改写。
(2)Ac(PSW.6) 辅助进位标志位,用于BCD码的十进制调整运算。当低四位向高四位借进位时Ac被置1,否则清0。此位也可和DA指令结合起来用。
(3)F0(PSW.5)用户使用的状态标志位。这个你可以任意使用。
(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。
(5)OV(PSW.2)溢出标志位 在执行算术指令时,指示运算是否产生溢出。
(6)PSW.1位: 保留位,未用。
(7)P(PSW.0)奇偶标志位
P=1,A中“1”的个数为奇数
P=0,A中“1”的个数为偶数
扩展资料:
PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,称为状态标志,如有无借位进位(CY位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(PF位)等;另一类是存放控制信息,称为控制状态,如允许中断(IF位),跟踪标志(TF位),方向标志(DF)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。
参考资料来源:百度百科-PSW
供用户使用,可用软件来使它置位或清零,也可用软件测试该位以控制程序的流向。如不懂,请加我为好友,我无法恢复追问
flag是变量,只是它的中文意思就是标志,在实际使用中方便好记才这么定义。
声明这个变量之后,因为程序要实现的功能很多,为了区分各个程序段实现什么功能就用标志位的值,使用if语句判断进入功能实现程序。
扩展资料:
1、sbit 位变量名=位地址
sbit P1_1 = Ox91;
这样是把位的绝对地址赋给位变量。同sfr一样sbit的位地址必须位于80H-FFH之间。
2、Sbit 位变量名=特殊功能寄存器名^位位置
sft P1 = 0x90;
sbit P1_1 = P1 ^ 1; //先定义一个特殊功能寄存器名再指定位变量名所在的位置
当可寻址位位于特殊功能寄存器中时可采用这种方法
3、sbit 位变量名=字节地址^位位置
sbit P1_1 = 0x90 ^ 1;
这种方法其实和2是一样的,只是把特殊功能寄存器的位址直接用常数表示。
用来判断相应操作是否已经执行或者实践是否发生。
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
标志位一般指标志寄存器PSW的值,这些值来源于程序运行过程中运算器和逻辑判断单元产生的状态为和进借位,可以用来指示程序的走向,可以自我控制的。
标志位清零是为了在定义程序走向时不被以前的标志寄存器值影响,而认为的强制清除,以免引起逻辑错误。
四个问号分为四点一一解答:
1、一般来说单片机的中断发生有两个条件,一是中断标志位置位,二是中断允许,如果这两个条件都满足则进入中断,因为正常情况下中断一直是允许的,那么只能通过标志位来区分是否有中断挂起,
2、如果进入中断不清除标志位,那么这一中断服务程序结束后由于标志位还是置位的并且中断是允许的,那么还会再次进入该中断,就会发生一直在执行中断程序的情况
3、周期性中断是由定时器辅助完成的,只要定时时间到,硬件就会自动置位标志位,这时中断发生,定时器还在运行,与中断处理是并行的没有冲突,因此周期性的中断不是从中断标志位清零开始的。
4、如果中断程序没有执行完并且一下个中断又来了,那么硬件还是会自动置位标志位的,如果在这之前已经清零标志位那么中断结束后会再进入一次该中断,如果这时还没有清除中断标志位,则第二个1毫秒中断无效。
单片机中标志位有什么用的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机中标志位有什么用