您的位置:控制工程论坛网论坛 » 电力自动化社区 » 关于51单片机的I/O口扩展问题

marry123

marry123   |   当前状态:在线

总积分:902  2024年可用积分:0

注册时间: 2011-06-29

最后登录时间: 2012-04-23

空间 发短消息加为好友

关于51单片机的I/O口扩展问题

marry123  发表于 2011/8/4 11:21:23      1662 查看 1 回复  [上一主题]  [下一主题]

手机阅读

51单片机需要采集16路信号,但是直接接I/O口的话就需要16个I/O口,所以为了节省单片机的I/O口资源,想通过扩展,暂时本人有两种方案:
 一,通过8-3线编码器,从来没有这样做过,不知道能不能行得通,希望前辈指教;
二,通AD采样,具体的方法还不是很清楚;
不知道各位有什么高见,希望能予以指导,先谢谢大家的慷慨相助!
1楼 0 0 回复
  • zhuyanmei

    zhuyanmei   |   当前状态:在线

    总积分:1009  2024年可用积分:0

    注册时间: 2011-06-28

    最后登录时间: 2011-12-09

    空间 发短消息加为好友

    zhuyanmei   发表于 2011/8/8 9:27:17

    51采集的模拟信号与模拟信号的路数无关,仅与模拟信号A/D变换以后的位数有关,即A/D以后的位数。
    最靠谱的方法是利用51的总线。只有给两个地址就可以了。2个373或者573,或者245。只要是直通且有输出使能即可。我们暂称之为A、B。A、B的进端,两片就是16个,分别接到你的待检测数字信号上,A、B的输出端,并行接到51的数据总线上,A的输出使能端,接51的某个地址M1译码加读有效,B的输出使能端,接51的另一个地址M2加读有效。
    这样,你读M1,就获得了前8个外部状态,读M2就获得了后8个状态。使用的都是复用信号线,只是占用了两个地址而已。
    我感觉你是想采集外部的16路数字信号,如果是模拟信号,另当别论。
    2楼 回复本楼

    引用 zhuyanmei 2011/8/8 9:27:17 发表于2楼的内容

总共 , 当前 /