找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机+pcf8591读通道0的不知道哪里错了,最大只能读127,大神帮忙看一下

查看数: 4908 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-14 22:06

正文摘要:

电路原理图如下: 单片机源程序: #include <reg52.h> #include <intrins.h>        //_nop_()延时头文件 typedef unsigned char uChar8; typedef unsigned int uIn ...

回复

ID:966079 发表于 2021-11-18 21:13
我刚刚也遇到了一样的问题,经过检查是在读取AD转换结果的函数中,发送了地址和读控制之后,不可以立刻进行读取,而是先WaitACK()等待应答(也就是楼主代码的162行和163行中间),等SDA总线拉高之后再开始读取,否则读回来最大值只会是01111111,而不是11111111,希望可以帮助到大家。
ID:782968 发表于 2021-2-9 16:38
我天我也遇到了一样的问题
ID:111634 发表于 2018-8-16 06:42
本帖最后由 zl2168 于 2018-8-17 22:05 编辑

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

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1书中电路和程序设计有详细说明,程序语句条条有注解。
ID:272144 发表于 2018-8-15 20:05
开发板上也是这样
ID:272144 发表于 2018-8-15 20:01
头很大啊  开发板上面也是这个情况

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

Powered by 单片机教程网

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