MCS-51的CPU由 运算部件和 控制部件构成

运算部件

包括ALU、位处理器、累加器A、暂存器、程序状态寄存器PSW、寄存器B

累加器A

一个8位累加器,A的进位标志Cy同时是位处理器的一位累加器

寄存器B

执行乘、除法操作,不执行时可当作普通寄存器使用

程序状态寄存器PSW

8位可读写寄存器,不同位包含程序不同信息

PSW   D7   6   5   4     3   2  1  0    D0H

Cy AC F0 RS1 RS0 OV -   P 
  • PSW.7-Cy:进位标志,在执行算数和逻辑指令时,可以被软硬件置位或清除,在位处理器中是累加器
  • PSW.6-AC:辅助进位标志,执行加减法低四位数向高四位进位或借位时,被硬件置1,否则清除
  • PSW.5-F0:标志位,用户使用,软件置位清除
  • PSW.4.3:寄存器区选择控制位1和0,软件写入RS1,RS0
  1. 00-区0 内部RAM寄存器地址00H~07H
  2. 01区1  08H~0FH
  3. 10区2  10H~17H
  4. 11区3  18H~1FH
  • PSW.2-OV: 溢出位标志,执行算数时由硬件置位清除
  • PSW.1: 保留位,未用
  • PSW.0-P:奇偶标志位,每个周期指令由硬件置位清除,表示累加器A中值为1的位数的奇偶数,奇时P=1否则0
控制部件

单片机的神经中枢,以主频率为基准。MCS-51单片机12MHZ,12个机器周期(振荡周期),MSC-51的指令周期一般只有1~2个机器周期,只有乘除占4个,一个指令周期为1us(占一半)、2us、4us,主频越高,指令执行速度越快

单片机CPU的更多相关文章

  1. 单片机的基本构成、工作原理 LET′S TRY“嵌入式编程”: 1 of 6

    单片机的基本构成.工作原理 LET′S TRY“嵌入式编程”: 1 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识.有了电 ...

  2. 关于MSP430中断机制

    中断很大程度上体现了一款单片机的性能,从这一点将MSP430在中断方面做得很不错,主要是提供了非常丰富的中断源,基本的有IO中断,定时器中断和一些接口中断(SPI,UART,I2C)等等.     现 ...

  3. #pragma CODE_SEG __NEAR_SEG NON_BANKED/#pragma CODE_SEG DEFAULT

    在写到SCI 中断发送,中断接收程序的时候,在程序中会出现#pragma CODE_SEG __NEAR_SEG NON_BANKED/#pragma CODE_SEG DEFAULT,这两句话在程序 ...

  4. IAR使用ST-Link下载仿真

    修改Debugger->Setup->Driver 选择ST-LINK 修改 ST-LINK ->Interface选择SWD,CPU clock配置单片机CPU系统时钟. 修改De ...

  5. FPGA的存储方式大全

    好的时序是通过该严密的逻辑来实现的.http://blog.csdn.net/i13919135998/article/details/52117053介绍的非常好 有RAM(随机存储器可读可写)RO ...

  6. WS2812B彩灯详细讲解篇(STM32 PWM+DMA控制 STM32 HAL库编程 循环延时控制多种控制方式)

    一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1JT4y1P72Q 二. 基础认识 (一)  小理论 WS2812B是一种智能控制LED光源,将控制电路 ...

  7. 【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

    一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1dv411Y7x3 使用STM32 HAL库编程 PWM+DMA控制输出,CubeMX生成初始工程 实现 ...

  8. 单片机、CPU、指令集和操作系统的关系

    郑重声明:转载自http://blog.csdn.net/zhongjin616/article/details/18765301 1> 首先讨论各种单片机与操作系统的关系 说到单片机,大家第一 ...

  9. 判断CPU是大端还是小端模式

    在小端模式中,低位字节放在低地址,高位字节放在高地址:在大端模式中,低位字节放在高地址,高位字节放在低地址.big-endian和little-endian,51单片机是典型的大端模式,Intel电脑 ...

随机推荐

  1. apache开启gzip压缩

    1.在httpd.conf中去掉下面的#号 LoadModule headers_module modules/mod_headers.so LoadModule deflate_module mod ...

  2. hbuilder header消失

    hbuilder的header在google浏览器中调试能正常显示,但是发布到app安装到手机后headr不显示. <header class="mui-bar mui-bar-nav ...

  3. 在pom.xml中引入jar包坐标的依赖范围

    A依赖B,需要在A的pom.xml文件中添加B的坐标,添加坐标时需要指定依赖范围,依赖范围包括: compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围.编译范围的依赖会用在编译.测试.运 ...

  4. Hibernate: save, persist, update, merge, saveOrUpdate[z]

    [z]https://www.baeldung.com/hibernate-save-persist-update-merge-saveorupdate 1. Introduction In this ...

  5. C语言常用关键字及运算符操作

    1.关键字 (1)数据类型 char                          1字节,8bit==256 int long,short unsgined  ,signed      无符号为 ...

  6. string+和stringbuffer的速度比较

    public class Main{ public static void main(String[] args){ /* 1 */ String string = "a" + & ...

  7. iOS.Objective-C.Dependency.Graphing-v0.1

    当Project越来越复杂,模块间的依赖就会很复杂,不合理的依赖就出现:不必要的依赖,双向依赖等等. 在iOS Application Project中可以将依赖定义为:对某个头文件的import. ...

  8. Python.URLs

    1. The Future of Asynchronous IO in Python https://medium.com/@paulcolomiets/the-future-of-asynchron ...

  9. Business.Startup.Learning from Startup Mistakes at SpringSource

    http://www.infoq.com/news/2014/07/startup-spring

  10. Introduction to 3D Game Programming with DirectX 11 翻译--开篇

    Direct3D 11简介 Direct3D 11是一个渲染库,用于在Windows平台上使用现代图形硬件编写高性能3D图形应用程序.Direct3D是一个windows底层库,因为它的应用程序编程接 ...