key.c

来自「利用中断进行三路按键获取的程序 可判断N个按键同时按下或单独按下 不」· C语言 代码 · 共 37 行

C
37
字号
#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 + =
减小字号Ctrl + -
显示快捷键?