单片机中psw的作用是什么?

PSW是一个8位寄存器。PSW的全称是Program Status Word,即程序状态字。

顺带一提。今年自己还录制了一套还比较系统的入门单片机教程,想要私信我就可以,也可以找我报名线上指导,去参加电子设计比赛。

其各位的含义如下:

程序状态字各位的含义

PWS位地址

D7 D6 D5 D4 D3 D2 D1 D0

含义 CY AC F0 RS1 RS0 OV - P

D7 进位标志位(CY)

CY的全称是Carry,有的资料就简写为一个C字母。在使用加减乘除、左移或右移之类等操作时,这个标志位会受到影响.

因为51单片机一般是对8位数据的操作,当数据的最高位(D7)进行例如加法操作产生进位时,CY就会置1。否则CY等于0;当进行8为减法时,若运算结果有借位,则CY=1,否则C=0。

我把CY这个标志位理解为8位运算中的第九个数据位。

D6 辅助进位标志位(AC)

AC的全称是Assistant Carry。

首先说明一下什么是低半字节和高半字节:一个字节有8位,低半字节就是第0位到第3位,高半字节就是第4位到第7位

还是进行8位加法运算,如果低半字节的最高位(D3)有进位,则AC=1,否则AC=0;当进行8位减法运算时,如果D3有借位,则AC=1,否则AC=0、

这个可以和CY标志位进行类比理解。

D5 软件标志(F0)

这是用户定义的一个状态标志。可以通过软件对它置位或清零。

D4 D3工作寄存器组选择位RS1和RS0

可以在编程的时候置位或清零,以选择4个工作寄存器组中的一个进行工作。

一个寄存器组有8字节,有四组寄存器,一共32字节。在片内数据存储区中的00H~1FH。

D2.溢出标志(OV)

OV的全称是Overflow。

当进行有符号(signed)数加减法运算时,由硬件自动置位或清零。

当OV=1时,表示一个数字已经超出了累加器以补码形式表示一个有符号数的范围,即超出了-128~+127的范围。

在8位补码中,D7一般用来表示符号位,D6~D0用来表示二进制数字。

所以,在加法时,如果最高位(D7)和次高位(D6)中有一个进位,或在减法时两个中有一个借位,OV将被置位。

执行乘法指令(MUL AB)也会影响OV标志位,当乘积大于255时,OV=1,否则OV=0。

执行除法指令时也会影响OV标志位。

与AC标志位对比

要注意,溢出和进位是两个不同的概念,进位是指无符号数运算时ACC中D7向更高位的进位。溢出是指带符号数补码运算时,运算结果超出8位二进制补码的表示范围。

另外,OV的状态可以由ACC的D7和D6相异或得出。

D0 奇偶标志位P

每执行一条汇编指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零,奇为1,偶为0。

此标志位对串行通信的数据传输非常有用,通过就校验可以检验传输的可靠性。

码字不易,喜欢来个点赞关注入门单片机教程,私信我就可以~或者全网同名:华维单片机编程。

单片机中psw的作用是什么?相关推荐

  1. 单片机中code,sbit,unsigned关键字的作用(流水灯案列说明)

    首先,写上一端单片机C语言流水灯点亮主函数 #include "reg52.h"unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0x ...

  2. 单片机中的ROM,RAM和FLASH的作用

    本文部分参考自:http://blog.sina.com.cn/s/blog_98ca54fc01017y4t.html 并在此基础上进行整理,添加了关于flash的问题. 之前从较为抽象的角度介绍了 ...

  3. 嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)

    嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器.累加器和程序状态字) 累加器A 寄存器B 程序状态字PSW 累加器A 累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特 ...

  4. C语言的变量和汇编中的伪指令,伪指令 尤其EQU DW DB(微机和单片机中的作用稍微不同,但是规则机制相同)微机原理中的汇编指令和伪指令是标准的,单片机的指令和伪指令是在微机标准版基础上修改的版

    微机原理中表明 变量用伪指令DW,DB 单片机中的伪指令EQU C语言中的变量来源与汇编的伪指令(微机和单片机中的作用稍微不同,但是规则机制相同)微机原理中的汇编指令和伪指令是标准的,单片机的指令和伪 ...

  5. 延时作用是什么意思c语言,单片机中C语言延时函数

    原标题:单片机中C语言延时函数 延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有 ...

  6. 单片机中存储器扩展位地址线怎么算_小白学单片机 :AT89S51单片机基本硬件结构认识(2)...

    AT89S51单片机存储器的空间配置及功能结构 AT89S51单片机的存储器在物理结构上可以分为4个不同的存储空间:(1)内部程序存储器:(2)片内数据存储器:(3)片外数据存储器(最大可扩展到64K ...

  7. 单片机中存储器扩展位地址线怎么算_51单片机CPU结构各部件的原理详细分析

    一. 51单片机串行口工作原理 MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信. 1.串行端口的基本特点 8031单 ...

  8. 单片机中灯泡显示miss_单片机实例分享,如何设计八路抢答器

    单片机作为可编程器件,简化了电路的设计.方便了逻辑设计,从此再也不用使用一大堆电路做硬件逻辑了.拆开任何一件功能稍微复杂一点电子产品,里边都可以看到单片机的身影.学会单片机对找工作也很有利,而且待遇还 ...

  9. 51单片机中使用ucos ii的优缺点(好文)

    摘要:近年来,在单片机系统中嵌入操作系统已经成为人们越来越关心的一个话题.本文通过对一种源码公开的嵌入式实时操作系统ucos ii的分析,以51系列单片机为例,阐述了在单片机中使用该嵌入式操作系统的优 ...

最新文章

  1. Maven多模块项目中应用maven-tomcat-plugin热部署
  2. 如何拿到高薪数据分析师offer?从精准解读一篇招聘信息开始!
  3. vector 作为dll 接口参数_DLL中传递STL参数,vector对象作为dll参数传递等问题(转)...
  4. 前端一HTML:二十三行高的介绍,行高的单位
  5. 如果重力对人的意识有影响
  6. 关于css的text-indent首行缩进两个字符和图片缩进的问题
  7. webclinet downstring 搜狐 为什么是个?号
  8. 带你快速了解 Docker 和 Kubernetes
  9. ipv6转换成ipv4_IPv6协议及其安全浅析
  10. OSG模拟鼠标事件影响操纵器
  11. 深度学习之基于AlexNet实现猫狗大战
  12. 使用C#快速生成顺序GUID
  13. Win32ASM学习[5]: 数据对齐相关的伪指令(ALIGN、EVEN、ORG)
  14. java钱币换算_Java编写钱币转换为大写程序
  15. ASP基础教程之ASP AdRotator 组件的使用
  16. Java停车场管理系统使用栈和队列任务台程序
  17. 用python进行数据分析--准备工作
  18. 贪吃蛇c语言判断没有输入,贪吃蛇问题
  19. 第七版自顶向下 第一章中文版 计算机网络课后习题答案
  20. c++创建线程的6种方法

热门文章

  1. CIBERSORT计算免疫细胞丰度
  2. 解决java的非法字符: ‘\u200b‘的问题
  3. 创建自己的Apple ID
  4. 从键盘输入一个大写字母,然后转换成小写字母输出。
  5. c语言一个按键控制1个灯的亮灭,51 单片机:按键控制灯亮灭和闪烁
  6. 【★】自制网络心理需求大排名!
  7. 一个支持钉钉远程定时打卡脚本
  8. TICK回测研究三,数据获取部分完整的方案和实现
  9. STM32F103入门 | 3.MDK5.27 安装教程
  10. IEC 60320电源线是什么?C13/C14/C15/C19/C20电源线有何区别?