找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机现在可以将p2流水灯左移显示出来,再次按S2键无反应

[复制链接]
跳转到指定楼层
楼主
ID:969579 发表于 2021-10-3 00:05 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
单片机现在可以将p2流水灯左移显示出来,再次按S2键无反应,求大神指点迷津,找了一天的漏洞没找出来

mmexport1633190406266.png (79.8 KB, 下载次数: 45)

mmexport1633190406266.png

mmexport1633190404396.png (57.32 KB, 下载次数: 34)

mmexport1633190404396.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2021-10-3 01:43 | 只看该作者
你的通篇代码,没有S2………………

按你的代码看, S1按下后,会开始左移,并始终在左移代码中循环,不出来。所以也不会再次判断按键。
因为你用了 while(1)  ,  他代表的意义是 死循环。当代码走到while(1), 就死在这个括号里了。
回复

使用道具 举报

板凳
ID:969579 发表于 2021-10-3 10:37 | 只看该作者

RE: 单片机现在可以将p2流水灯左移显示出来,再次按S1键无反应

188610329 发表于 2021-10-3 01:43
你的通篇代码,没有S2………………

按你的代码看, S1按下后,会开始左移,并始终在左移代码中循环,不 ...

您好  首先很感谢您的回帖,听了您的建议后将左移和右移的while(1)去掉,单片机的效果还是没法判断s1键再次按下,不过我有些头绪了,谢谢
回复

使用道具 举报

地板
ID:332444 发表于 2021-10-3 12:40 | 只看该作者
  1. 这么简单功能用的着怎么多代码?就是用一个按键按下左移再次按下改变方向这个功能?
  2. #include "REG52.h"
  3. sbit k=P1^0;
  4. main()
  5. {
  6.         char a=0,xd=0;
  7.         int ys=47474;
  8.         while(1)
  9.         {
  10.                 if(k==0&&++xd==0)
  11.                 {
  12.                         if(a==0)a=1;
  13.                         else a=0;
  14.                         while(k==0);
  15.                 }
  16.                 if(a)P2=a?P2<<1:P2>>1;
  17.                 while(--ys);
  18.                 ys=47474;
  19.         }
  20. }
  21. 试看这个直接写未测试
复制代码
回复

使用道具 举报

5#
ID:332444 发表于 2021-10-3 12:43 | 只看该作者
忘记初始化了,添加一句代码P2=0;在无限循环外。
回复

使用道具 举报

6#
ID:332444 发表于 2021-10-3 12:45 | 只看该作者
还更正一点把if(a)删除了
回复

使用道具 举报

7#
ID:332444 发表于 2021-10-3 12:47 | 只看该作者
如果没看到效果修改这句P2=a?P2<<1:P2>>1;为P2=a?P2>>1:P2<<1;
回复

使用道具 举报

8#
ID:624769 发表于 2021-10-3 20:03 | 只看该作者
010329 发表于 2021-10-3 10:37
您好  首先很感谢您的回帖,听了您的建议后将左移和右移的while(1)去掉,单片机的效果还是没法判断s1键 ...

你光是去掉了那两个While(1) ,  但是你整个程序 没有while(1), 是只会跑一遍,然后就结束的,所以,也不会反复判断按键的。
回复

使用道具 举报

9#
ID:637144 发表于 2021-10-4 15:53 来自手机 | 只看该作者
两个死循环,有用都是假的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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