sub_key.c

来自「一个单片机实现DA转换程序,程序实现了一个温度控制的数摸转换,并添加了去抖动处理」· C语言 代码 · 共 76 行

C
76
字号
#include "iom16.h"
#include "ioavr.h"
#include "inavr.h"
#include "avr_macros.h"

#include "userdef.h"
#include "userfun.h"
#include "userram.h"
//#include "usertype.h"


void judge_key_Column(unsigned char key_line)
{
	 unsigned char temp;
	 temp=PIND&0x70;
	 switch(temp)
	   {
	   	case 0x70:
	   	     {
	   	     	   break;
	   	     }
                case 0x60:
	   	     {
	   	         temp_key_value=(key_line-1)*3+1;
	   	         total_press_key++;
	   	         break;     	
	   	     }
                case 0x50:
	   	     {
	   	         temp_key_value=(key_line-1)*3+2;
	   	         total_press_key++;
	   	         break;     	
	   	     }
                case 0x30:
	   	     {
	   	         temp_key_value=(key_line-1)*3+3;
	   	         total_press_key++;
	   	         break;     	
	   	     }	  	
	   	default:
	   	     {
	   	         total_press_key=0xff;
	   	         break;     	
	   	     }	  	     	  	
	   }	
}


void key_scan(void)
{	
   CLR_OUTKEY1;
   SET_OUTKEY2;
   SET_OUTKEY3;
   SET_OUTKEY4;
   judge_key_Column(1);

   SET_OUTKEY1;
   CLR_OUTKEY2;
   SET_OUTKEY3;
   SET_OUTKEY4;
   judge_key_Column(2);

   SET_OUTKEY1;
   SET_OUTKEY2;
   CLR_OUTKEY3;
   SET_OUTKEY4;
   judge_key_Column(3);

   SET_OUTKEY1;
   SET_OUTKEY2;
   SET_OUTKEY3;
   CLR_OUTKEY4;
   judge_key_Column(4);
}

⌨️ 快捷键说明

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