打印

PC和DPTR的区别是什么

[复制链接]
1398|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PC和DPTR的区别是什么

       PC (personal computer),个人计算机一词源自于1981年IBM的第一部桌上型计算机型号PC,在此之前有Apple II的个人用计算机。

  个人计算机由硬件系统和软件系统组成,是一种能独立运行,完成特定功能的设备。

  硬件系统:是指计算机的物理设备如电源、主板、CPU、内存、硬盘等。

  l软件系统:是指为方便使用计算机而设计的程序,软件系统包括系统软件和应用软件。系统软件指的是主要用于控制和管理计算机资源的程序,如操作系统、编译系统等。应用软件指各种可以运行在操作系统中的程序,如游戏软件、工作软件等。

  个人计算机不需要共享其他计算机的处理、磁盘和打印机等资源也可以独立工作。从台式机(或称台式计算机、桌面电脑)、笔记本电脑到上网本和平板电脑以及超级本等都属于个人计算机的范畴。

  随着智能手机和平板的普及,绝大多数人可能已经更青睐那种触动手指即可完成的办公娱乐方式。最近无论是在国内还是在国外,都有不少“专家”认为在不久的某一天里传统PC会被更为便携的手机和平板所替代。

  

  DPTR是某些单片机中一个功能比较特殊的寄存器,是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。

  主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针,也可以将外部RAM中地址的内容传送到内部RAM的地址所指向的内容中。DPH和DPL的地址分别为83H、82H。

  PC和DPTR的区别

  PC是程序计数器。不属于特殊功能寄存器。它存放的是下一条要取的指令的16位存储单元地址,当取完一个字节以后,PC的值会自动加以,为取在下一条指令做准备。

  还有一点:单片机复位后,PC自动清零。在执行中断程序时PC值不加一。

  51单片机的特殊功能寄存器中,哪几个是16位的?

  DPTR,因为51单片机虽然是8位机,但地址总线是16位的,所以数据指针一定得是16位,还有就是两个定时器的计数寄存器也是16位的,这三个16位寄存器都可以对它们的高低8位单独操作,你既然想学单片机,就要把单片机基础好好学学,像这个问题好好的看看书做做试验都能了解的。

  Rn为工作寄存器组,同一时刻,只有一组在运行,具体哪个运行,有PSW(状态寄存器决定--可以自己设置)特殊功能寄存器包括21个,其中有P0、P1、P2、P3(存放 I/O数据),PSW(状态寄存器),ACC(累加器),B(乘法寄存器),SP(堆栈指针),DPL(DPTR低位),DPH(DPTR高位),PCON(电源控制,波特率选择),TCON,TMOD,TL0,TH0,TL1,TH1(定时中断参数),IE(中断设定),IP(中断优先),SCON(串口中断),SBUF(串行缓冲区) {可见程序计数器PC并不是特殊功能寄存器}

  51单片机中PC与DPTR的区别

  MCS51指令系统同外部程序存储器打交道的指令为两条查表指令(MOVC),其寻址方式采用基址偏址的间接寻址方式1.MOVC A,@A+DPTR2.MOVC A,@A+PC其中1是远程查表指令64KB 2是近程查表指令256BPC是程序计数器,用于安放下一条要执行的指令地址,是一个16位专用寄存器,可寻址范围为0-65536 64K,PC在物理上是独立于SFR的。而DPTR是属于SFR的.PC指针是一条一条指向指令地址的:如0001H,0002H,0003H.。。。

  以pc的当前值为基址(指本条指令的首地址),单字节指令,执行时,先始pc+1指向下一条指令的地址,然后在与累加器a的内容相加,形成变址寻址的地址movc a, @a+pc (pc)《----(pc)+1 , (a)《----((a)+(pc)

  以dptr为基址寄存器,将dptr的内容与累加器a的内容相加得到变址地址

  movc a, @a+dptr (a)《-----((a)+(dptr))

  变址寻址方式专用于程序存储器的访问,不能访问数据存储器,使用变址寻址时,应先为a,和dptr赋值,以便确定地址,以pc为基址时只需要给a赋值即可

  MOVC A,@A+DPTR MOCX A,@A+PC 这两个指令有什么区别

  两者都是查表程序,区别前者查表范围可达64K,后者只能查256字节地址范围

  DPTR是一个16位的寄存器,因为是16位,所以他的范围是0-0xffff就是0-64K的范围。那么就可以通过它来间接寻址访问内部或外部的存储器(不管是程序存储器,还是数据储存器。)。而PC则是程序计数器,也是一个16位的计数器。每过一个机器周期,PC就会加一。它里面的内容存的是CPU当前执行的指令存在ROM中的地址,所以MOVC A,@A+PC在执行程序的时候,因为PC在不同时刻里面的内容是不一样的。

  DPTR是一个数据指针,PC是程序计数器指令MOVC A,@A+DPTR的意思是:将DPTR的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC。该指令和当前的PC(程序计数器)值无关,例:若执行前,DPTR=0300H(该值是自己赋予的),ACC=18H,[0318H]=0ABH,则执行后,ACC=0ABH,DPTR不变,MOVC A,@A+PC的意思是:将PC(程序计数器)的值加上ACC的值,并将该结果所指的程序存储器地址的数据送入ACC,该指令和DPTR无关,PC(程序计数器)值则因为该条指令的位置不同而不同,故该条指令在程序的不同位置,其执行结果是不同的。其余的同上一条指令.



相关帖子

沙发
dirtwillfly| | 2018-5-7 09:01 | 只看该作者
感谢分享

使用特权

评论回复
板凳
comeon201208| | 2018-5-8 22:07 | 只看该作者
个人计算机由硬件系统和软件系统组成,是一种能独立运行,完成特定功能的设备。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

697

主题

993

帖子

4

粉丝