51初学单片机机AR地址寄存器和DR数据寄存器,属于工作寄存器还是器属于特殊寄存器

单片机、电路板
连接器、接插件
其他元器件
51单片机CPU的内部结构
51单片机CPU的内部结构
在前面的课程中,我们已知道了单片机内部有一个8位的CPU,同时知道了CPU内部包含了运算器,控制器及若干寄存器。在这节课,我们就与大家一起来讨论一下51单片机CPU的内部结构及工作原理。从上图中我们可以看到,在虚线框内的就是CPU的内部结构了,8位的MCS-51单片机的CPU内部有数术逻辑单元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序状态字PSW
在前面的课程中,我们已知道了单片机内部有一个8位的CPU,同时知道了CPU内部包含了运算器,控制器及若干寄存器。在这节课,我们就与大家一起来讨论一下51单片机CPU的内部结构及工作原理。从上图中我们可以看到,在虚线框内的就是CPU的内部结构了,8位的MCS-51单片机的CPU内部有数术逻辑单元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序状态字PSW(8位)、程序计数器PC(有时也称为指令指针,即IP,16位)、地址寄存器AR(16位)、数据寄存器DR(8位)、指令寄存器IR(8位)、指令译码器ID、控制器等部件组成。1、运算器(ALU)的主要功能A)算术和逻辑运算,可对半字节(一个字节是8位,半个字节就是4位)和单字节数据进行操作。B)加、减、乘、除、加1、减1、比较等算术运算。C)与、或、异或、求补、循环等逻辑运算。D)位处理功能(即布尔处理器)。由于ALU内部没有寄存器,参加运算的操作数,必须放在累加器A中。累加器A也用于存放运算结果。例如:执行指令 ADD A,B执行这条指令时,累加器A中的内容通过输入口In_1输入ALU,寄存器B通过内部数据总线经输入口In_2输入ALU,A+B的结果通过ALU的输出口Out、内部数据总线,送回到累加器A。2、程序计数器PCPC的作用是用来存放将要执行的指令地址,共16位,可对64K ROM直接寻址,PC低8位经P0口输出,高8位经P2口输出。也就是说,程序执行到什么地方,程序计数器PC就指到哪里,它始终是跟蹿着程序的执行。我们知道,用户程序是存放在内部的ROM中的,我们要执行程序就要从ROM中一个个字节的读出来,然后到CPU中去执行,那么ROM具体执行到哪一条呢?这就需要我们的程序计数器PC来指示。程序计数器PC具有自动加1的功能,即从存储器中读出一个字节的指令码后,PC自动加1(指向下一个存储单元)。3、指令寄存器IR指令寄存器的作用就是用来存放即将执行的指令代码。在这里我们先简单的了解下CPU执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。关于指令在单片机内部的执行过程,我们在后面将会以另一节课来进行详细的讲解。4、指令译码器ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。5、地址寄存器AR(16位)AR的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器PC产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。从上图中我们可以看到,地址寄存器AR通过地址总线AB与外部存储器相连。6、数据寄存器DR用于存放写入外部存储器或I/O端口的数据信息。可见,数据寄存器对输出数据具有锁存功能。数据寄存器与外部数据总线DB直接相连。7、程序状态字PSW用于记录运算过程中的状态,如是否溢出、进位等。例如,累加器A的内容83H,执行:ADD A,#8AH ;累加器A与立即数8AH相加,并把结果存放在A中。指令后,将产生和的结果为[1]0DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放结果中的最高位B8。为些,在CPU内设置一个进位标志位C,当执行加法运算出现进位时,进位标志位C为1。8、时序部件由时钟电路和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号在后面的课程中我们将会安排一节课来讲解这些专用的寄存器。
型号/产品名
深圳市铨芯科技有限公司
深圳市福田区科鑫电子商行
深圳市福田区科鑫电子商行
蒋文(企业经营)51单片机的CPU结构_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机的CPU结构
阅读已结束,下载本文需要
定制HR最喜欢的简历
你可能喜欢51单片机课后习题与答案-南昌家教网,江西师大家教网
咨询热线:
南昌思敏家教网
&&当前位置:【】 →
→ 浏览文章
采编:南昌家教 &&来源:&&&&点击:3451&&&&发布日期: 23:10:39
【上一篇】:
【下一篇】:
联系电话:<font color=#FF3152 客服邮箱:
搜索关键词
南昌思敏家教网http://www.ncsmjj.com版权所有&未经允许&不得转载豆丁微信公众号
君,已阅读到文档的结尾了呢~~
新编单片机原理与应用&#40;本科&#41;第2章
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
新编单片机原理与应用&#40;本科&#41;第2章
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口MCS-51单片机有几个工作寄存器?
工作寄存器有4组,每组都是8个工作寄存器R0~R7,通过PSW中的RS1、RS0两位来选择使用哪一组,如果不选,默认是选择第0组。
RS1RS0组合为00时,选中第0组工作寄存器,R0~R7地址为00H~07H;
RS1RS0组合为01时,选中第1组工作寄存器,R0~R7地址为08H~0FH;
RS1RS0组合为10时,选中第2组工作寄存器,R0~R7地址为10H~17H;
RS1RS0组合为11时,选中第3组工作寄存器,R0~R7地址为18H~1FH。
类似arm的usr模式svc模式irq模式fiq模式,
psw.4&psw.3
&0&&&&&0&&&&0区&&r0-r7独立
&0&&&&&1&&&&1区&&r0-r7独立
&1&&&&&0&&&&2区&&r0-r7独立
&1&&&&&2&&&&3区&&r0-r7独立
上边的每个区都由相同的名字r0-r7寄存器引用,但数据空间却不同,所以各自独立,
每组寄存器在物理上是独立的,也就是说,一共有32个寄存器。上电后默认是第0组,但四组寄存器的功能、优点完全相同。r0-r7支持丰富的寻址方式,可以大大提高运行效率。
所以,如果你有四个程序段(或者说线程)要交叉运行,都想使用到效率很高的r0-r7,就可以让它们各占一组,只要切换区域就行了,而不必频繁地保护现场。
寻址方式:
51单片机有7种寻址方式。
1、寄存器寻址:前面提到了内部RAM中的00H-1FH地址单元作为工作寄存器使用。一共是有32各地址单元,分成四组,每组有8个寄存器,命名为R0-R7,每次可以使用其中的一组。当使用R0-R7来表示操作数时,就属于寄存器寻址方式。
例如:MOV&
A,R0;把寄存器R0的内容送入累加器A中
2、直接寻址:在指令中直接给出操作数地址,就属于直接寻址方式。此时指令的操作数部分直接是操作数的地址。
例如:MOV A,2AH
;把RAM地址2AH的内容送入累加器A中
3、立即寻址:
例如:MOV A,#3AH
;该指令就是表示把立即数3AH送入累加器A中,立即数前加上一个#,和直接寻址方式区分
4、寄存器间接寻址:若以寄存器的名称直接给出操作数的地址,则称为寄存器间接寻址。
例如:MOV A,@R0
;该指令是把RO里的内容作为地址,这个地址的数据送入累加器A,注意前面需要加@
5、变址寻址:变址寻址是以某个寄存器的内容为基本的地址,然后在这个基址上加以地址的偏移量,才是真正的操作数地址。
例如:MOV A,@A+DPTR
;地址是A+DPTR的值,这个地址的内容送如累加器A
6、相对寻址:相对转移指令需要用到相对寻址方式,此时操作数部分给出的是地址的相对偏移量部分。
目的地址 = 源地址 + 指令字节数 + rel(rel可正可负)
例如:SJMP rel
7、位寻址:概念就不做解释了。还是把reg52.h这个头文件贴出来说。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 51单片机寄存器 的文章

 

随机推荐