关于单片机、keil、伟福,大神们请进

大家好,希望高手能解决在下的疑惑。我在keil环境下用伟福E6000/L仿真89c2051单片机.用P3口做输入(接有上拉电阻,硬件应该没问题),P1口作输出。程序如下:... 大家好,希望高手能解决在下的疑惑。我在keil环境下用伟福E6000/L仿真89c2051单片机.用P3口做输入(接有上拉电阻,硬件应该没问题),P1口作输出。程序如下:
#include <AT892051.h>
sbit F1 = P3^0;
sbit F2 = P3^1;
sbit F3 = P3^2;
sbit F4 = P3^3;
sbit F5 = P3^4;
sbit F6 = P3^5;
sbit V1 = P1^7;
sbit V2 = P1^6;
sbit V3 = P1^5;
sbit V4 = P1^4;
sbit V5 = P1^3;
sbit V6 = P1^2;
void main()
{
while(1)
{
V1 = ~F1;
V2 = ~F2;
V3 = ~F3;
V4 = ~F4;
V5 = ~F5;
V6 = ~F6;
}
}
当我将P3.1口即F2置0时,V2变为1。当我再将F3置0时,V3是变为1了。但是V3变1的同时,V2却变成了0,且这时F2依然是0没变(这时F2和V2都是0,和取反矛盾了)。(我将P1口接到发光二级管,且用keil的watch窗口观察的结果都是这样),感觉太奇怪了,不知是仿真器设置的问题还是什么原因。。下面有单步运行到 V3 = ~F3; 之后的截图,这一句代码同时改变了V2和V3的值:
希望哪位大神帮我解答疑惑,非常感谢!!!
展开
 我来答
czm0605010127
2011-12-03 · TA获得超过1164个赞
知道小有建树答主
回答量:637
采纳率:96%
帮助的人:37.1万
展开全部
是不是管脚电平有抖动啊
追问
不是,因为两管脚分别接地一段时间后,依然是V2=0,V3=1.
追答
P3一般都有第二功能,你看看P3口是不是有其他电路干扰
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式