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

📄 key_board.c

📁 数控电压源程序数控电压源程序数控电压源程序数控电压源程序
💻 C
字号:
//包含所需头文件
#include <ioM16v.h>
#include <macros.h>
#include "delay.h"
/*------宏定义------*/
#define uchar	unsigned char
#define uint	unsigned int

#define key_mask  0b00001111

//static uchar keyvalue;
uchar key_return=0;
uchar read_keyboard()
{
 static uchar key_value,key_line;
 uchar i;
 DDRD=0xf0;
   key_line=0b00010000;
   for(i=1;i<=4;i++)
   {
   PORTD=~key_line;
   PORTD=~key_line;
   key_value=key_mask&PIND;
   if(key_value==key_mask)
     key_line<<=1;
     else
	 break;
   }
	delay_nms(5);
  if(key_value==(key_mask&PIND))
   {
    
    switch(key_line|key_value)
    {
    case 0b00011110:key_return=1;
	                break;
	case 0b00011101:key_return=2;
	                break;
	case 0b00011011:key_return=3;
	                break;	
	case 0b00010111:key_return=4;
	                break;	
	case 0b00101110:key_return=5;
	                break;	
	case 0b00101101:key_return=6;
	                break;
    case 0b00101011:key_return=7;
	                break;	
	case 0b00100111:key_return=8;
	                break;		
	case 0b01001110:key_return=9;
	                break;	
	case 0b01001101:key_return=0;
	                break;																												
     }
  }
    return key_return;
}

⌨️ 快捷键说明

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