找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

P0口输出的奇怪问题

[复制链接]
admin 发表于 2012-9-2 19:28:41 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一个很简单的程序,实现流水灯以间隔1s的速度先左移后右移。

#include <reg51.h>

#define LED P0

void delay(int);

main()
{
int i;
LED = 0xfe;
while(1)
{
for(i=0;i<7;i++)
{
delay(1000);
LED = (LED<<1)|0x01;
}
for(i=0;i<7;i++)
{
delay(1000);
LED = (LED>>1)|0x80;
}
}
}

void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<124;j++);
}

debug时使用Logic Analyzer Window查看波形,发现使用P0(#define LED P0)为输出时,波形不正常,Parallel Port0显示P0和Pins的数据不一样,而把输出口换成其他端口例如是P1(#define LED P1)时时序正常,是不是作为输出时P0需要特别设置的,请高手解析一下这个现象,最好从原理上分析一下P0与其他三个端口在输入/输出的区别,谢谢
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-29 06:45 , Processed in 0.050631 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表