不知道自己说的对不对 求教
SFR是指特殊功能寄存器 Special Function Register 是在片内RAM的高128字节
工作寄存器是在片内RAM的低128字节的00H到1FH 的32个单元 根据RS0与RS1的电平
选择不同的工作组 一共4组 每组都有R0~R78个单元 每个单元能容纳8位二进制码(对么?) 貌似其中R0,R1,R2有特殊作用 作用是什么呢?
DPTR是指针吧?这个弄不太懂 既然R0,R1都可以自增自减(相当于指针)那为什么还用DPTR呢 用R0,R1可以么?还是说片外访问的时候必须用DPTR不能用片内的寄存器呢?
求教 最好详细些 有加分(昨天您给解答来着,但是分数给另一位了 今天向您求教O(∩_∩)O)
好详细 追问个 不介意吧
在做题 感觉答案不太对 求解
题目 将片内RAM中0FH单元的内容送到寄存器B,要求进行直接寻址
答案给的是MOV B,#0FH 这样不就是将0FH这个数送到B寄存器了么 也不是单元啊 求解
另 大体上会区别是多少字节的命令 但是周期如何看~
麻烦您了 可能问题有些小白 请别介意 真心求教
哦,没关系,那个是错误的.
MOV B,#0FH 是立即数寻址,意思是把 0FH这个数值传递给 B寄存器
正确的答案是 MOV B,0FH
单片机是采用复杂指令集结构,所以每个指令的字节数,指令周期数可能都不一样,关于周期如何看,我也没办法,我以前都是在百度上查到的,然后背下来的,而现在我已经不怎么用汇编了,所以也记不住了.
看了您给的那个链接 答复很精妙 有一点问题
89C51单片机 没有片内高128B 那么是不是不能用寄存器间接寻址?如果用了 会有什么后果?
最后一个问题了 嘿嘿
对的,AT89C51没有内部高128B,所以,它的寻址有以下:
直接寻址:访问内部低128B
直接寻址:访问SFR
配合MOVX间接寻址:访问外部RAM
配合MOVC变址寻址:查表ROM
如果AT89C51有了内部高128B,那就不叫AT89C51了,就成了AT89C52或者其他的型号了.
也就有间接寻址了
参考资料:http://www.eeworld.com.cn/gykz/2011/0828/article_8399.html