1. 51单片机寄存器存储器分几个区分区受什么影响
51单片机寄存器存储器分区如下:
1、00H~1FH,该区为工作寄存器区域,分为四组,即:00H--07H,08H--0FH,10H--17H,18H--1FH,由RS1RS0来控制。
2、20H~2FH,该区为位址区域,该区域可以位寻址,位地址为00H~7FH。
3、30H~7FH,该区域为用户自由支配区。
4、80H~FFH,该区域为扩展区,52单片机,该区域用户可以通过间接寻址访问使用。
2. 51单片机寄存器C编程出现问题
将S2TI改成0x02就可以了
3. 51单片机关于寄存器的问题,请帮助我解释一下
P1M0和P1M1是两个寄存器,用来设置P1口各个端口的工作状态的,从说明上看,你的P1的八个口中的每一个口都有四个工作状态,分别为00b,01b,10b,11b这四种状态。用P1M0的第一位和P1M1的第一位控制P1.0这个端口的工作方式,用P1M0和P1M1的第二位的两个位来控制P1.1的端口的工作状态。所以,P1M0和P1M1两个寄存器就可以用来管理P1的八个口的所有四种工作状态了。
对应的方式是这们的:
端口工作控制寄存器位 端口的工作状态
P1M0.7 P1M1.7 P1.7
0 0 准双向口
0 1 推挽输出
1 0 仅为输入
1 1 开漏(Open Drain)
上边的是以P1.7的端口为例的情况,其他的七个端口(P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0)也是一样的道理。
即P1.6受控于P1M0.6和P1M1.6,P1.5受控于P1M0.5和P1M1.5,等等。。。。。
程序中,P1M0和P1M1都赋的值是0x00,说明你的P1的八个口都工作在00b这个工作模式下,也就是“准双向口”。
程序中对于P3口的工作方式设定,P3M0 = oxoo, P3M1 = 0x0f,说明,P3口的工作方式是
底四位(P3.0,P3.1,P3.2,P3.3):为01b,即,推挽输出;
高四位(P3.4,P3.5,P3.6,P3.7):为00b,即,准双向口
4. 51单片机的寄存器如何赋值
这要看是写什么程序了,用汇编写程序,用MOV指令,直接寻址方式赋值,如
MOV TMOD , #20H
MOV TH0 , #3CH
MOV TL0 , #0B0H
用C语言写程序就更简单,也好理解,还是上面三个寄存器赋值
TMOD=0x20;
TH0=0x3c;
TL0=0xb0;
5. 51单片机中工作寄存器作用是什么
简单的说是用来存放数据的。
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列。
它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
(5)51单片机c寄存器扩展阅读:
硬件说明
1、使用用户板的晶振:仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。
2、为便于调试带看门狗的用户板,仿真器的复位端未与用户板复位端相连;故仿真器的复位按钮只复位仿真器,不复位用户板;若要复位用户板,请使用用户板复位按钮。
6. 51单片机关于c寄存器的 如果减法发生借位c位置一了,这个c要怎么处理 如:#02h减#01h,
这个C(进位位/借位)就是相当于借了一个1,具体这个1当几来用,由编程者来确定。通常情况下只要不是多位运算,只需要判断大小不可以了,如果是多字节减,那么高8位或者更高的8位只要用SUBB(带借位的减)同时减去就可以。
7. 51单片机C语言工作寄存器问题
头文件里定义了PSW
当PSW中的RS1、RS0发生变化时对应的工作区发生相应的变化,对应关系为:
00:工作区0,R0~R7对应地址00H~07H
01:工作区1,R0~R7对应地址08H~0FH
10:工作区2,R0~R7对应地址10H~17H
11:工作区3,R0~R7对应地址18H~1FH
RS1/RS0是靠软件来设置的,你可以根据不同情况自由设置,一般中断时用得较多,避免影响正常流程下的工作寄存器值。
8. 51单片机中如何用C语言自定义一个寄存器,求大神帮忙
寄存器是CPU内部重要的数据存储资源,主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间,也就是说CPU操作寄存器比操作内存快(寄存器是直接存取,而内存是寻址存取)。
汇编比C语言效率高,经常操作寄存器也是一个原因吧。
C语言可以把变量定义为寄存器类型的,将数据直接存放在CPU的寄存器中,使用关键字register定义变量。
例如register a=123;定义a为寄存器类型变量。
使用register定义的变量尽可能存放到寄存器中,但不绝对。
9. 单片机MCS-51汇编语言中的“A、B、C”指的是什么
它们的含义分别为:A是累加器,是使用频率最高的特殊寄存器。B是通用寄存器,也是唯一可以参与乘、除运算指令的寄存器。C是进位位,属于位存储器,也是布尔处理机进行位运算最常用的位寄存器,同时受某些算术、逻辑运算指令影响,表征结果的状态。
10. 51单片机中寄存器是什么
寄存器是特殊的RAM,特殊功能寄存器是控制单片机硬件的开关(例如IE)或者是指示单片机状态的信号(例如PSW),通过特殊寄存器你就可以方便的控制整个MCU,并且知道当前的MCU的工作状态。
还有是通用寄存器,例如R0~R7,这些寄存器由于设计上的目的,比一般的RAM使用起来更方便,更快捷,并且某些指令必须通过它们才能执行