找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2260|回复: 5
收起左侧

51单片机如何检测多个IO口状态变化

[复制链接]
ID:312038 发表于 2021-5-29 10:31 | 显示全部楼层 |阅读模式
大家好,新手想问下问题,STC12C5A60S2单片机,想要实现当P1.0为低电平的时候,P0.0-P.07 8个IO口如果高低电平发生变化(有可能是高变低,也有可能是低变高),每一个口变化都会触发各自的相应动作,怎么实现呢,请大神帮忙,指教一下,谢谢
回复

使用道具 举报

ID:499770 发表于 2021-5-29 12:08 | 显示全部楼层
本帖最后由 liuwang2051 于 2021-5-30 11:44 编辑

读P0,再逐个判断
回复

使用道具 举报

ID:752974 发表于 2021-5-29 12:45 | 显示全部楼层
P0就是P0口的地址,想要输出什么直接写就可以了,如低4位输出二进制0101,P0=0X05;输出1010,P0=0X0A.
回复

使用道具 举报

ID:716656 发表于 2021-5-29 13:06 | 显示全部楼层
switch case语法
回复

使用道具 举报

ID:858964 发表于 2021-5-29 16:25 | 显示全部楼层
回想我以编写聚氨脂发泡机多路I/O控制程序用过的有效方法,对楼主建议:
用循环扫描方式检测P1.0及P0.0~P07的电平高低状态(1或0)并暂存于数组对应元数中,当P0某引脚本次检测值与上次检测值不同,且P1.0为低电平,则触发P0该引脚对应的动作,并及时更新数组元素的值。
回复

使用道具 举报

ID:849913 发表于 2021-5-30 22:31 | 显示全部楼层
if 或 switch case语法 都可以
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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