⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 扫描按键的程序
💻 C
字号:
#include<reg52.h>						 //包含头文件
#include"KEY.H"						
#include"beeper.h"

void SYS_Init();						 //系统初始化函数

sbit LED_KEY1=P1^0;						 //定义相应按键的LED
sbit LED_KEY2=P1^1;
sbit LED_KEY3=P1^2;
sbit LED_KEY4=P1^3;

main()									//主函数
{
 SYS_Init();
 while(1);								//进入死循环,只在中断里处理
}
void SYS_Init()
{
 TMOD=0X01;								//定时器0,工作方式1
 EA=1;									//开总中断
 ET0=1;									//开T0中断
 TL0=(65536-1000)%256;					//赋初值,1ms产生一次中断
 TH0=(65536-1000)/256;
 TR0=1;									//启动定时器0
}
void timer0() interrupt 1				//中断函数
{
 TR0=0;
 switch(KEY1_JUDGE())							  //按键1:短按时LED_KEY1亮;长按时LED_KEY1亮并且蜂鸣器响;没被按下时熄灭LED_KEY1
 {
  case SHORT_PRESS:LED_KEY1=ON;break;
  case LONG_PRESS :LED_KEY1=ON;BEEP_ON;break;
  case NO_PRESS   :LED_KEY1=OFF;break;
 }
 switch(KEY2_JUDGE())							   //按键1:短按时LED_KEY2亮;长按时LED_KEY2亮并且关掉蜂鸣器;没被按下时熄灭LED_KEY2
 {
  case SHORT_PRESS:LED_KEY2=ON;break;
  case LONG_PRESS :LED_KEY2=ON;BEEP_OFF;break;
  case NO_PRESS   :LED_KEY2=OFF;break;
 }
 switch(KEY3_JUDGE())							  //按键1:短按时LED_KEY3亮;长按时LED_KEY3亮并且蜂鸣器响;没被按下时熄灭LED_KEY3
 {
  case SHORT_PRESS:LED_KEY3=ON;break;
  case LONG_PRESS :LED_KEY3=ON;BEEP_ON;break;
  case NO_PRESS   :LED_KEY3=OFF;break;
 }
  switch(KEY4_JUDGE())							  //按键1:短按时LED_KEY4亮;长按时LED_KEY4亮并且关掉蜂鸣器;没被按下时熄灭LED_KEY4
 {
  case SHORT_PRESS:LED_KEY4=ON;break;
  case LONG_PRESS :LED_KEY4=ON;BEEP_OFF;break;
  case NO_PRESS   :LED_KEY4=OFF;break;
 }
 TL0=(65536-1000)%256;
 TH0=(65536-1000)/256;
    TR0=1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -