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

📄 keyqudou.c

📁 spce061a实现的键盘扫描程序
💻 C
字号:
/****************************************************************
** fileName 	: KeyQudou.c
** discription  : 将IOA0~IOA7端口与1×8键盘相连,  1×8键盘的公共端接到高电平(VCC)上,
				  IOB0~IOB7端口与8个发光二极管相连,DIG7接VCC   
** IDE			: SUNPLUS u'nSPTM  IDE 2.5.5
** Library		:	(a) C-Lib:  (CMacro.lib);
** Date			: 07-08-02
** Author		: Yao
****************************************************************/

#include"SPCE061A.h"
#define ClearWatchdog  (volatile unsigned int *)0x7012       // 定义ClearWatchdog指针,使其指向0x7012的地址单元
//#define FLAG 0x0000
void delay(unsigned char  i)
{
	while(--i);
	*ClearWatchdog = 1;
}

int main()
{
	unsigned char flag = 0;
	*P_IOA_Data = 0x0000; //设置IOA0~IOA15为带下拉的低电平输入
	*P_IOA_Dir = 0x0000;
	*P_IOA_Attrib = 0x0000;
	*P_IOB_Data = 0x0000; //设置IOB0~IOB15为带数据缓存的低电平输出
	*P_IOB_Dir = 0xffff;
	*P_IOB_Attrib = 0xffff;
	
	while(1)
	{
		//*P_IOB_Data = 0xff;
		if(*P_IOA_Data == 0x0002)	{	
			delay(200);
			if(*P_IOA_Data == 0x0002){
				if(!flag)
					flag = 1;
				else	flag =0;
				while(*P_IOA_Data == 0x0002);
			}
		}
		if(!flag)
			*P_IOB_Data = 0xffff;
		else	*P_IOB_Data = 0x0000;
		*ClearWatchdog = 1;
	}
}

⌨️ 快捷键说明

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