打印

关于PIC16F877A的RA4引脚问题

[复制链接]
6870|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 fengyao 于 2013-4-5 16:22 编辑

    想用PORTA端口作一个普通IO口,除了RA4以外的端口都可以正常工作,程序中的RA3引脚可以正常输出但RA4不行,请各位大侠分析一下程序那里没有配置好:
    CMCON=0x07;
    CVRCON=0x00;
    ADCON1=0x07;
    TRISA=0x00;
    while(1)
    {
        RA4=0;RA3=0;
        delay(20);
        RA4=1;RA3=1;
        delay(20);
    }
(RA4加了一个10K的上拉电阻,没加之前一直是低电平,加了之后一直是高电平,不能拉低了)




沙发
电子小强| | 2013-4-4 22:35 | 只看该作者
好复杂的说

使用特权

评论回复
板凳
ms| | 2013-4-4 22:55 | 只看该作者
ansel 还没有设置呀

使用特权

评论回复
地板
fengyao|  楼主 | 2013-4-5 00:31 | 只看该作者
ms 发表于 2013-4-4 22:55
ansel 还没有设置呀

能说的详细一点吗?数据手册上好像没有看到有这个寄存器啊??

使用特权

评论回复
5
youss| | 2013-4-5 10:57 | 只看该作者
本帖最后由 youss 于 2013-4-5 10:58 编辑

看手册呵:

877a.JPG (25.05 KB )

877a.JPG

使用特权

评论回复
6
fengyao|  楼主 | 2013-4-5 11:53 | 只看该作者
youss 发表于 2013-4-5 10:57
看手册呵:

我接了上拉电阻,可是就一直是高电平,写0也无法拉低了,能解释一下是怎么一回事吗?我应该怎么接才能让他正常输出高电平或者低电平?

使用特权

评论回复
7
klz198327| | 2013-4-5 20:56 | 只看该作者
RA4本来就没有高电平,只有低电平驱动能力,
不要对端口连续两次读写操作,你去查看下端口的读写要求。
建议设个输出缓存寄存器,改好值后再送到A口

使用特权

评论回复
8
李宾| | 2013-4-5 21:18 | 只看该作者
STATUSbits.RP0=0;
STATUSbits.RP1=0;//选择BANK0
PORTA=0;   //清A口数据
STATUSbits.RP0=1;
STATUSbits.RP1=0;//选择BANK1
ADCON=0X06;  //设置相关引脚为数字口
TRISA=0XCF;  //RA<3:0>为输入,RA<4:5>为输出。

使用特权

评论回复
9
李宾| | 2013-4-5 21:20 | 只看该作者
正确选择BANK:)

使用特权

评论回复
10
fengyao|  楼主 | 2013-4-5 21:24 | 只看该作者
klz198327 发表于 2013-4-5 20:56
RA4本来就没有高电平,只有低电平驱动能力,
不要对端口连续两次读写操作,你去查看下端口的读写要求。
建 ...

谢谢了!我用示波器测了一下,果然是这样!不过能不能解释一下具体的读写要求?感激不尽……我查了半天也没有弄清楚……本来想用PORTA作软件模拟SPI的,看来只好跳线了……感觉这个RA4口好坑啊!

使用特权

评论回复
11
fengyao|  楼主 | 2013-4-5 21:30 | 只看该作者
李宾 发表于 2013-4-5 21:18
STATUSbits.RP0=0;
STATUSbits.RP1=0;//选择BANK0
PORTA=0;   //清A口数据

我想问一下,这样写的原理是什么?选择BANK对PORTA有什么影响吗?我初学PIC,好多地方都不懂,能不能科普一下??跪求高人指点啊!!

使用特权

评论回复
12
fengyao|  楼主 | 2013-4-5 21:43 | 只看该作者
李宾 发表于 2013-4-5 21:18
STATUSbits.RP0=0;
STATUSbits.RP1=0;//选择BANK0
PORTA=0;   //清A口数据

终于可以了!!!太感谢了!虽然不知道为什么这样写就成功了……

使用特权

评论回复
13
李宾| | 2013-4-5 21:54 | 只看该作者
呵呵,这是微芯公司给的DATASHEET上的A口初始化的例子程序。

使用特权

评论回复
14
fengyao|  楼主 | 2013-4-5 22:06 | 只看该作者
原来如此……数据手册真是好东西,可惜英文水平有限,阅读起来有点吃力

使用特权

评论回复
15
youss| | 2013-4-6 07:02 | 只看该作者
877没中文资料,改用pic16f887吧,有详细中文资料,特别是AD通道选择比877灵活,关键是价格还便宜!

使用特权

评论回复
16
sdwys| | 2013-4-8 09:03 | 只看该作者
加个上拉电阻就你可以了。

使用特权

评论回复
17
luochangqing112| | 2018-6-12 12:12 | 只看该作者
收藏

使用特权

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

本版积分规则

4

主题

15

帖子

0

粉丝