#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
求解??????
sbit led0 P1^0;
sbit led1 P1^1;
sbit led2 P1^2;
……依此类推到led7;然后分别对各个led送0或者1:
while(1)
{
led0=0;//每次只修改一个灯,对灯送0,看状态;然后修改程序送1,再看状态,灯是否能正常亮灭;
}
一周热门 更多>