关于pic16f87x的奇怪问题,超级迷茫

2019-03-25 19:54发布

程序很简单
RB3 = 1;
RA4 = 1;   //开灯
RA3 = 1;
RA2 = 1;
RA1 = 1;
RA4 = 1;
RA3 = 1;

奇怪现象出现了:
其他管脚置一
RA4就被清零,
但是其他管脚之间却不影响
RA4还能再打开,但是其他管脚置一,还是再次被清零

RA4上拉,管脚输入输出设置,io设置都没有问题。。。。。
用的是picmate2004仿真,仿真环境是mplab8.02

很迷茫。。。。。。。。。。。。。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
bcaiyo
1楼-- · 2019-03-26 01:16
出在读-修改-写的问题上了.
RA4输出是集电极开路的.最好不要输出高电平.要不读A端口时读入的总是低.不过外电路设计好也可以做到没有问题.
QQ51
2楼-- · 2019-03-26 06:08
但是还是不知道为什么其他口会影响RA4的输出呢?
呱呱
3楼-- · 2019-03-26 12:00
 精彩回答 2  元偷偷看……
lyjian1
4楼-- · 2019-03-26 14:13
改用逻辑指令来置位或清零试试。
如果RA4输出的高电平外面拉低了,你用位操作指令操作其IO时就会把0写入RA4(PIC的读-修改-写指令的弊端,51就没有这样的问题)。
关于这点,PIC的规格书上有很清楚的描述。
lyjian1
5楼-- · 2019-03-26 18:34
重新看了一下PIC的指令,逻辑指令也是读-修改-写指令,还是会有同样的问题。
lyjian1
6楼-- · 2019-03-27 00:30
重新看了一下PIC的指令,逻辑指令也是读-修改-写指令,还是会有同样的问题。

一周热门 更多>