标题: 利用 PCF8951来AD转换,串口接受数据只能在hex模式下收到00 [打印本页]

作者: Girin    时间: 2017-5-12 21:47
标题: 利用 PCF8951来AD转换,串口接受数据只能在hex模式下收到00
求助!
在写入单片机AD转换程序后(程序来自http://www.51hei.com/bbs/dpj-33068-1.html),打开串口,只有在HEX模式下才可以收到一串00,文本模式则不显示。我在通道CH3的排针上插入信号源后(电压信号,0~5V),串口接收区依然不显示数据,只有00。而且程序里设定波特率为9600,就算改成别的波特率依然可以显示00。这是为什么呢?
如图:




此外还有些问题。

像该电路图中的AIN0,AIN1,AIN2均接入别的信号源。如果我在J3排针的1,2,3接入别的信号源,那会显示什么呢??它们之间会互相干扰吗?

希望能得到大家的解答,非常感谢!


作者: zl2168    时间: 2017-5-13 08:32
本帖最后由 zl2168 于 2017-5-13 15:52 编辑

给你个参考案例。实例85  PCF8591 I2C串行A-D(1602显示)
Proteus仿真一下,确认有效。
实例85 PCF8591 I2C串行A-D.rar (57.96 KB, 下载次数: 39)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

作者: yzwzfyz    时间: 2017-5-13 12:54
你发的什么数据?如何证明是未收到?或许你发的是控制符呢?你发ASCII码的可见字符试试!
作者: Girin    时间: 2017-5-13 16:02
yzwzfyz 发表于 2017-5-13 12:54
你发的什么数据?如何证明是未收到?或许你发的是控制符呢?你发ASCII码的可见字符试试!

发的是经过PCF8591  AD转换过以后的数据。就算我改成通道AIN2(与可变电阻W2相连的电压信号),也没有数据产生。一个月以前我有程序实现过AD转换并且串口发送的功能,但是现在不知道为什么就不能了?查了很多程序,一直改,都没有用。
作者: Girin    时间: 2017-5-15 14:33
zl2168 发表于 2017-5-13 08:32
给你个参考案例。实例85  PCF8591 I2C串行A-D(1602显示)
先Proteus仿真一下,确认有效。

好的谢谢谢谢!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1