打印

PIC16F886 灵异情况

[复制链接]
2918|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a250871207|  楼主 | 2011-9-19 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁遇到过如下情况:PORTC口 RC3,RC4用做IIC模拟   RC1用于PWM输出  现在的问题是 只要PWM输出  IIC就不正常  仅限PWM用PORTC口 用PORTB PORTA 都没有问题 PWM输出用的是T1定时器
沙发
asspeed| | 2011-9-19 11:26 | 只看该作者
错误越灵异就越低级。

使用特权

评论回复
板凳
a250871207|  楼主 | 2011-9-19 11:37 | 只看该作者
2# asspeed


是啊   我都找了两天了   两者之间都不干扰  都是直接对IO操作 都不是用的PORTC 用RC1  RC4这样写  这情况该怎么解释呢 老兄有经验  提点两句 谢谢了

使用特权

评论回复
地板
asspeed| | 2011-9-19 11:59 | 只看该作者
本来RC3,RC4就可以使用硬件I2C,为什么还要软件模拟?

使用特权

评论回复
5
yzzly| | 2011-9-19 12:16 | 只看该作者
本人也在学习使用16F886芯片,编译器把我给难住了,随仿真器配置的PICC编译器是V8.05版,根本不支持16F886芯片!楼主用的是哪个版本的PICC编译器?在哪里下载?使用的时间限制是如何解决的?

使用特权

评论回复
6
a250871207|  楼主 | 2011-9-19 12:26 | 只看该作者
4# asspeed
读取设备的协议不是太标准的IIC   需要有些许改动 所以模拟处理了

使用特权

评论回复
7
a250871207|  楼主 | 2011-9-19 12:27 | 只看该作者
5# yzzly
用版本高一些的 比如9.71  9.8 都有

使用特权

评论回复
8
yzzly| | 2011-9-19 12:50 | 只看该作者
楼主能否提供个下载地址及 PJ 的方法?谢谢!yzzhangliyang@163.com

使用特权

评论回复
9
a250871207|  楼主 | 2011-9-19 13:01 | 只看该作者
我都找不着地址了  这个好搜索的  百度一下就出来了  CSDN里好像有 你找找

使用特权

评论回复
10
bobo1957| | 2011-9-19 14:41 | 只看该作者
好好理解端口的 读-修改-写操作,我以前也遇到过这个问题,用万用表就能测出来问题所在

使用特权

评论回复
11
ldk060| | 2011-9-19 18:20 | 只看该作者
可以肯定的告诉你,某些地方是设置错误了
设置错误了,有两种可能:
    1.某些功能你没深刻理解。
    2.由于你的疏忽。

使用特权

评论回复
12
linqing171| | 2011-9-19 20:46 | 只看该作者
忘记了加上拉?被干扰了?

使用特权

评论回复
13
l4157| | 2011-9-20 08:51 | 只看该作者
我原来碰到过I/O动作异常,是模拟比较器没关引起的,后来研究才发现复位后默认是开的,呵呵,我估计你也是什么模块复用了这些管脚...

使用特权

评论回复
14
Light_David| | 2011-9-23 00:40 | 只看该作者
本帖最后由 Light_David 于 2011-9-23 00:41 编辑

嘿嘿,这么早就结贴啦:D,
你使用RC3,4口做I2C模拟,是把对应的PORTC3/4清零,然后对trisc3/4置1 or 0来完成高低电平的吧?
(只有这样才能真正做到‘线与’),
那刚好你又使用RC1口线来模拟PWM,(其实此时你用C口不管做什么都会产生你说的灵异情况)
原因是 ‘读-修改-写’ 的问题!
--当你PWM程序对RC1置1,清0时;其实会对整个C口读回-修改后-再写入,也就是会将RC3,4的电平也读回然后再写入! 呵呵,若此时用于模拟I2C的RC3/4在高电平状态,被读回并再次写入了RC3/4,你一开始初始化RC3/4为0的状态被破坏,这时使用TRISC3/4 置1和清0 来控制I2C电平的方法就失效了....

只要想办法在你的PWM模拟程序中对RC1置1和清0时 保证PORTC3/4都会写入0,就OK了。。
其实此时对C口的任一引脚做电平改变时,都要注意到这个问题;
此乃 PIC16系列芯片模拟I2C最容易搞出问题注意的地方,只有经历了,才能真正明白‘读-修改-写’,

使用特权

评论回复
15
dogglove| | 2011-9-23 22:13 | 只看该作者
回答的多啊,是经验之谈

使用特权

评论回复
16
xaq79| | 2011-9-30 15:27 | 只看该作者
看来是个新手,
肯定是哪里设置不当,最大可能性是读-修改-写操作

使用特权

评论回复
17
weiyongwang| | 2014-7-20 14:27 | 只看该作者
我用MPLAB 8.6 PICC9.5编译时老师显示
Error[922]   : chip "16F886" not present in chipinfo file "d:\Program Files\HI-TECH Software\PICC\9.50\dat\picc.ini"
错误,请老师指点。谢谢

使用特权

评论回复
18
weiyongwang| | 2014-7-20 14:32 | 只看该作者
我用MPLAB 8.6 PICC9.5编译时老是显示
Error[922]   : chip "16F886" not present in chipinfo file "d:\Program Files\HI-TECH Software\PICC\9.50\dat\picc.ini"
错误,请老师指点。谢谢

使用特权

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

本版积分规则

6

主题

107

帖子

1

粉丝