arduino和单片机的区别 AJMP addr11的机器需要前三位和后八位怎么求的

单片机AJMPaddr11的机器需要前三位和后八位怎么求的一直没有搞懂小写a代表什么... 单片机 AJMP addr11的机器需要前三位和后八位怎么求的一直没有搞懂小写a代表什么

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

12/11.0592微秒,51单片机的一个机器周期等于12个振荡周期(晶振频率的倒数)。

}

内容提示:单片机原理试题(一)

文档格式:PDF| 浏览次数:186| 上传日期: 01:57:50| 文档星级:?????

全文阅读已结束,如果下载本文需要使用

该用户还上传了这些文档

}

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

单片机只有ACALL addr11,调用范围同AJMP,也是两KB(因为addr11就是2KB),它实现的功能是,首先PC=PC+2(因为ACALL指令占两个字节),由于是程序调用,所以需要将PC入栈保护起来,接下来就是SP=SP+1,PC(7~0)入栈,SP再加一,PC(15~8)入栈,最后实行与AJMP类似的功能,即PC高五位不变,低十一位等于addr11。

本回答由科学教育分类达人 杨新印推荐

单片机只有ACALL addr11,调用范围同AJMP,也是两KB(因为addr11就是2KB),它实现的功能是,首先PC=PC+2(因为ACALL指令占两个字节),由于是程序调用,所以需要将PC入栈保护起来,接下来就是SP=SP+1,PC(7~0)入栈,SP再加一,PC(15~8)入栈,最后实行与AJMP类似的功能,即PC高五位不变,低十一位等于addr11

 嗯,是我输错了,是ACALL addr11,书上只说的断点入栈,初学。。实在是难倒一大片啊。。
再追问一个,查找片内RAM的20H到50H单元中是否有0AAH这一数据,若有这一数据,将51H单元置为01H,否则置为00H。
在判断是否有0AAH时是一个一个位查过去么,就是类似
JB ACC.0
JNB ACC.1
JB ACC.2
...
JNB ACC.7
有没有简单的写法?
 没看懂你的JB是用来干什么的
单片机有循环的啊
用个循环语句就是了
mov r7,#30h ;数据个数
mov r0,#20h ;初始地址值
next:mov a,@r0
inc r0
subb a,#0xaa
jz you ;找到传1过去
djnz r7,next ;比完30个都没找到
mov 51h,#0
sjmp end
you: mov 51h,#1
end: ······
程序未经验证未经检查,错了的话翻翻书什么的就可以弄对了,大概就是这样了,写完猜到了你的jb应该是用在每位比较之后怎么转,那也太麻烦了。单片机虽然cmp指令,但是有cjne指令啊,意思就是compare jump not equal 翻译下就是比较不等就跳,你可以自己用这个指令写个,我没用它,用的是减法
嗯,是判位变量转移指令。JB直接寻址位为1转移指令
JNB直接寻址位为0转移指令
。。我再问个题。。。(都觉得自己汗颜)
从内部RAM的BLOCK开始有一个无符号数数据块,长度存于LEN单元中,求出数据块中的最小元素,并将其存入MINI单元中。要求使用比较条件转移指令CJNE
也是循环啊, 上面的类似的,去看下书就知道了,寻址方式加上指令集,看完之后就很简单了,刚开始慢慢来就是了
}

我要回帖

更多关于 arduino和单片机的区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信