
89c52单片机 寄存器问题 keil编译器 汇编语言
keil在编译时,即使主程序没有设置反复执行(快END时jmp到START),单片机会反复执行主程序。主程序中对工作寄存器r1-r7做过赋值,当主程序一次执行完毕后,工作...
keil 在编译时,即使主程序没有设置反复执行(快END时jmp到START),单片机会反复执行主程序。主程序中对工作寄存器r1-r7做过赋值,当主程序一次执行完毕后,工作寄存器r1-r7的状态是什么?
展开
2个回答
展开全部
在51的指令集中00是NOP,FF是MOV R7,A。一般情况下未使用的空间是FF,即擦除后的结果。单片机之所以会,主程序没有设置反复执行(快END时jmp到START),单片机会反复执行主程序。是因为执行完程序后,继续执行后面的内容,即FF(MOV R7,A),之后执行一遍后SP加满溢出,重头又开始执行。51的sp是16位的,最大65535。FF是单指令周期。以12MHz的晶振为例,一个指令周期1us(1E-6),执行一遍不到66ms,所以看似循环运行。如果真的需要循环执行还是应该在程序中设置循环。毕竟后面的程序是不确定的,出什么结果也是不确定的。读完片内的程序开始读片外存储器,当没有时读出的数据就不知道是什么了。如果P0有上拉电阻,这是FF。
r1-r6很可能是原值,r7很可能是A的值,因为FF是MOV R7,A。
r1-r6很可能是原值,r7很可能是A的值,因为FF是MOV R7,A。

2025-08-08 广告
说到edl模块产品的生产厂家,深圳市迈力威环保科技有限公司可以了解一下。深圳市迈力威环保科技有限公司是一家专注于超纯水edl(电除盐)技术研发、制造、服务一体化的企业,成立于2012年,专业从事edl膜块技术研发与生产服务。目前公司共有资深...
点击进入详情页
本回答由经理提供
2012-06-15
展开全部
原值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询