11648|8

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

有趣的程序 [复制链接]

#include<reg52.h> sbit P0_1=P0^1; main() { P0_1=1; } 为什么仿真P0_1脚一直为高电平。 照程序来,执行P0_1=1后应该为低电平了啊!!
此帖出自单片机论坛

最新回复

很巧,你这个程序下到单片机里去不会跑飞 因为没有申请全局变量,所以SP为7。这时堆栈中的内容为0,RET时就会回到地址0去。 但是如果你申请一个变量并给它赋初值,那么就可能跑飞了,例如 #include<reg52.h> sbit P0_1=P0^1; unsigned int x=0x5144;   //吾要试试 main() {    P0_1=1; } 那么在main返回时,应该就跳到0x4451那个地址去了........  详情 回复 发表于 2007-11-29 09:59
点赞 关注
 

回复
举报

81

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复:有趣的程序

执行完后,没有指令修改P0.1的内容,当然为1了
此帖出自单片机论坛
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复:有趣的程序

"照程序来,执行P0_1=1后应该为低电平了啊!!"
此帖出自单片机论坛
 
 
 

回复

446

帖子

0

TA的资源

裸片初长成(高级)

4
 

回复:有趣的程序

哈哈,楼主的程序最后还要跑飞了~~~后面应该加个while(1);这就好比一个变量X,给它赋值之后它就不再变了,例如X=3;这之后X都是3了,只要你不改它。不过,51的IO口有个特点就是准双响的,你输出1,在读回来是0倒是有可能的,可能外面 的引脚把它拉低了。
此帖出自单片机论坛
 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复:有趣的程序

Keil对main()做了特殊处理,里面已经是死循环了,飞不了的 只会一直执行P0_1=1;
此帖出自单片机论坛
 
 
 

回复

446

帖子

0

TA的资源

裸片初长成(高级)

6
 

回复:有趣的程序

那要看什么了,keil CARM是从main返回后就死循环了 但是C51的不是,它在main函数调用时,并不是用call,而是LJMP,然后在main函数的末尾来个RET,这时堆栈内容是未知的,就不知道RET到哪里去了。如果刚好前面两个字节是0还好,就RET到开始去了, 如果不是,那肯定就飞拉~~~~
此帖出自单片机论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

7
 

回复:有趣的程序

执行P0_1 = 1;对应的管脚为高电平;执行P0_1 = 0对应管脚为低电平. 一般可以这么理解,51的io口是绝对低电平,相对高电平. 如将P0_0置为1,P0_1置为0,并将P0_0 与 P0_1脚连接起来,结果两个管脚均为低电平.
此帖出自单片机论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复:有趣的程序

如果把程序直接烧到51会不会跑飞啊???? 各位大哥指点一下
此帖出自单片机论坛
 
 
 

回复

446

帖子

0

TA的资源

裸片初长成(高级)

9
 

回复:有趣的程序

很巧,你这个程序下到单片机里去不会跑飞 因为没有申请全局变量,所以SP为7。这时堆栈中的内容为0,RET时就会回到地址0去。 但是如果你申请一个变量并给它赋初值,那么就可能跑飞了,例如 #include<reg52.h> sbit P0_1=P0^1; unsigned int x=0x5144; //吾要试试 main() { P0_1=1; } 那么在main返回时,应该就跳到0x4451那个地址去了........
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表