打印

PIC IO问题!!!

[复制链接]
5868|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
win2000_li|  楼主 | 2007-12-26 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟最近在搞一个设备!

在开发程序过程中发现一个问题。

我用的单片机是PIC18F4550,用RA2,RA3,RA5做为输入,数字信号。

但是就是程序不能正确采据到IO上的电平变化。

程序是没有问题的,换一个IO就可以,如RA4就可以,RC,RD都可以。

就是这三个IO不行,我也看过DATASHEET,没有什么特殊的要求啊!!!

RA2,RA3,RA5做为输出是完全正确的。

这下我很不解,请哪位朋友帮一下。

谢谢!!!!!
沙发
systemchip| | 2007-12-26 21:27 | 只看该作者

把数据手册第十章耐心看完:

何止这三个口,RA0,RA1,RE0,RE1,RE2,RB0,RB1,RB2......好多都不行,不信你试试。。。。

使用特权

评论回复
板凳
win2000_li|  楼主 | 2007-12-26 22:11 | 只看该作者

为什么呢??

受教了!

请指点!!为什么呢???

使用特权

评论回复
地板
hotpower| | 2007-12-26 22:12 | 只看该作者

没用过~~~不过相信PIC不会这么糟糕~~~

使用特权

评论回复
5
win2000_li|  楼主 | 2007-12-26 22:16 | 只看该作者

是不是这句话啊!!!

注: 
在上电复位时,RA5 和RA3:RA0 被配置为
模拟输入并读为0。RA4 被配置为数字输
入。

但是我在系统初始化时,我设置了的啊!!!
请systemchip请点啊!!!!

使用特权

评论回复
6
win2000_li|  楼主 | 2007-12-26 22:21 | 只看该作者

是不是这些都不能做为输入IO啊!!数字输入啊!!!

注: 
在上电复位时,默认情况下RB4:RB0 被配
置为模拟输入并读为0 ; RB7:RB5 被配置
为数字输入。
通过对配置位PBADEN (CONFIG3H<1>)
进行编程,在发生上电复位时还可将
RB4:RB0 配置为数字输入。


注: 在上电复位时,RE2:RE0 被配置为模拟输入。
注: 
在上电复位时,仅当主复位功能被禁止
时, RE3 才被使能为数字输入。



使用特权

评论回复
7
systemchip| | 2007-12-26 22:26 | 只看该作者

正确配置ADCON1和CMCON

使用特权

评论回复
8
hotpower| | 2007-12-26 22:31 | 只看该作者

俺也好象记得要关模拟功能等要求,好象系统有默认什么的~~~

使用特权

评论回复
9
win2000_li|  楼主 | 2007-12-26 22:42 | 只看该作者

你们的意思是!!!

你的意思是要在系统初始化时设置禁止这些复用IO的功能啊???

是这样吗???

谢谢systemchip指点!!

明天上班我来试一试。

使用特权

评论回复
10
龙飞天下| | 2007-12-26 22:48 | 只看该作者

没有过18系列

感觉还是配置有问题。

使用特权

评论回复
11
xieyuanbin| | 2007-12-27 07:52 | 只看该作者

并非18系列一种

所有PIC系列,大多在上电时AD,数字IO复用脚均默认为AD输入口,中档系列的作为输入时仍可以读出IO口的数字值,但不能配置为输入,高档的我用得不多,并不是很清楚,可能为避免数字输入影响到AD工作,也可以将数字输入关闭的。
中档的还有些脚,比如比较器等也需要关闭。

使用特权

评论回复
12
lifengtao| | 2007-12-27 09:02 | 只看该作者

初始化中 关闭AD

使用特权

评论回复
13
win2000_li|  楼主 | 2007-12-27 22:18 | 只看该作者

验证!!!

谢谢systemchip指点!!!

我今天把ADCON1和CMCON配置后,就可以了。

ADCON1 = 0xff;
CMCON = 0x07;

谢谢大家参与!!!

使用特权

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

本版积分规则

142

主题

718

帖子

1

粉丝