微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > 系统帮助

如何给寄存器赋值

时间:2024-09-21 05:12:37   

大家好,今天Win10系统之家小编给大家分享「如何给寄存器赋值」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

爱给网app手机版系列软件最新版本下载

1.怎样给专用寄存器(SFR)赋值,单片机


  1、acc---是累加器,通常用a表示。 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在acc中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志z,若a=0则z=1;若a≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、b--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。3、psw-----程序状态字。 这是一个很重要的东西,里面放了cpu工作时的很多状态,借此,我们可以了解cpu的当前状态,并作出相应的处理。它的各位功能请看下表: cy:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,cy=1;无进、借位,cy=0 例:78h+97h(01111000+10010111) ac:辅助进、借位(高半字节与低半字节间的进、借位)。 例:57h+3ah(01010111+00111010) 下面我们逐一介绍各位的用途f0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。 rs1、rs0:工作寄存器组选择位。这个我们已知了。 0v:溢出标志位。运算结果按补码运算理解。有溢出,ov=1;无溢出,ov=0。什么是溢出我们后面的章节会讲到。 p:奇偶校验位:它用来表示alu运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则p=1,否则为0。 运算结果有奇数个1,p=1;运算结果有偶数个1,p=0。 例:某运算结果是78h(01111000),显然1的个数为偶数,所以p=0。4、p0、p1、p2、p3------这个我们已经知道,是四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。5、ie-----中断充许寄存器 按位寻址,地址:a8h中断禁止(即不产生中断) ea=1时,各中断的产生由个别的允许位决定 - (ie.6):保留 et2(ie.5):定时2溢出中断充许(8052用) es (ie.4):串行口中断充许(es=1充许,es=0禁止) et1(ie.3):定时1中断充许 ex1(ie.2):外中断int1中断充许 et0(ie.1):定时器0中断充许 ex0(ie.0):外部中断int0的中断允许 7、ip-----中断优先级控制寄存器 按位寻址,地址位b8hea (ie.7):ea=0时,所有中断禁止(即不产生中断) ea=1时,各中断的产生由个别的允许位决定 - (ie.6):保留 et2(ie.5):定时2溢出中断充许(8052用) es (ie.4):串行口中断充许(es=1充许,es=0禁止) et1(ie.3):定时1中断充许 ex1(ie.2):外中断int1中断充许 et0(ie.1):定时器0中断充许 ex0(ie.0):外部中断int0的中断允许 7、ip-----中断优先级控制寄存器 按位寻址,地址位b8h6、指针寄存器 (1)程序计数器pc 指明即将执行的下一条指令的地址,16位,寻址64kb范围, 复位时pc = 0000h (2)堆栈指针sp 指明栈顶元素的地址,8位,可软件设置初值,复位时sp = 07h (3)数据指针dptr @r0、@r1、@dptr;指明访问的数据存储器的单元地址,16位,寻址范围64kb。 dptr = dph + dpl。可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。 分成dpl(低8位)和dph(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据ram或程序存储器作64k字节范围内的数据操作。7、定时/计数器 (1) 定时器方式寄存器:tmod (2) 定时器控制寄存器:tcon (3) 计数寄存器:th0、tl0;th1、tl1。可用于设定计数初值。8052/8032增设专用寄存器 (1) 定时器2控制寄存器t2con;控制、设置工作方式。 (2) 计数寄存器:th2、tl2 (3) 定时器2捕获/重装载寄存器:rcap2h、rcap2l 存放自动重装载到th2、tl2的数据。

以上就是关于「如何给寄存器赋值」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

『*文章来♂自Win10系统之家,转载请联系!』

相关文章

  • 如何给寄存器赋值

    如何给寄存器赋值

    1.怎样给专用寄存器(SFR)赋值,单片机1、acc---是累加器,通常用a表示。这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一...
  • 如何给数组赋值 c

    如何给数组赋值 c

    1.C语言一维数组赋值一位数组赋值的几种方式inta[10]={1,2,3,4,5,6,7,8,9,10};.一般初始化,例:inta[10]={3,10,5,3,4,5,6,7,8,9};intarray[5]={2,3,4,5,6};其结果是给每一个数组元素都指定了初值。2.部分元素初始化,...
  • 如何给幼儿做蛋糕

    如何给幼儿做蛋糕

    1.给孩子在家怎样做蛋糕没有用泡打粉酵母粉黄油奶油,只用了最基本的四种原料:鸡蛋、牛奶、白糖、面粉;没用称子称量分量,没有电动打蛋器,没有筛子(有还是好一点,嘿嘿)……都可以做!材料及准备电饭锅:功率500W;容量2.5L(仅...
  • 如何给客人要好评

    如何给客人要好评

    1.如何引导买家写好评顾客给好评的条件=好的顾客体验+评价1.好的顾客体验需要具备的条件:A、上帝的服务:物流售后服务——①发货较慢、包装简单、推卸物流责任、售后服务态度差、处理不及时②发货一般、包装结识、帮助买家处理...