非中断方式实现按键控制LED灯

简介: 非中断方式实现按键控制LED灯简述宏定义与预处理按键处理延迟主函数


简述



//非中断方式实现按键控制LED灯
/*
1:全部灯熄灭
2:按下按键SW1不超过一秒后松开LED灯亮
3:再次按下灯灭
*/


宏定义与预处理



#include<iocc2530.h>
#define uint unsigned int
#define uchar unsigned char
#define LED P1_0


按键处理



uchar KeyScan(void)
{
if(P1_2==0)//低电平有效
{
if(P1_2==0)//软件消抖
{
while(!P1_2)
return 1;
}
}
return 0;
}


延迟



void Delay(uint time)
{
 uint i;
 uchar j;
 for(i=0;i<time;i++)
   for(j=0;j<240;j++)
   {
   asm("NOP");
   asm("NOP");
   asm("NOP");   
   }
}


主函数



main()
{
  Initial();
  while(1)
  {
  if(KeyScan()==1)//如果按下了
  {
  LED=!LED;
  Delay(1200); 
  }
  }
}


相关文章
|
3月前
|
机器人 异构计算 SoC
实例2:树莓派GPIO控制外部LED灯闪烁
本文是一个关于使用树莓派GPIO控制外部LED灯闪烁的实验教程,介绍了树莓派的基本概念、GPIO接口的使用、RPi.GPIO库的基本操作,以及通过Python编程实现LED灯周期性闪烁的详细步骤和代码示例。
96 1
实例2:树莓派GPIO控制外部LED灯闪烁
|
3月前
|
机器人 Linux 异构计算
实例1:控制树莓派板载LED灯闪烁
本文是一个关于如何使用Python编程控制树莓派板载LED灯闪烁的实验教程,涵盖了树莓派的基本概念、LED控制文件的读写操作、Python `open()` 和 `sleep()` 函数的使用方法,以及具体的实验步骤和代码实现,目的是让读者通过实践熟悉树莓派操作和Linux文件读写。
81 1
实例1:控制树莓派板载LED灯闪烁
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
6月前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
293 0
单片机开关控制LED的点亮及闪烁
单片机开关控制LED的点亮及闪烁
345 0
单片机——按钮控制LED的不同效果电亮
单片机——按钮控制LED的不同效果电亮
183 0
STM32学习笔记(2) 使用外部中断控制按键
NVIC_IRQChannel ​​​​:对于RCT6来说,它的中断源如上图所示,在stm32f103.h中已经配置好寄存器,直接调用即可,下图中,RCT6主要用的是STM32F103X_HD的中断源
232 0