0基础学单片机要知道51单片机CPU的一些相关构成以及作用
单片机是什么,是在一个集成硅片中集成了一些部件,构成了一个微型的计算机系统的东西,这些只是对单片机的基础概念是简单了解,会用单片机C语言的编程来实现一些简单的ALU的操作,但是这些还是远远不够的,我们还需要了解单片机的运行机制,工作原理。
这一期来了解一些关于单片机的其他重要知识,51单片机的CPU是多少位,CPU的主要作用是什么,51单片机它的基本构成是由哪些部件或者哪些东西来构成的。
51单片机它的CPU位数是多少位?
51单片机是8位的CPU,表示数据处理一次能够处理的数据的位宽是8个比特位,也就是一个字节,这个叫做它的位数,51单片机除了具备八位的CPU之外,实际上它有两个,它还有一个位处理器,一个字节处理器,所以呢,51单片机可以进行自己处理,还可以进行位处理,是因为它内部还有一个为处理器,除了字节处理数据的处理器,又有位处理器,有很多的处理都是借助于位处理来进行操作的,方便用户的使用。
51单片机的位数一般是8位的,现在的单面机还有16位,32位的类型,CPU的作用以及CPU在计算机或者是单片机的硬件结构,逻辑框图当中的位置都是什么?
CPU的一个主要作用是读入并分析每条指令,根据指令的功能控制单片机的各个功能部件,执行指定的操作来完成特定的功能,实际上可以简单理解为读取指令,执行指令,CPU去什么地方读取指令?通过C语言程序代码编译链接生成可执行文件,把它下载到存储器当中的ROM单元,CPU要到ROM当中读指令,读了指令怎么知道这个指令是要干什么的?它要读取指令,同时也要执行指令,这中间还牵扯到数据,它要去数据存储器,也就是ROM当中找操作数,然后才能放到CPU的某一个部件当中去做运算,运算完成之后再去控制单片机的各个部件去执行这个操作,这个就是CPU的一个主要作用。
想学单片机的朋友,可以私信我,我可以发一些资料给大家作为参考学习的内容,有问题的朋友也可以在评论区评论,或者私信我,尽量帮大家解决朋友们提出的问题,谢谢大家,最后祝看帖的各位朋友身体健康,万事顺利,回复林北有惊喜,实用干货拿到手软
CPU在51单片机内部的逻辑结构当中,或者是在51单片机的内部的硬件结构当中,所处的位置在什么位置,以上就是51单片机的内部逻辑结构图,涵盖了单片机内部的所有的资源,单片机的内部有三总线,数据总线,地址总线和控制总线,三总线的结构也就是它内部这些部件之间的相互数据的传输就是靠总线,这个结构当中涵盖了单片机的内部资源,有8位的CPU,有一个4K的rom,有128K128B的RAM,有两个16位定时计数器,32位的IO口,也就是32个IO口,所以外部引脚当中有32个引脚是作为输入输出通道,还有串行口和五个中断源,CPU就在其中。
CPU主要是由运算器和控制器构成,其中还包括若干特殊功能寄存器,以ALU为核心的运算器,ALU是算术逻辑单元的英文缩写,它的一个主要功能是对数据进行加减乘除,算术逻辑运算以及与或非等逻辑运算,以及位操作,这个就是ALU的功能,就是执行算术逻辑运算的,ALU只负责运算,运算的数必须要传给它,它上面有两个,一个是暂存器,还有累加器ACC,一般会把运算的操作数事先存放在累加器ACC当中,或者暂存器当中,然后传到ALU单元当中去做运算,运算的结果会返回到累加器ACC或者转存器,或者存储单元当中,这个是由不同的寻址方式和不同的指令来决定的。
寄存器B主要是用来做乘除法运算,乘除法指令需要用到寄存器B,在乘法的时候是用来存放乘数的,在除法指令的时候存放除数的结果,有一部分也要保存到寄存器B当中,当不用乘除法指令的时候,寄存器B可以作为普通的寄存器来使用,暂存器或者寄存器实际上就是一个内部的单元,内部ROM的单元。
CPU是8位的寄存器,就相当于是我们去超市来寄存东西的地方,把东西放在那然后可以再取走,就是这么一个暂时存放的地方,它存放的是一个八位的二进制数,ALU当中进行运算,把运算结果还要返回过去,PSW是特殊功能寄存器,SFR是内部REM当中高128个字节,就是从80H到FFH地址单元当中的21个特殊功能寄存器,PSW也是其中的一个,PSW叫做程序状态字寄存器,它也是一个八位的寄存器,它主要用来存放的是本次运放的结果的特征状态,或者叫特征信息,它是从ALU指向,就是说把数据放到ALU进行运算,在运算的过程当中会有一些状态信息进行输出,会以PFW状态字的形式来呈现,可以通过查询PSW当中的状态信息来表明当前的运算的一个问题,处理器的一个相关的工作状态,可以通过PSW来取得。
累加器实际上就是存放操作数或者中间结果的一个寄存器,是一个8位的寄存器,它的值可以通过指定来修改,是比较繁忙的一个寄存器,如果说大家熟悉汇编语言的话,你会发现在数据传送指令当中,绝大多数都是要和ACC有关的,也就是必须通过内部数据总线把数据传给累加器ACC,然后再通过暂存器才能够传给ALU单元去做数据的运算,因为数据传送都要经过它,所以它是最忙的,高性能单片机肯定会在这个结构上做了适当的改进,会增加一些缓冲。
上半期就分享到这,关注我,对文章内容感兴趣的朋友可以进入我的主页翻看一下以往的华维单片机编程林北的相关内容,喜欢的帮忙收藏点个赞哦,以上文章内容仅代表个人观点,不喜勿喷,谢谢大家的支持与鼓励!
0基础学单片机要知道51单片机CPU的一些相关构成以及作用相关推荐
- 0基础学RS(十四)VTP(VLAN中继协议)作用及配置
前言 在前面讲了VLAN的配置,在一台或几台交换机上配置相同的VLAN信息还是挺容易的.如果在一个大型企业中有数百台交换机需要配置VLAN信息,那一定是个枯燥的工作.然而VTP(VLAN中继协议)就可 ...
- C51汇编语言寻址方式,单片机学习:51单片机寻址方式详解
原标题:单片机学习:51单片机寻址方式详解 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.该系列单片机的始祖是Intel 8031单片机,后来随着Flash rom 技术的发展,8 ...
- 单片机位寻址举例_单片机学习:51单片机寻址方式详解
51单片机是对所有兼容Intel 8031指令系统的单片机的统称.该系列单片机的始祖是Intel 8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的发展,成为了应用最广 ...
- 视频教程-网络工程师入门CCNA 0基础学网络视频课程【精华版】-思科认证
网络工程师入门CCNA 0基础学网络视频课程[精华版] 新任帮主,双CCIE(CCIE R&S,CCIE Security):2011年前在国内知名培训机构担任CCIE R&S讲师:因 ...
- 0基础学怎么学习python
Python相对于其他编程语言来说是比较简单的,非常适合零基础的小白学习,想要进入到互联网行业,可以优先选择学习Python,那么下面小编就来为大家详细的介绍一下0基础学怎么学习python? ...
- 0基础学python难吗-0基础学武汉Python开发课程有多难?该怎么入门?
Python语言可谓十分强大,正如它的两个外号所称,一个是"内置电池",另一个是"胶水语言".开源社区和独立开发者长期为Python贡献了丰富大量的第三方库,其 ...
- 0基础学python-0基础学python 全套教程送你参考
我0基础学Python可以吗? 我赞成把Python作为入门语言: 为什么选择python Python可以说是编程语言中罕见的既简单又强大的一门语言,python语言简洁,语言优雅,功能强大,使用p ...
- 0基础学python难吗-0基础学Python有多难?该怎么入门?
0基础学Python有多难?该怎么入门?零基础学Python并不难,因为Python是一门非常适合初学者入门的编程语言.Python语法简单明了,代码可读性很高,容易入门.但Python对代码的要求非 ...
- 0基础学python看什么书-0基础学Python入门书籍应该看什么?
0基础学Python入门书籍应该看什么?Python 对不少人来说是谜一样的东西不知道如何下手.从何处下手,找了很多资源几个月过去了学习陷入换乱,没没能入门Python开发.出现这种情况大多是因为没有 ...
- python难学嘛-终于明白0基础学python难吗
Python语言是一种典型的脚本语言,简洁,语法约束少,接近人类语言.有丰富的数据结构,例如列表.字典.集合等.具有可移植性,支持面向过程和面向对象编程,并且开源.以下是小编为你整理的0基础学pyth ...
最新文章
- can bus 中spn是什么_CP AUTOSAR功能栈简介NM网络管理(Can)
- I - 滑雪 POJ - 1088(深搜,记忆化搜索)
- 微软最新GDI漏洞MS08-052安全解决方案
- Postfix实现代理Exchange邮件传输方案
- 红橙Darren视频笔记 条件查询 删除 更新,数据库结合http做缓存机制(数据库操作)下
- creat是什么意思中文翻译_英语create的中文是什么意思
- 阿里大牛程序员的Java问题排查工具单
- (软考信息安全工程师--中级)二、网络攻击原理与常用方法
- QQ概念版(WPF制作)
- Android ~ 国际化(多语言)
- Axure简易计算器
- 关于FL Studio ASIO驱动不工作的一个解决方案
- 【翻译】图解Janusgraph系列-事务详解(Janusgraph Transactions)
- MIT License探讨
- vim安装使用pathogen
- Cisco WLC和瘦ap的配置
- 更好地提问ChatGPT_常用prompt表
- 图书推荐系统(附源码链接)
- Log4j2发送邮件通知
- 【随机信号处理笔记】 Chapter4 信号检测
热门文章
- 【Go】使用压缩文件优化io (二)
- Django model 反向引用中的related_name
- 解决IE8下不支持document.getElementsByClassName的方法
- swift 闭包简写实际参数名$0、$1等理解
- 使用Google的项目(源码)托管服务(转)
- LINQ的ORM功能中对使用sp_executesql语句的存储过程的支持
- HTML DOM教程 5-HTML DOM节点访问
- mybatis加载属性
- Jsoup爬虫新手一
- html2canvas 像素,html2canvas 如何生成高清图片?