找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机按键控制小灯程序+电路

[复制链接]
跳转到指定楼层
楼主
电路原理图如下:


单片机源程序如下:
#include <reg51.h>
#include <stdio.h>
sbit LED0 = P2^0;
sbit LED1 = P2^1;
sbit LED2 = P2^2;
sbit LED3 = P2^3;
sbit KEY0 = P3^0;
sbit KEY1 = P3^1;
sbit KEY2 = P3^2;
sbit KEY3 = P3^3;
static unsigned char cnt0 = 0,cnt1 = 0,cnt2 = 0,cnt3 = 0;
static unsigned char cnn0 = 1,cnn1 = 1,cnn2 = 1,cnn3 = 1;
void main()
{
   bit backup0 = 1;
   bit backup1 = 1;
   bit backup2 = 1;
   bit backup3 = 1;
   
static unsigned char cnt0 = 0,cnt1 = 0,cnt2 = 0,cnt3 = 0;
        static unsigned char cnn0 = 0,cnn1 = 0,cnn2 = 0,cnn3 = 0;
P2 = 0x00;
while(1)
{
  if(KEY0 != backup0)
  {
   if(backup0 == 0)
   {
    cnt0++;
    if(cnt0 >= 10)
    {
     cnt0 = 0;
    }
    cnn0++;
    LED0 = cnn0%2;
   
   }
   backup0 = KEY0;
  }
  if(KEY1 != backup1)
  {
   if(backup1 == 0)
   {
    cnt1++;
    if(cnt1 >= 10)
    {
     cnt1 = 0;
    }
    cnn1++;
    LED1 = cnn1%2;
   }
   backup1 = KEY1;
        }
        if(KEY2 != backup2)
  {
   if(backup2 == 0)
   {
    cnt2++;
    if(cnt2 >= 10)
    {
     cnt2 = 0;
    }
    cnn2++;
    LED2 = cnn2%2;
   }
   backup2 = KEY2;
        }
        if(KEY3 != backup3)
  {
   if(backup3 == 0)
   {
    cnt3++;
    if(cnt3 >= 10)
    {
     cnt3 = 0;
    }
    cnn3++;
    LED3 = cnn3%2;
   }
   backup3 = KEY3;
        }
}
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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