STC89C58单片机P2口莫名其妙的问题;求解

2019-07-15 17:37发布

#include<reg52.h>
void main()
{
        P1=0x00;
        P2=0x00;
        P1=0x55;
        while(1);

}
以上用破解后的keil3 软件编译通过;P1口接LED,结果的等全亮;怎么调试就发现P2=0x00;这语句不运行;P2是高8位地址线;更换单片机后还是不运行;我总结为
1,不是单片机问题;2,P2口操作不运行
以下是分别调试程序对应hex
P1=0x00;P2=x00;P1=0x55;while(1);
000000   02 00 03 78 7F E4 F6 D8 FD 75 81 07 02 00 0F E4
000010   F5 90 F5 A0 75 90 55 80 FE

P1=0x00;while(1);P1=0x55;while(1);
000000   02 00 03 78 7F E4 F6 D8 FD 75 81 07 02 00 0F E4
000010   F5 90 80 FE
P1=0x00;p1=0x55;while(1);
000000   02 00 03 78 7F E4 F6 D8 FD 75 81 07 02 00 0F E4
000010   F5 90 75 90 55 80 FE

P1=0x00;p2=0xff;P1=0x55;while(1);//运行达到效果
000000   02 00 03 78 7F E4 F6 D8 FD 75 81 07 02 00 0F E4
000010   F5 90 75 A0 FF 75 90 55 80 FE

求解??????

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
dianzifashaosyy
1楼-- · 2019-07-16 18:38
武力戡乱 发表于 2015-4-2 01:01
P2是高8位地址线;
这句话你说明白了!你想做什么?用地址数据线吗?

我怀疑是这款单片机本身问题!
武力戡乱
2楼-- · 2019-07-16 21:08
dianzifashaosyy 发表于 2015-4-3 18:45
我怀疑是这款单片机本身问题!

哦,我还以为你要用地址数据总线呢。
欢迎来Proteus板块学习
http://bbs.elecfans.com/forum.ph ... p;extra=#pid3495958
这是我写第一个开发板。里面有地址数据总线的用法。
dianzifashaosyy
3楼-- · 2019-07-17 00:58
武力戡乱 发表于 2015-4-3 20:41
哦,我还以为你要用地址数据总线呢。
欢迎来Proteus板块学习
http://bbs.elecfans.com/forum.php?mod=vie ...

谢谢!!!!!!!!!
bx2008
4楼-- · 2019-07-17 03:21
单片机IO口供电能力有限。你确定P1与P2连接一样,比如P1加三极管P2没有加,如果是在开发版上可能就是这种。
dianzifashaosyy
5楼-- · 2019-07-17 03:54
 精彩回答 2  元偷偷看……
bx2008
6楼-- · 2019-07-17 05:33
dianzifashaosyy 发表于 2015-4-5 10:04
您的分析很有道理!我用的就是开发板;P1=0x00;运行了,P2=0x00;程序就停了,后面都不运行了,今天又更换了电源试了还是不行!悲剧了!

原理图可以给我一份吗,我也入手单片机不久,我看一下。

一周热门 更多>