打印
[PIC®/AVR®/dsPIC®产品]

如何使复位口RA3(MCLR/Vpp)作为通用IO口?

[复制链接]
7542|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wzx2088|  楼主 | 2013-8-15 12:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的芯片是PIC16F1509,在配置复位口RA3(MCLR/Vpp)作为通用IO口时出了问题。
根据用户指南:在config时,使MCLR_OFF、LVP_OFF即可,但是我这样配置了之后,RA3口还是不能作为IO口!?
另外要说明的是:我用的是PICkit3编程器,PIC16F1509可以高压编程和低压编程,配置了LVP_OFF(低压编程禁止),那么使用的编程方式就是高压编程!
大家有没有遇过同样的问题?
沙发
l4157| | 2013-8-15 13:13 | 只看该作者
v如果是用来做OUT,那么PCB肯定会有问题...

使用特权

评论回复
板凳
yewuyi| | 2013-8-15 13:32 | 只看该作者
只能做输入口,不能输出

使用特权

评论回复
地板
wzx2088|  楼主 | 2013-8-15 14:10 | 只看该作者
yewuyi 发表于 2013-8-15 13:32
只能做输入口,不能输出

当输入口来使用——用来判断按键是否按下!      刚才又发现了一个现象——RA3(MCLR)口用金属碰一下,就会复位!!

使用特权

评论回复
5
yewuyi| | 2013-8-15 15:51 | 只看该作者
wzx2088 发表于 2013-8-15 14:10
当输入口来使用——用来判断按键是否按下!      刚才又发现了一个现象——RA3(MCLR)口用金属碰一下,就 ...

1、人体的ESD可能会导致芯片瞬间高压复位
2、人体等效于一个大电容,等使用手捏住金属去碰复位脚时,会导致该引脚因为瞬间接入一个电容,而拉低其上的电位造成复位。

使用特权

评论回复
6
wzx2088|  楼主 | 2013-8-16 10:29 | 只看该作者
yewuyi 发表于 2013-8-15 15:51
1、人体的ESD可能会导致芯片瞬间高压复位
2、人体等效于一个大电容,等使用手捏住金属去碰复位脚时,会导 ...

嗯的!!在MCLR脚接一个接地的104电容,再用金属去碰MCLR脚,就不会复位了。但是没有当输入口的问题还是没法解决!!!

使用特权

评论回复
7
zhaoleiperfect| | 2015-2-4 09:11 | 只看该作者
问题后来怎么解决了?

使用特权

评论回复
8
huarana| | 2015-2-5 16:34 | 只看该作者
MCLR脚首先要配置成内部复位。然后MCLR脚要外接上拉电阻

使用特权

评论回复
9
沚小逸| | 2016-10-14 13:17 | 只看该作者
wzx2088 发表于 2013-8-16 10:29
嗯的!!在MCLR脚接一个接地的104电容,再用金属去碰MCLR脚,就不会复位了。但是没有当输入口的问题还是 ...

请问楼主,你的这个问题解决了吗。我现在也遇到了相同的问题。求解答。

使用特权

评论回复
10
zhenglm43258904| | 2017-1-12 18:58 | 只看该作者
#pragma config MCLRE = OFF      // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD)
还是不行呢?我是16F690,也遇到这个问题,引脚内部被上拉高电平,我外面有接上拉10k,IO口还串一个1k

使用特权

评论回复
11
zhenglm43258904| | 2017-1-12 19:53 | 只看该作者
我的问题解决了,原因是电路板的电源由编程器提供,也就是Vpp串进来了:
#include <xc.h>
#define uchar unsigned char
#define uint unsigned int

void main(void)
{
    ANSEL = 0x00;
    ANSELH = 0x00;
    WPUA = 0x00;
    TRISA = 0xff;
    TRISC = 0x00;
   
    uint i;
    i = PORTA;
    if((i & 0x08) == 0x08)
        {
        PORTC = 0x01;
        }
    else
        {
        PORTC = 0x08;
        }
    return;
}

使用特权

评论回复
12
WangWangKing| | 2019-3-6 09:44 | 只看该作者
yewuyi 发表于 2013-8-15 15:51
1、人体的ESD可能会导致芯片瞬间高压复位
2、人体等效于一个大电容,等使用手捏住金属去碰复位脚时,会导 ...

我禁止了MCLR外部复位功能。也出现了复位问题,最后发现用手碰MCLR引脚,会出现复位现象!很困惑

使用特权

评论回复
13
CoolSilicon| | 2019-3-7 09:09 | 只看该作者
11楼是用的PICKit3工具供电, 你不会也是一样的是连着工具, 或者进的仿真模式吧?

写个简单程序, RA3输入, 另外一个IO口输出 RA3当前的值;
然后烧录,拔掉烧录工具, 外部独立给电, 再试试看..

使用特权

评论回复
14
externally| | 2019-3-8 15:51 | 只看该作者
复位引脚能不用尽量不要用吧,优先用其他的IO口

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

71

帖子

0

粉丝