找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机能同时操作2个IO口得到相反的操作吗?

[复制链接]
跳转到指定楼层
楼主
ID:211052 发表于 2020-3-24 21:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教下,51单片机能通过位操作同时操作2个IO口得到相反的操作吗?比如同时让P3.4输出高电平而P3.5输出低电平;下次操作让P3.4输出低电平而P3.5输出高电平?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:452950 发表于 2020-3-24 22:21 | 只看该作者
用一个按键进行交替不同操作可以设置标志,每进入一次函数标志加1,通过判断标志为奇数还是偶数来进入不同操作。
比如标志为奇数则让P3.4输出高电平而P3.5输出低电平;下次标志为偶数则让P3.4输出低电平而P3.5输出高电平。
回复

使用道具 举报

板凳
ID:469417 发表于 2020-3-24 22:23 | 只看该作者
很容易做到,看你是要用延时还是按键开效果?第二次时分别将原来结果取反就好了
回复

使用道具 举报

地板
ID:700921 发表于 2020-3-24 23:09 来自手机 | 只看该作者
其实怎么说呢,你写p3-4=0,实际上操作的是地址,不知道p3-5=~p3-4,是不是你想要的位操作,但是这种有必要吗
回复

使用道具 举报

5#
ID:687694 发表于 2020-3-24 23:11 | 只看该作者
理论上是可以的,但实际上总会有微小的时间差距。
回复

使用道具 举报

6#
ID:235200 发表于 2020-3-24 23:42 | 只看该作者
可以的   P3=0x10; P3=0x20;
汇编语言
MOV  P3,#10H
MOV  P3,#20H
回复

使用道具 举报

7#
ID:616477 发表于 2020-3-25 01:43 | 只看该作者
可以。标志位控制取反
回复

使用道具 举报

8#
ID:616477 发表于 2020-3-25 01:45 | 只看该作者
通过建立标志位。进行取反。
回复

使用道具 举报

9#
ID:71233 发表于 2020-3-25 07:58 | 只看该作者
要实现绝对的同时不大可能,因为要先操作一个引脚后再操作另一个引脚。但是,实际应用中,我们是绝对感觉不到它们是不同时的,因为这取决于芯片的运行速度,运行速度越快,时差就越短。当然,即使使用6MHz主频率+12T模式,我们也感觉不到时差。
回复

使用道具 举报

10#
ID:213173 发表于 2020-3-25 09:39 | 只看该作者
楼主想通过位操作P3.4、P3.5不同电平同时取反比较困难,两者会有几us时差。如果用字节操作P3,同时不影响P3其它端口状态,可以做到P3.4、P3.5同时取反0时差。示例程序:
  1. #include <AT89X52.H>
  2. unsigned char time;
  3. unsigned int i;
  4. void main(void)
  5. {
  6.         P3=0x55; //初始状态0101 0101
  7.         while(1)
  8.         {//精确的周期2ms,50%占空比
  9.                 time=P3;//保存P3现状
  10.                 if(P3&0x10)//判断P3.4电位
  11.                         time+=16;
  12.                 else time-=16;
  13.                 P3=time;//只改变P3.4、P3.5,其它位不变
  14.                 i=108;
  15.                 while(i--);//延时
  16.                 i=1;//此句补偿2us延时
  17.         }
  18. }
复制代码

回复

使用道具 举报

11#
ID:388929 发表于 2020-3-25 11:10 | 只看该作者
按照单片机顺序执行代码的规则,至少会有运行一行代码的时间差
回复

使用道具 举报

12#
ID:695749 发表于 2020-3-25 15:13 | 只看该作者
主要程序运行的时间,有时间差
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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