keyscan.c

来自「CAN总线开发板源代码与原理图」· C语言 代码 · 共 67 行

C
67
字号
#include <key.h>/********************************************************************************************** 函数名称: void delay(unsigned int k)** 功能描述: 延时函数 11.0592Mhz** 输 入: 无** 输 出: 无** 全局变量: 无** 调用模块: 无*********************************************************************************************/static void DelayMs(unsigned int t){		unsigned int i;	while(t--)	for(i=500;i>0;i--);}uchar KeyScan(){
	P2 = 0xff;    if(!AN1)       {    	DelayMs(20);        if(!AN1)          {        	while(!AN1);			DelayMs(50);			return 1;         }		    }	else if(!AN2)       {    	DelayMs(20);        if(!AN2)          {        	while(!AN2);			DelayMs(50);			return 2;         }    }	else if(!AN3)       {    	DelayMs(20);        if(!AN3)          {        	while(!AN3);			DelayMs(50);			return 3;        }    }	/*else if(!AN4)       {    	DelayMs(20);        if(!AN4)          {        	while(!AN4);			DelayMs(50);			return 4;         }    }	*/	return 0;}

⌨️ 快捷键说明

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