OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5812|回复: 4

最近用PCF8591做ADC模数转换,在做光敏电阻电压测量时遇到问题?

[复制链接]

5

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2019-5-18
在线时间
101 小时
发表于 2019-7-31 15:46:14 | 显示全部楼层 |阅读模式
2金钱
当我用手机灯光照光敏电阻后,显示的数据反而变小了,我搞不懂为什么不是数据变大呢?

unsigned char Pcf8591_ReadAD()
{
        unsigned char dat;
        I2C_Start();              // I2C启动启动信号
        I2C_WriteByte(0x90);      // PCF8591器件地址
        I2C_WaitAck();            // 等待应答
        I2C_WriteByte(0x40);          // 选择AIN0
        I2C_WaitAck();
        I2C_Start();
        I2C_WriteByte(0x91);      // 读取数据命令
        I2C_WaitAck();            // 等待应答
        dat = I2C_ReadByte();     // 读数据
        I2C_WaitAck();
        I2C_Stop();               // I2C停止信号
        return dat;
}

void main()
{
        unsigned char dat;       
        while(1)
        {
                dat = Pcf8591_ReadAD();  // 读取ad值
                display(0,dat/100);      // 数据在数码管上显示
                display(1,dat%100/10);
                display(2,dat%10);
        }
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2019-8-1 02:06:18 | 显示全部楼层
看电路,看传感器特性说明,不是你想当然的。
回复

使用道具 举报

5

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2019-5-18
在线时间
101 小时
 楼主| 发表于 2019-8-1 11:43:18 | 显示全部楼层
正点原子 发表于 2019-8-1 02:06
看电路,看传感器特性说明,不是你想当然的。

看这些了,但是没有关于这个的解释啊
回复

使用道具 举报

5

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2019-5-18
在线时间
101 小时
 楼主| 发表于 2019-10-7 17:49:54 | 显示全部楼层
把读取的数据按下面方式转换一下,就可以了
dat = ((int)Pcf8591_ReadAD())/51.0 * 100;    // 读取ad值
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-11-29 16:36:18 | 显示全部楼层
帮顶                              
成功没有捷径
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 05:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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