数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1955|回复: 7

[C51] 萌新求助,用74HC4067做开关量采集的问题!

[复制链接]
发表于 2022-4-20 15:19:16 | 显示全部楼层 |阅读模式
用74HC4067做了一个采集外部开关信号的板子,原理图及对应采集程序如下。但是实际跑起来显示的结果不对,请大佬们帮忙看看。


上图的16路开关量采集是相同的电路,当外部开关导通后,IN0有外部开关输入的高电平时,光耦的4脚则为低电平。
S0~S3选通对应引脚后,IO口检测此引脚的电平。
预期中哪一个引脚的开关导通,返回的16位数x对应的数位则是1,否则是0.
但是实际上程序跑起来输出的结果不是预期的,实在是不明白哪的问题。不知是电路设计问题还是程序的问题,请大佬指点!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 2022-4-20 16:42:10 | 显示全部楼层
切换后加10us的延时再读取电平。
手册有写传播延时,从切换到输出大概需要110ns,加上其他因素影响就算200ns,也就是5M的频率,
单片机运行速度比这个快多了,所以要加延时。
条件允许的话延时越长越好,切换频率越低越好。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2022-4-20 16:42:30 | 显示全部楼层
先检测电路,再看程序,看着很简单的东西啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 19:28:48 | 显示全部楼层
crazy0qwer 发表于 2022-4-20 16:42
切换后加10us的延时再读取电平。
手册有写传播延时,从切换到输出大概需要110ns,加上其他因素影响就算200n ...

多谢大佬指点,加上延时就好了,结果就是想要的
回复 支持 反对

使用道具 举报

发表于 2022-4-21 08:34:46 | 显示全部楼层
以前做这玩意的时候也是被延时坑了会。。。但是弄过lcd知道可能是时序上不对。。所以就尝试加了延时。。。很多地方都类似比如单片机adc切换后读数都要延时。。
回复 支持 反对

使用道具 举报

发表于 2022-4-23 15:22:59 | 显示全部楼层
延时后还要加一个稳定期
回复 支持 反对

使用道具 举报

发表于 2022-4-26 16:21:46 | 显示全部楼层
时序不匹配造成的   
回复 支持 反对

使用道具 举报

发表于 2022-4-27 09:12:21 | 显示全部楼层
切换后延时再进行AD转换,最好抛弃第一次转换的数据,取第二次转换的值。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-23 04:43 , Processed in 0.312001 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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