EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MCS-51单片机有几个工作寄存器?
: d; C9 }8 Y* \) c l" P3 o4 H q# g* z k4 \* \! n+ G" `: a9 o4 [
工作寄存器有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,就可以让它们各占一组,只要切换区域就行了,而不必频繁地保护现场。 1 j- |+ [/ L, K5 o' Z
|