完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我在使用mcp9701和mplab x ide v4.0.0读取温度的正确值时遇到困难。我使用pic16f1618,它是用于转换的模拟电压输入中的从读数,并将由主机(另一个pic16f1618)使用的摄氏温度(celcius)发送到di在摄氏温度下再次显示温度。我使用的是内置微振荡器的内部振荡器。我用AN2引脚连接温度传感器的输出,在16x2液晶显示器上得到的输出是当前的温度:236 236,其中236应该显示两次温度。请注意,有时它显示的是23 6 0,甚至0 0。在任何情况下,我们都可以保证温度不正确。主从通信在SPI中通信,并且这种通信经过测试能够正常工作。此外,LCD可以显示字符串,这就是为什么“Temperature:”被正确显示的原因。ADC的配置如下:RegisterADFM:1-->Right justificationADCS:000或111-->Fosc/2或FRC(都给出错误的输出)ADPREF:00-->Vref是vddCON0RegisterCHS:0010-->AN2Go_Done:0-->(在ReadValue函数中设置为1)ADON:1-->ADC被启用
ADCHandlerH.txt(1.57KB)-下载29次MasterC.txt(7.99KB)-下载41次SlaveC.txt(4.67KB)-下载36次 |
|
相关推荐
7个回答
|
|
由于某些原因,我不能发布问题的其余部分,所以我会在这里发表评论。所以假设这跟随原始帖子。每当温度被硬编码并且从主服务器发送到从服务器时,它就会正确显示。因此,如果我说:temp_celcius=35,那么输出将是:Temperatur。E:3535表明这一问题实际上是在ADC配置中!!!!当我在从机端使用调试器时,它就卡在这行代码上了:{}//一旦转换完成,这个位将被重置,这意味着转换永远不会完成(然而我得到236作为输出,这非常奇怪!)之所以将摄氏温度设为焦炭,是因为其范围在-10~125之间,可以适应于焦炭范围。根据数据表确定采集时间,设置为5微秒。温度传感器be vout=19.5T+400,其中vout按数据表以毫伏为单位。我们可以得出ADC输出为:Adc_value=(vout/vref)*1023,其中vref为5000mv,并且使用数学方法我为T求解。我预计温度大约为20摄氏度。请告诉我什么是错的,谢谢!注意:包含的文件末尾有H和C,表示它们是c或h文件,但我想包括文本文件。代码显然可以编译。还要注意,我没有包括LCD或SPI文件,因为它们实际上并不需要,因为它们必须工作。
|
|
|
|
撞上。
|
|
|
|
你有没有用伏特计测量9701上的输出引脚,并将数字插入等式4-1,以确保传感器正常工作?
|
|
|
|
只是回应咖啡评论家的陈述,测量从传感器到模拟引脚的电压。对照原始ADC值检查一下,如果检查出来,在将ADC值转换为温度的步骤中可能存在问题。或者用调试器逐个检查它们,或者在数学的每个步骤中打印出数值,看看出错在哪里。值得注意的是,236的输出值超出了签名字符的范围。236的十六进制是0xEC。这是-8,作为一个签署的8位值。也许有趣的是如何将整数转换为字符串?使用自定义短字符串函数而不是仅仅通过SaveTFF发送它的具体原因是什么?
|
|
|
|
谢谢你的输入。由于一些奇怪的原因,温度传感器上没有输出!所以电压出来是0V,我会再买一个温度。传感器。不管怎样,因为输出是0V(或者非常接近它),为什么输出显示温度总是236?
|
|
|
|
谢谢你的回复!非常有趣的观察,说- 20实际上是236的有符号8位值。我不知道我家的温度总是20度,但是大约是20+或-3。温度传感器坏了,所以我正在换一个新的。我已经缩小了范围,以获得在摄氏温度公式是正确的100%肯定,所以至少现在问题是一个非功能性温度传感器,虽然它似乎仍然奇怪,236每次显示,为什么这个值?我做了一个定制的短字符串函数,因为我不知道我可以使用SaveFF哈哈。它是不是包括了?我不知道如何查看头文件或C文件,所以我不知道它们中的内容或它们是如何实现的。我想这是一个很好的做法来创造这种习惯,但这是重新发明车轮哲学。我不介意重新设计它,因为在嵌入式环境中,头文件将不可用,或者公司不允许它被包含,但是我同意如果我能在这里使用它,并且它能工作,那么最好使用它。
|
|
|
|
在XC8用户指南中,SaveFF()在V1.45中的第410页中被记录,它告诉您需要包含哪一个头文件。(是的,它是STDIO。h)
|
|
|
|
只有小组成员才能发言,加入小组>>
5088 浏览 9 评论
1958 浏览 8 评论
1893 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3123 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2192 浏览 5 评论
641浏览 1评论
525浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
384浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
546浏览 0评论
451浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-6 07:36 , Processed in 1.216637 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号