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

pic18f2523的RB5无法输出高电平

[复制链接]
2089|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huanyufei|  楼主 | 2013-11-23 21:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 huanyufei 于 2013-11-23 21:56 编辑

pic18f2523的RB5无法输出高电平,LVP已设置为0。
配置如下__CONFIG(5, STVREN_ON & LVP_OFF & XINST_OFF);

TRISB5 = 0;
RB5 = 1;
但RB5无法输出高电平。外围电路已检查,RB5与外围电路已断开,对GND电阻33M,与周边无短路现象。
手册里是这样描述的:如果不再使用单电源ICSP编程模式,则LVP位可以被清零。RB5/KBI1/PGM随后可作为数字I/O引脚RB5。LVP 位仅在使用标准高电压编程时可被置1或清零(VIHH 被施加到MCLR/VPP/RE3 引脚)。一旦LVP被禁止,只能使用标准高电压编程来对器件进行编程。
测试两块板问题都一样。其它管脚都正常。
请问问题出在哪里,是否还有那个地方需要配置?
沙发
yewuyi| | 2013-11-25 09:54 | 只看该作者
详细阅读数据手册。

使用特权

评论回复
板凳
Rain_King| | 2013-11-25 10:53 | 只看该作者
提示一下,数字和模拟问题,默认的是1:lol

使用特权

评论回复
地板
huanyufei|  楼主 | 2013-11-25 13:42 | 只看该作者
Rain_King 发表于 2013-11-25 10:53
提示一下,数字和模拟问题,默认的是1

手册中18f2523的RB5没有提到模拟量功能。
以下是手册中对CONFIG4L的描述:
bit 7 DEBUG:后台调试器使能位
1= 禁止后台调试器,RB6和RB7被配置为通用I/O引脚
0= 使能后台调试器,RB6和RB7专用于在线调试
bit 6 XINST:扩展指令集使能位
1= 使能指令集扩展和变址寻址模式
0= 禁止指令集扩展和变址寻址模式(传统模式)
bit 5-3 未实现:读为0
bit 2 LVP:单电源ICSP™使能位
1= 使能单电源ICSP
0= 禁止单电源ICSP
bit 1 未实现:读为0
bit 0 STVREN:堆栈满/下溢复位使能位
1= 堆栈满/下溢导致复位
0= 堆栈满/下溢不会导致复位

后面是手册中对单电源ICSP编程的描述:
LVP 配置位使能单电源ICSP 编程 (原来称为低电压
ICSP编程或LVP)。当使能单电源编程时,单片机可以
在无需对MCLR/VPP/RE3引脚施加高电压的情况下进行
编程,但RB5/KBI1/PGM引脚专用于控制程序模式选
择,不能再用作通用I/O引脚。

在配置中,我已将LVP设置为0。
另外关于模拟与数字设置的问题,RB5不是模拟通道,且配置位中我也将PBADEN设置为0;具体配置方式如下:
//#pragma config CONFIG3H = 0x81
__CONFIG(4, CCP2MX_PORTC & PBADEN_OFF & LPT1OSC_OFF & MCLRE_ON);

RB5始终无法输出高电平。但RB4是正常的!

使用特权

评论回复
5
Rain_King| | 2013-11-25 14:21 | 只看该作者
huanyufei 发表于 2013-11-25 13:42
手册中18f2523的RB5没有提到模拟量功能。
以下是手册中对CONFIG4L的描述:
bit 7 DEBUG:后台调试器使能 ...

好吧..我就把我pic18f25k22看了一下,没有去下载你型号的,以为差不多....:lol

使用特权

评论回复
6
huanyufei|  楼主 | 2016-7-8 15:31 | 只看该作者
yewuyi 发表于 2013-11-25 09:54
详细阅读数据手册。

下载程序后始终RB5无法输出高电平,但是在线调试模式下就可以。请问这是何原因?在线模式时LVP会强制为0,与配置为无关,这就是唯一的区别。但是在配置为已经将LVP配置为0了。

使用特权

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

本版积分规则

4

主题

19

帖子

0

粉丝