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

📄 key.c

📁 采用AD9851设计的一个产生50M 方波
💻 C
字号:
/************************************************************************
*文件名:KEY。C                                                         *
*功能:  高频实验箱DDS程序。                                            *
*作者:  杨乐                                                           *
*日期:  2009年1月21日                                                  *
************************************************************************/
#include<REG52.h>
#include<intrins.h>
#include<absacc.h>
#include"key.h"
/************************************************************************
*作者:    杨乐                                                         *
*函数名:  Read_key                                                     *
*功能:    键盘扫描                                                     *
*入口参数:无                                                           *
*返回值:  有                                                           *
*日期:    2009年1月21日                                                *
************************************************************************/
unsigned char Read_key()
{
    unsigned char scancode;
	unsigned char i,j,key_value,tmp; //key_down ;


	KeyPort = 0x0F;
	_nop_();
	tmp = (KeyPort&0x0F)^0x0F;

	if (!tmp)
		return 0xFF;        //无按键		

	scancode = 0x7F;
	for (i = 0; i<4; i++)
	{
		KeyPort = scancode;
		_nop_();
		tmp = (KeyPort | 0xF0);
		if (tmp != 0xFF)
		{
			tmp = ~tmp;
			
			for (j = 4; j >0 ; j--)
			{
				tmp = tmp>>1;
				if (tmp == 0)
				{
					key_value = i + (j-1)*4;
					break;
				}
			}
		}
		scancode = scancode>>1;
		scancode += 0x80;
	}
	return 15-key_value;
}

⌨️ 快捷键说明

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