标题:
求教单片机并行口程序思路
[打印本页]
作者:
btxzilong
时间:
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口不够了,而且硬件电路已经搭建好了。
作者:
xuyaqi
时间:
2020-8-4 14:26
74hc573是带锁存的并口输出,只需要在有改变时输出一下,平时锁存,没必要定时刷新。
作者:
xianfajushi
时间:
2020-8-4 15:35
优劣衡量的标准指?
作者:
1692483014
时间:
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;
封装好上面函数后,我再去写应用,我就不关心硬件是怎么操作了,我想什么时候干什么,调用对应的函数即可。
作者:
btxzilong
时间:
2020-8-5 09:30
1692483014 发表于 2020-8-4 18:29
你的四路有问题,你应该将驱动和应用区分开写,你的驱动只和硬件有关,如果是我我就这样写:
我会封装三个 ...
en,主要是采集输入信号时,我还需要用定时中断来进行消抖处理,2ms中断一次,16ms内信号无翻转就认为输入稳定,我怕在主函数中调用驱动函数时 输入输出冲突。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1