找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机的不同IO口能同时运行嘛?

[复制链接]
跳转到指定楼层
楼主
ID:611518 发表于 2019-9-21 19:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我把不同IO口的子函数写到主函数中程序运行时是按照顺序运行的,想请教一下各位不同IO口的功能能否同时运行。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2019-9-22 08:01 | 只看该作者
现在的主流的单片机不能同时干多个任务,可分时进行多任务。

执行多个任务肯定没有问题,主要是它的资源足够用,严格来讲普通单片机是单线程的,执行多个任务严格意义上来讲并不是同时执行多任务,只不过是引因其速度快,在允许有时差的多个任务中,合理安排就会那个都不耽误,一个单片机实现多任务,如果你的任务要求完全同步可以通过多个单片机完成,或者虽然不要求完全同步,但任务耗用资源较多的也建议多个单片机来构建。
回复

使用道具 举报

板凳
ID:235200 发表于 2019-9-22 09:16 | 只看该作者
同一端口的多个IO口线可以同时,不同端口的IO口线严格来讲不是同时,依执行指令的周期相差1-2个机器周期(us级时间)
回复

使用道具 举报

地板
ID:213173 发表于 2019-9-22 10:28 | 只看该作者
如果只是基本的高低电平控制,可以把需要同时运行的端口分配到一个总线口,通过&和|操作,完成2~8个I/O口同时运行。如操作P1低4位不影响高4位状态: P1 &= 0xf0;   P1 |= 0x0a;。
回复

使用道具 举报

5#
ID:613744 发表于 2019-9-22 18:33 | 只看该作者
如果你不介意瞬间的同时为1,可以做个监护的程序,快速循环,一旦检测到二者同时为1,进行处理。逻辑很简单,两个IO相与就好了。
回复

使用道具 举报

6#
ID:272119 发表于 2019-9-22 23:27 | 只看该作者
顺序运行,只是看程序怎么排序怎么做延时,看上去就像同时运行 .
回复

使用道具 举报

7#
ID:571495 发表于 2019-9-23 08:53 | 只看该作者
这是关于冲突问题,优先级问题,你可以找这方面的知识看看
回复

使用道具 举报

8#
ID:123289 发表于 2019-9-23 09:18 | 只看该作者
各IO口永远一忠于它的职守,一直在工作,所以不存在同时的问题。
回复

使用道具 举报

9#
ID:277448 发表于 2019-9-24 10:00 | 只看该作者
单片机io口是可以按照频率cpu刷新的,能够同时运行。例如STM32 的单片机口,可以设置输入频率 20M,或是50MHz等
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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