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

📄 main.c

📁 键盘操作 键盘扫描 用的是单片机mega16
💻 C
字号:
/************************************************************
文   件:main.c
用   途:演示矩阵键盘的库函数和七段数码管的库函数的使用
Target : M16
Crystal: 1.0000Mhz
说   明:标有[]的为与key_3中不同的地方
创   建:2008.2.20
修   改:2008.2.20
Copy Right  (c)  www.avrvi.com  AVR与虚拟仪器
************************************************************/

#include "config.h"

void main(void)
{
  uint8 i=0;
  
  key_board_int();						//矩阵按键初始化
  Seg7_Led_Init();						//七段数码管显示初始化
  
  key_int_init();						//中断初始化  []
  SEI();								//开全局中断  []
  
  while(1)
  {
   if(KEY_FLAG)							   //如果有键按下,此变量在key_board.c中定义,并会在中断中改变 []
   {
    KEY_FLAG = 0; 						   //         []							
	
	if(key!=0xFF)						   //key为在key_board.c中定义的全局变量
	{
	 for(i=3;i!=0;i--)						//左移位显示
	 {
	 Seg7_Led_Buf[i]=Seg7_Led_Buf[i-1];
	 }
	 Seg7_Led_Buf[0]=key;			   		
	}

	/*
	if(key!=0xFF)							//0xFF为无效按键
	{
	 switch(key)							//判断按键进行相关操作
	 {
	  case 'A':
	    PORTA ^=(1<<PA0);
		break;
	  case 'B':
	    PORTA ^=(1<<PA1);
		break;
	  case 'C':
	    PORTA ^=(1<<PA2);
		break;
	  case 'D':
	    PORTA ^=(1<<PA3);
		break;
	  default:
	    break;
	 } //end switch
	}//end if(key!=0xFF)
	*/
	
   }//end if(HAVE_KEY_DOWN)
   //Delay100us(10);

  Seg7_Led_Update();	   					//按键显示
  }
}

⌨️ 快捷键说明

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