找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4082|回复: 11
收起左侧

初学者不太懂,单片机流水灯p2++什么意思啊?

  [复制链接]
ID:806046 发表于 2020-8-27 13:50 | 显示全部楼层 |阅读模式
单片机流水灯p2++什么意思啊
批注 2020-08-27 134754.png
为什么按下独立键盘后8个灯全亮啊,能告诉我运算过程吗?

回复

使用道具 举报

ID:739545 发表于 2020-8-27 15:42 | 显示全部楼层
写P2++的人本身就不知道怎么去控制P2通道上的信号,P2++也没啥意思,就是单位+1。
回复

使用道具 举报

ID:807712 发表于 2020-8-27 15:53 | 显示全部楼层
资料不够全,可以将代码都放上来,
回复

使用道具 举报

ID:540927 发表于 2020-8-27 15:59 | 显示全部楼层
p2++的意思在这里是p2端口的寄存器值每按一下P3.1上的独立按键就加一,至于按一下独立按键灯全亮,你的程序不完整,也没有电路图,不好回答呢。我猜测LED应该是连接在P2口上,按一下独立按键P2+1,P2的值刚好是0xff(我猜测是共阴)。
回复

使用道具 举报

ID:572374 发表于 2020-8-27 19:30 | 显示全部楼层
你这代码不全啊。
回复

使用道具 举报

ID:462827 发表于 2020-8-27 19:40 | 显示全部楼层
P2++就是P2=P2+1
回复

使用道具 举报

ID:89515 发表于 2020-8-28 09:57 来自手机 | 显示全部楼层
逻辑都有问题,有什么好追究的呢!!!
回复

使用道具 举报

ID:525068 发表于 2020-8-30 00:47 | 显示全部楼层
跟a++是一个意思,代表这个数每循环一次就加一
回复

使用道具 举报

ID:816496 发表于 2020-9-2 15:43 | 显示全部楼层
循环一次P2单位加一,也就是说到了这步就要P2=P2+1,你这代码前面也不全,不知道P2的初值。
回复

使用道具 举报

ID:235954 发表于 2020-9-4 17:11 | 显示全部楼层
P2+1,P2的寄存器数值加1
回复

使用道具 举报

ID:420836 发表于 2020-9-5 10:24 | 显示全部楼层
就是P2自加1
回复

使用道具 举报

ID:21069 发表于 2020-9-5 12:03 | 显示全部楼层
本帖最后由 jinsheng7533967 于 2020-9-5 12:31 编辑

你程序本身就有问题,不要说你按键按下了P2的8个灯全亮,你就是没按也是全亮!因为51单片机你初始化时
P1,P2,P3高电平
另外你的按键是没有起到作用的,也就是说P2更本没有++
下面是正确代码与仿真

#include <REG52.H>
#define uint  unsigned int
#define uchar unsigned char
sbit k1=P3^1;
void delay (uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--)
                   for(j=112;j>0;j--);
}
void main()
{
     P2 = 0;;
while(1)
{
   if(k1 == 0)
   {
    delay(10);
    if(k1 == 0)
    {
         while(k1 == 0);
  P2++;
    }
   }
}
}
开关控制流水流.rar (17.32 KB, 下载次数: 10)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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