找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 990|回复: 4
打印 上一主题 下一主题
收起左侧

求教单片机并行口程序思路

[复制链接]
跳转到指定楼层
楼主
ID:42969 发表于 2020-8-4 12:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    求助各位大神,我有个硬件电路使用了2片74hc245做扩展输入,4片74hc573做扩展输出,所有的数据线都接在P1口,片选信号线接在P3口。我现在的思路是这样的,在2ms定时中断中,每20ms控制一个片选信号,比如0-20ms控制1号245芯片,采集输入信号,21-40ms控制2号245芯片,以此类推,到41-60ms控制573芯片,输出信号。 求助各位大神有没有更好的思路,或者方式。
    输入输出数据线都用P1口是因为单片机I/O口不够了,而且硬件电路已经搭建好了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2020-8-4 14:26 | 只看该作者
74hc573是带锁存的并口输出,只需要在有改变时输出一下,平时锁存,没必要定时刷新。
回复

使用道具 举报

板凳
ID:332444 发表于 2020-8-4 15:35 | 只看该作者
优劣衡量的标准指?
回复

使用道具 举报

地板
ID:804115 发表于 2020-8-4 18:29 | 只看该作者
你的四路有问题,你应该将驱动和应用区分开写,你的驱动只和硬件有关,如果是我我就这样写:
我会封装三个函数:
函数1 - 采集输入信号1,实现方式:
1. 开启信号1输入对应245的片选,关闭所有其它片选;
2. 采集信号1;
函数2 - 采集输入信号2,实现方式:
1. 开启信号2输入对应245的片选,关闭所有其它片选;
2. 采集信号2;
函数3 - 输出信号到573,实现方式:
1. 开启信号3输出对应573的片选,关闭所有其它片选;
2. 输出信号3;

封装好上面函数后,我再去写应用,我就不关心硬件是怎么操作了,我想什么时候干什么,调用对应的函数即可。
回复

使用道具 举报

5#
ID:42969 发表于 2020-8-5 09:30 | 只看该作者
1692483014 发表于 2020-8-4 18:29
你的四路有问题,你应该将驱动和应用区分开写,你的驱动只和硬件有关,如果是我我就这样写:
我会封装三个 ...

en,主要是采集输入信号时,我还需要用定时中断来进行消抖处理,2ms中断一次,16ms内信号无翻转就认为输入稳定,我怕在主函数中调用驱动函数时 输入输出冲突。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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