4x4key_main._c

来自「16个单片机c语言实验程序」· _C 代码 · 共 74 行

_C
74
字号
//4x4键盘试验程序
//使用板载的4x4键盘
//数码管显示按键值

#define uchar unsigned char 
#define uint unsigned int 
#include<iom16v.h>
#include"ch595.h"
#include"encoder.h"
#include"key_value.h"
#include"disp.h"

//uchar a1,a2,a3;

//键值转换
turn(uchar key)
{
switch(key)
{ 
  case 0x11:        
  key=0x01;break; 
  case 0x21:        
  key=0x02;break;
  case 0x41:
  key=0x03;break;
  case 0x81:
  key=0x04;break;
  case 0x12:
  key=0x05;break;
  case 0x22:
  key=0x06;break;
  case 0x42:
  key=0x07;break;
  case 0x82:
  key=0x08;break;
  case 0x14:
  key=0x09;break;
  case 0x24:
  key=0x0a;break;
  case 0x44:
  key=0x0b;break;
  case 0x84:
  key=0x0c;break;
  case 0x18:
  key=0x0d;break;
  case 0x28:
  key=0x0e;break;
  case 0x48:
  key=0xa0f;break;
  case 0x88:
  key=0x10;break;
  }
  return(key);
}

//主函数
main()
{
uchar key,tem;
//端口初始化
DDRA=0xff;
PORTA=0xff;
//DDRC=0xff;
//PORTC=0xff;
while(1)
     {
	 key=key_value();    //读取键值
	 if(key!=0)
	   {
	    tem=turn(key);   //转换译码
	   }
	 disp(tem);         //显示键值
	 }
}

⌨️ 快捷键说明

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