‘壹’ 有人知道51单片机入口地址怎么确定么 比如说ORG30H 为什么不是ORG2FH
ORG 是伪指令 是确定指令在程序存储器中所处的位置的 表示方法应该是 ORG 0030H ORG 002FH 至于你说这个入口地址 我没太明白你想问啥呀 是中断的入口地址 还是? 一般只有中断才用入口地址一说 如 外部中断1 的 入口地址为 0003H 这是 单片机内部电路决定的 除了中断指令外 其他的ORG 0100H ORG 1000H等等其实无什么特殊意义 只是告知 编译系统 这条伪指令之后的 第一条指令存储在 ORG 后面的数值所代表的 存储单元(也可以理解为地址)中,所以 你可以用 ORG 0030H 也可以用 ORG 002FH
‘贰’ 51单片机的存储器地址怎样寻址
单片机内部RAM中低128字节的20H~2FH共16个字节可以用位寻址方式访问其各位。共128个位地址为00H~7FH。假设位地址为48H,那么单元地址=48H/8+20H=29H。特殊功能寄存区中有的可以位寻址,用查表法,就可以得到,例如90H,查表得到,对应的字节地址为90H。
低128字节中的00H~1FH共32个单元通常作为工作寄存器区;30H~37H共80个单元为用户RAM去,作堆栈或数据缓冲;80H~7FH单元组成高128字节的专用寄存器区,也就是特殊功能寄存区。它们零散地分布在其中,并没有占满所有地址空间,对空闲地址的操作是无意义的。
(2)51单片机操作地址怎么看扩展阅读
MCS-51单片机存储器结构介绍:
MCS-51单片机存储器采用哈佛结构(har-vard),在物理结构上分为程序存储器空间和数据存储器空间,细分为:片内、片外程序存储器和片内、片外数据存储器。
这4个存储空间存在地址冲突问题:数据存储器与程序存储器的64KB地址空间重叠;程序存储器中片内与片外的低4KB地址重叠;数据存储器中片内与片外最低的256B(8031仅有低128B)地址重叠。
在程序存储器中,片内地址某些单元存储空间,留给系统使用。片内数据存储器共256B地址空间,分为低128B和高128B。
低128B又分为工作寄存器区、位寻址区和用户RAM区;高128B又叫特殊功能寄存器,这些寄存器的功能具有专门的规定,用户不能修改其结构。存储器中共有11个可位寻址的位地址。其中,片内数据存储器中有128个;特殊功能寄存器中有83个。
‘叁’ 在51单片机中,操作数的地址是如何形成的。
这是汇编指令才考虑操作数的地址的。指令中,形成操作数地址有几种方式,根据指令的寻址方式不同,形成地址的方式就不同。第一种,操作数地址就在指令中给出。如
MOV 20H , #58H ; 操作数地址是20H
MOV A , 42H ; 操作数地址是42H
这两条指令是直接寻址方式,操作数地址就是指令中给出的。
第二种,间接寻址方式,如下
MOV A , @R0 ; 操作数地址是由R0间接给出的 , 地址是R0中的数
MOVX @DPTR , A ; 操作数地址是由数据指针DPTR给出的, 地址在DPTR 中
第三种, 操作数地址需要根据当前地址和偏移量计算得出, 如下
DJNZ rel ; 转移的目标地址=PC+rel
JNZ rel ; 同上
第四种, 位寻址 , 例如
SETB 10H ; 操作数的位地址就是10H
CLR ACC.0 ; 操作数的位地址就是ACC.0
还是绝对转指令等等.