找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1618|回复: 1
收起左侧

关于单片机按键程序问题

[复制链接]
ID:924630 发表于 2021-6-5 11:32 | 显示全部楼层 |阅读模式
这是四个按键的单片机程序,其他三个按键执行完程序后都保持常亮,为什么第四个按键(k4)的程序执行完后没有保持全亮?
我该怎么改让每个的程序执行完后都保持全亮?
  1. #include <REGX52.H>
  2. sbit k1=P3^0;
  3. sbit k2=P3^1;
  4. sbit k3=P3^2;
  5. sbit k4=P3^3;
  6. void y(int t)               
  7. {
  8.         while(--t);               
  9. }
  10. code smg[]={0xe7,0xc3,0x81,0x00,};
  11. code xx[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,//8
  12.                                          0x7e,0xbe,0xde,0xee,0xf6,0xfa,0xfc,//7
  13.                                          0x7c,0xbc,0xdc,0xec,0xf4,0xf8,0x78,0xb8,//8
  14.                                          0xd8,0xe8,0xf0,0x70,0xb0,0xd0,0xe0,0x60,//8
  15.                                          0xa0,0xc0,0x40,0x80,0x00,};//5

  16. void main()
  17. {
  18.         char m;
  19.         char i;
  20.         while(k1==0){P0=0x5b;y(60000);//左移
  21.         P2=0xfe;
  22.                 for(i=0;i<8;i++)
  23.                 {
  24.                 y(6000);
  25.                         P2=P2<<1;
  26.                 }
  27.         }
  28.         
  29.         while(k2==0){P0=0x06;y(60000);//右移
  30.                 P2=0x7f;
  31.                 for(i=0;i<8;i++)
  32.                 {
  33.                 y(6000);
  34.                         P2=P2>>1;
  35.                 }}
  36.         //k3=0;
  37.         while(k3==0){P0=0x4f;y(60000);
  38.         P2=0xff;
  39.                 for(m=0;m<4;m++)
  40.                 {
  41.                 y(6000);
  42.                         P2=smg[m];
  43.                 }}

  44.         while(k4==0){P0=0x66;y(60000);//叠加
  45.         P2=0xff;
  46.                 for(i=0;i<36;i++)
  47.                 {
  48.                 y(6000);
  49.                         P2=xx[i];
  50.                 }
  51.         }
  52. }

复制代码
回复

使用道具 举报

ID:332444 发表于 2021-6-5 17:17 | 显示全部楼层
测试没发现问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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