全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > LED照明 >

单片机独立按键控制4个LED灯亮灭

时间:2023-08-29 09:17

人气:

作者:admin

标签: 按键控制  led灯  单片机  F 

导读:单片机独立按键控制4个LED灯亮灭-单片机四个按键分别控制四个LED的亮灭!...

单片机设计分享与定制

具体实现功能:

单片机四个按键分别控制四个LED的亮灭!

b7b27358-45b7-11ee-a2ef-92fbcf53809c.gif

设计介绍

  b7e63be8-45b7-11ee-a2ef-92fbcf53809c.png

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

51系列单片机具有以下标准功能:

8k字节Flash,512字节RAM

32位I/O口线,看门狗定时器

内置4KB EEPROM

MAX810复位电路,

三个16位定时器/计数器,

一个6向量2级中断结构,

全双工串行口。

另外, 51系列在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到下一个中断或硬件复位为止。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

b8263c52-45b7-11ee-a2ef-92fbcf53809c.png

设计内容

仿真图(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

注:免费分享,请按照下图自行绘制仿真!!

b86a4938-45b7-11ee-a2ef-92fbcf53809c.png

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

注:全部代码免费分享,请自行建立工程!!

本设计由C语言编写,全部代码如下:

 

/*
*4个独立式按键控制LED开关*
*/
#include 
typedef unsigned char uint8;
typedef unsigned int uint16;


void delay(uint16 x)
{
  uint16 i,j;
  for(i = x; i > 0; i --)
    for(j = 114; j > 0; j --);    
}


void Move_LED()
{
  if     ((P1 & 0x01) == 0x00) P0 ^= 0x01; 
  else if((P1 & 0x02) == 0x00) P0 ^= 0x02;
  else if((P1 & 0x04) == 0x00) P0 ^= 0x04; 
  else if((P1 & 0x08) == 0x00) P0 ^= 0x08; 
   
}


void main()
{
  uint8 Key = 0x00;
  while(1)
  {
     if(P1 != Key)
    {
      Key = P1;
      Move_LED();
      delay(10);
    }
  }
}

 

运行结果如图:

b87a4edc-45b7-11ee-a2ef-92fbcf53809c.png







审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信