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

📄 key.c

📁 利用中断进行三路按键获取的程序 可判断N个按键同时按下或单独按下 不占用系统时间 完全原创
💻 C
字号:
#include "reg51.h"
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int


void Timer0(void) interrupt 1
{
	TH0=0x0c; // 定时4ms。(2000H-N)*12/14.7456us=4ms    N=CCDH
	TL0=0xcd;
	KEYZONG = P0&0x07;
	if(KEYCOUNT == 0) OLDKEY=KEYZONG;
	if(KEYZONG == 0x06||KEYZONG == 0x05||KEYZONG == 0X03)
	{
		if(KEYCOUNT<1250)
		{
			if(OLDKEY == KEYZONG)KEYCOUNT++;
			else KEYCOUNT = 0;
		}
	}
	else	
	{
		if(OLDKEY == 0X03)
		{
			if(KEYCOUNT<16){KEYCOUNT=0;OLDKEY=0;}
		}
		else{KEYCOUNT=0;OLDKEY=0;}
	}	
}

void main()
{
}
/*
说明 P0^1 P0^2 P0^3 三个端口分别有三个开关
通过检测KEYCOUNT的值就可以知道分别按了那一个按键或者哪几个按键
*/

⌨️ 快捷键说明

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