找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机独立键盘没反应

[复制链接]
跳转到指定楼层
楼主
我写的程序,想按下S2之后让八个led灯全部亮,但是现在按下S2之后没有任何反应,有没有人可以帮我看一下哪里的问题
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. sbit key1=P3^0;
  4. sbit key2=P3^1;

  5. void delay(unsigned char z)//zms延时
  6. {
  7.         unsigned char i, j;
  8.         while(1)
  9.         {
  10.                 _nop_();
  11.                 i = 2;
  12.                 j = 199;
  13.                 do
  14.                 {
  15.                         while (--j);
  16.                 } while (--i);
  17.                 z--;
  18.         }
  19. }

  20. void main()
  21. {
  22.         while(1)
  23.         {
  24.                 if(key1==0)
  25.                 {       
  26.                         delay(20); //消抖
  27.                         if(key1==0)
  28.                         {
  29.                                 P1=0x00;       
  30.                         }       
  31.                         while(!key1) ;//松手检测               
  32.                 }
  33.         }
  34. }
复制代码


独立键盘.png (32.82 KB, 下载次数: 52)

独立键盘

独立键盘

流水灯.png (78.33 KB, 下载次数: 42)

流水灯

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

使用道具 举报

沙发
ID:161164 发表于 2022-2-18 23:28 | 只看该作者

void delay(unsigned char z)//zms延时
{
        unsigned char i, j;
        while(z)
        {
                _nop_();
                i = 2;
                j = 199;
                do
                {
                        while (--j);
                } while (--i);
                z--;
        }
}
回复

使用道具 举报

板凳
ID:1002906 发表于 2022-2-19 08:54 | 只看该作者
lkc8210 发表于 2022-2-18 23:28
void delay(unsigned char z)//zms延时
{
        unsigned char i, j;

谢谢,我明白了
回复

使用道具 举报

地板
ID:1005963 发表于 2022-2-20 22:38 | 只看该作者
延时函数的有问题,是1ms延时
回复

使用道具 举报

5#
ID:1003226 发表于 2022-2-23 10:36 | 只看该作者
延时函数时间太短了~
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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