完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
新的PIC和无法计算出我做错了什么。PIC16F67在VDD上具有+5,在AN1上(来自分压器)中的ADC,以及在RC3和RC4上的电阻器/ LED。下面的简单代码只执行ADC,与阈值相比较,根据电压点亮红色或绿色的LED。奇怪的是,AN1输出4.42伏,它从分压器中取出2.97伏,当在引脚处测量时,将其网到3.5伏。我必须假设我没有正确配置。此外,当供电,没有发生,直到我联系MCLR到VDD。我想把配置设置为MCLRE_OFF时,引脚被降级为输入端口。仍然在学习,所以请解释我做错了什么。谢谢
|
|
相关推荐
11个回答
|
|
|
如果你不把MCLR拉高,它是浮动的吗?不要让它浮动,它可以浮动到程序电压,它看起来像一个复位。你用什么程序员?您确定它实际上是在编程配置位吗?由于PIC没有“LAT”寄存器,所以这段代码不安全,如果您在同一端口上快速更改多个管脚,则可能会遇到RMW(读-修改-写)问题。请参阅:http://www. xARGS.com /pIC/C-FAQ.html?确保不启用门上的弱拖缆。应该在电源启动时自动禁用它们,但是清除WPUA寄存器,并在OPTION寄存器中设置RAPU位不会造成损害。
|
|
|
|
|
|
谢谢你的回复。不过仍然有问题…我修改的是:1-通过创建一个影子寄存器来解决rmw问题,正如您发送的链接中建议的那样-添加代码来清除WPUA,并在OP._REG3中设置位7-添加代码来专门设置TRISA1和清除PORTC14-关闭比较器(CM2:CM0 000),用于编程,我使用了CanaKit UK1300,我确信它设置了配置位。分压器有R1-10k和R2=3.3k,产生2.97Vout,12V输入。测量的输出是正确的。和以前一样,当我加电时,PIC在AN1上输出4.45v。考虑到AN1上的所有功能,我猜想,我把它配置为模拟输入的尝试被其他功能所推翻。但是,数据表中列出的唯一输出模式是RA1。我已经:-ADCON0 CHS2:CHS0设置为001(将AN1设置为ADC的输入)-ANSEL ANS1设置为1(将AN1设置为模拟输入)-TRISA1设置为1(AN1设置为输入)-PORTA1设置为0(不确定我为什么这样做……如果设置为1,那么相同的结果)我知道我一定丢失了什么东西,因为基于上面的配置,我将会丢失一些东西D预计引脚设置为输入,并不能推出4 + V.新代码…
|
|
|
|
|
|
你使用预建的演示板吗?如果是,它可能与RA1还有其他连接。而且,它是一个编程引脚,所以如果使用CanaKit的ICSP头,必须断开CanaKit UK1300的连接。
|
|
|
|
|
|
谢谢,但是它放在我接线的一个面包板上,没有别的东西连接到那个别针上。此外,我不做任何电路编程的卡纳基特没有连接到面包板以任何方式。我对比较器没有经验。即使在这个项目中没有使用它,我必须配置它,这样它就不会干扰?AN1也是CIN,并且我看到,取决于CMCON的设置,CIN可以是模拟的或数字的。我有可能改变CMCon吗?
|
|
|
|
|
|
您的CMCON设置看起来不错。配置中启用/MCLR,并将其绑定到低电平以保持PIC处于复位状态。断开电位分压器中的上电阻。如果你仍然在RA1上得到一个PIC保持复位的电压,引脚保护器已经损坏,你需要更换PIC+可能需要修改你的电路,以防止过大的电压或电流被施加到引脚上。
|
|
|
|
|
|
谢谢。我重新配置来设置MCLR并将引脚连接到地上。当我加电时,在AN1上没有杂散电压(只有分压器的2.99),但是我在PORTC上也没有得到LED的输出。如果我用vdd把MCLR拉高,LED灯会亮,但AN1上的神秘电压会回来。不知道上电阻是什么意思。分压器12伏到10K。10k连接到接地的3.3k,我从两个电阻相遇的地方取出ADC电压。要我拉3.3K吗?
|
|
|
|
|
|
当/MCLR保持低时电压消失,您可以确信RA1管脚没有被吹断。然而,这些结果与另一个PIC的模拟输入是一致的,包括ADC输入多路复用器中的发送门。为了消除这种可能性,要么将PIC移到另一个电路板上,要么断开除Vdd和Vss连接之外的所有连接,保持/MCLR低,然后用万用表和10K电阻器作为负载绕过其他I/O引脚,看看是否有卡高。他们应该都是HI-Z。
|
|
|
|
|
|
如果引脚电压超过Vcc,则过电压会出现在其他引脚上。如果过电压足够高和足够长,则PIC可能损坏。
|
|
|
|
|
|
好,移动PIC,拉低MCLR,连接VDD和VSS只。当我测试每个引脚的电压(与我的DMM的正探头串联10K),我得到大约60毫伏在每个引脚。阅读时波动,只有几毫伏摆动。你认为照片可以吗?我想下一个是原理图。会把一个放在一起以防万一。
|
|
|
|
|
|
10K应该是与DMM并联的Vss的负载,以便为I/O引脚指定的高达1uA的泄漏电流不会导致误导的DMM读数。然而,每个引脚上只有大约60mv的电阻意味着它们没有卡高,所以必须进行其他操作,并且te PIC可能没问题。除了Vdd&Vss之外,没有其他连接,从RA1到Vss设置一个10K的电阻,拉/MCLR高,以便代码运行并检查vo。对RA1的再次攻击。当然应该是零。如果不是很奇怪的事情发生,是的,一个原理图会有帮助。
|
|
|
|
|
|
你的问题解决了吗?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:46 , Processed in 1.060135 second(s), Total 94, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2460