找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机+PCF8591 AD转换的一些问题

查看数: 2250 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-23 21:49

正文摘要:

各位老师好,我是一个小白,这里用PCF8591(八位ad转换)和STC8592来进行的模拟转换,但是在串口接受数据的时候呢,显示数值一直是255,我发现即使将读地址换成别的地址也是255(在模拟信号输出端口为AIN0的情况下, ...

回复

ID:508775 发表于 2019-4-24 09:28
HC6800-ES-V2.0 发表于 2019-4-24 08:17
第一:你的8591转换的是什么AD呢?接了几个?——8591可以接四个。
第二:这段程序:
unchar pcf8591_adc ...

您说的对,0x90是读取,那么为什么要写0x
91呢
ID:508775 发表于 2019-4-24 09:07
HC6800-ES-V2.0 发表于 2019-4-24 08:17
第一:你的8591转换的是什么AD呢?接了几个?——8591可以接四个。
第二:这段程序:
unchar pcf8591_adc ...

转换的是光强,接了一个,我这部分函数其实并没有调用,因为之前写的时候照着写了,但是后面在使用的时候还是自己在主函数里写了一遍,
ID:508775 发表于 2019-4-24 08:41
飞机载白菜 发表于 2019-4-23 22:04
你的ADC通信是不是没有成功,没有接收到数据

如果不对的话要如何调试呢
ID:508775 发表于 2019-4-24 08:31
飞机载白菜 发表于 2019-4-23 22:04
你的ADC通信是不是没有成功,没有接收到数据

一直收到255对于八位来说是没有成功吗,那是我的通信协议的问题吗。
ID:164602 发表于 2019-4-24 08:17
第一:你的8591转换的是什么AD呢?接了几个?——8591可以接四个。
第二:这段程序:
unchar pcf8591_adc()
{
        unchar temp;
        i2c_start();
        i2c_send(0x91);
        i2c_waitack();
        temp=i2c_receive();
        i2c_ack(1);
        i2c_stop();
        return temp;
}
不应该是0x91吧,应该是0x90,8591的地址
ID:231669 发表于 2019-4-23 22:04
你的ADC通信是不是没有成功,没有接收到数据

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表