欢迎来到天天文库
浏览记录
ID:50166185
大小:241.50 KB
页数:8页
时间:2020-03-09
《单片机原理及应用 教学课件 作者 孙康岭 刘永海 主编单片机2 3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图2-380C51的存储器结构当前工作寄存器组的选择由SFR中的PSW的RS1、RS0位决定,可以对这两位通过编程加以改变,以便选不同的工作寄存器组。表2-2工作寄存器地址表16个字节单元共有128位,每位都有唯一的位地址,位地址范围是00H~7FH,如表2-3所示。位寻址区中的每一位地址均有两种表示方法:一是位地址形式,另一种是单元地址•位序号形式。表2-380C51单片机位地址表这里集中介绍几个专用寄存器1.累加器ACC(8位)累加器为8位寄存器,是最常用的专用寄存器,功能较多,也很重要。它既可用于存放操作数,也可用来存放
2、运算的中间结果。80C51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。2.寄存器B(8位)B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数。乘法操作后,乘积的高8位存于B中。除法运算时,B存除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。3.程序状态字PSW(8位)PSW存放ALU运算过程的标志状态,各位的位地址及位符号见表2-4。(1)CY:进(借)位标志。用于表示ACC.7是否向(从)更高位进(借)位。80C51中的算术运算器是8位的
3、运算器,8位运算器所存储的数的大小在0-255之间。如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,丢失的这个二进制1就存入CY。也就是说在运算过程中产生的进(借)位将存入CY。例:70H+91H(01110000+10010001)时,CY=1(2)AC:辅助进(借)位标志也叫半进(借)位标志。在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。在BCD码调整中也要用到AC位状态。例:7H+2AH(00000111B+00101010B)时,AC=1(3)F0:用户标志位,
4、由编程人员决定什么时候用,什么时候不用,以及如何使用。(4)RS1、RS0:当前工作寄存器组选择位。见表2-2。(5)OV:溢出标志位。表示ACC在有符号数算术运算中的溢出状态。有溢出,OV=1,否则OV=0。(详见第3章指令系统部分)(6)P:奇偶校验位,它用来表示运算结果(存于ACC中)所包含的二进制位中“1”的个数的奇偶性。若为奇数,则P=1,否则为0。例:某运算结果是18H(00011000B),其中1的个数为偶数,所以P=0。4.P0、P1、P2、P3并行口:是四个并行输入/输出口的寄存器,它里面的内容对应着管脚的输
5、入与输出。5.堆栈指针(SP—StackPointer)堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“后进先出”的原则存取数据的。针对堆栈共有两种操作:进栈和出栈。SP作为堆栈指针,指向栈顶单元。80C51单片机的堆栈设置在内部RAM中,SP是一个8位寄存器。系统复位后,SP的内容为07H,因此复位后堆栈实际上是从08H单元开始的。由于08H~1FH单元分别属于工作寄存器1~3区,为避免程序用到工作寄存器1~3区时发生冲突,最好把SP值改为20H或更大的值。一般在内部RAM的30H~7FH单元中开辟堆栈。SP的内容可初始
6、化为不同的值,一经确定,堆栈的位置也就跟着确定下来。
此文档下载收益归作者所有