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

📄 key.c

📁 AT917S64,ARM处理器的程序。点灯的应用。
💻 C
字号:
/************************************************************/
/*		Test Code for S64-DEK REV2.0						*/
/*				By Team Mcuzone								*/
/*					2005-11									*/
/************************************************************/

/************************************************************/
/*			HardWare Connection								*/
/*				KEY1<->PA15									*/
/*				KEY2<->PA16									*/
/*				KEY3<->PA23									*/
/*				KEY4<->PA20									*/
/************************************************************/

#include <AT91SAM7S64.h>

void keyinit(void)
{
	*AT91C_PMC_PCER|=0xF0000000;		//PMC外设时钟使能
	*AT91C_PIOA_PER|=0xF0000000;	  	//KEY1-4作为I/O使用
	*AT91C_PIOA_ODR|=0xF0000000;	   	//KEY1-4输出禁止
    *AT91C_PIOA_OSR&=0x0FFFFFFF;
	*AT91C_PIOA_SODR|=0xF0000000;	   	//KEY1-4置位输出
	*AT91C_PIOA_IDR|=0xF0000000;	   	//KEY1-4中断禁止
	*AT91C_PIOA_IFDR|=0xF0000000;		//毛刺滤波器禁止		
	*AT91C_PIOA_PPUER|=0xF0000000;	   	//KEY1-4上拉/使能禁止	
}



unsigned char getkey(void)
{
	unsigned char keyvalue=0;
	keyinit();
	if((*AT91C_PIOA_PDSR&0xF0000000)==0x70000000)	//KEY1 PRESSED
		keyvalue=1;
	else if((*AT91C_PIOA_PDSR&0xF0000000)==0xB0000000) 	//KEY2 PRESSED
		keyvalue=2;
	else if((*AT91C_PIOA_PDSR&0xF0000000)==0xD0000000) 	//KEY3 PRESSED
		keyvalue=3;
	else if((*AT91C_PIOA_PDSR&0xF0000000)==0xE0000000)	//KEY4 PRESSED
		keyvalue=4;
	else keyvalue=0;				
	return(keyvalue);
}


⌨️ 快捷键说明

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