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

📄 031_用int0中断实现按键计数.c

📁 本代码是关于用INT0中断实现按键计数
💻 C
字号:
#include <REGX51.H>




#define LEDDATAPORT P0
#define LEDBITPORT  P2
const unsigned char LEDDATA[]={0x3f,0x06,0x5b,0x4f,0x66,
                               0x6d,0x7d,0x07,0x7f,0x6f,
							   0x77,0x7c,0x39,0x5e,0x79,0x71,
							  };

unsigned int KeyCount=0;
unsigned char LEDBuffer[8]={0,16,16,16,16,16,16,16};
unsigned char ScanLEDCount;
							  
void Delay(unsigned int t)
{
  while(t)t--;
}



void main(void)
{
  IT0=1;
  EX0=1;
  EA=1;
  
  while(1)
    {
	  LEDDATAPORT=LEDDATA[LEDBuffer[ScanLEDCount]];
	  LEDBITPORT=ScanLEDCount;
	  if((++ScanLEDCount)==sizeof(LEDBuffer))ScanLEDCount=0;
	  Delay(664);	  
	}
}



void int0(void) interrupt 0
{
  unsigned int temp;
  unsigned char i;
  
  KeyCount++;
  temp=KeyCount;
  i=0;
  while(temp)
    {
	  LEDBuffer[i]=temp%10;
	  temp/=10;
	  i++;
	}
  IE0=0;
}

⌨️ 快捷键说明

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