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

📄 key.c

📁 mc9s08aw60 RTC LCD PWM
💻 C
字号:
#include "config.h" 
#include <stdio.h> 


/*=======================HD7279开始===========================*/
/******************************************************************************************/
// 长延时
/******************************************************************************************/
void LongDelay(void)
{
	unsigned char i;
    for (i=0;i<0x70;i++);
}
/******************************************************************************************/
// 短延时
/******************************************************************************************/
void ShortDelay(void)
{
	unsigned char i;
	for (i=0;i<50;i++);
}
/******************************************************************************************/
// HD7279键盘发送字节函数
/******************************************************************************************/
void SendByte(	unsigned char OutByte)
{
    unsigned char i;
    
    DDHDCS=1;
    DDHDClk=1;
    DDHDData=1;
    
    DDHDKey=0;
    
    
	HDCS=0;
	LongDelay();

	for (i=0;i<8;i++)
	{
	    if (OutByte&0x80)
		{	
			HDData=1;
		}
		else
		{
			HDData=0;
		}

		HDClk=1;
		ShortDelay();
		HDClk=0;
		ShortDelay();
		OutByte=OutByte*2;
	}
	HDData=0;
}
/******************************************************************************************/
//	HD7279键盘接收字节函数
/******************************************************************************************/
unsigned char ReceiveByte (void)
{
	unsigned char i, InByte;
	
	DDHDData=0;
	 
	HDData=1;				// set to input mode
	LongDelay();

	for (i=0;i<8;i++)
	{
		HDClk=1;
		ShortDelay();
		InByte=InByte*2;
		if (HDData)
		{
			InByte=InByte|0x01;
		}
		HDClk=0;
		ShortDelay();
	}

	HDData=0;
	return (InByte);
}
/******************************************************************************************/
//
/******************************************************************************************/
void Write7279 (unsigned char cmd, unsigned char dta)
{
	SendByte (cmd);
	SendByte (dta);
}	
/******************************************************************************************/
// 读命令
/******************************************************************************************/
unsigned char Read7279 (unsigned char command)
{
	SendByte(command);
	return(ReceiveByte());
}


/*=======================HD7279结束===========================*/  


/*
void key_interrupt(void) interrupt 6//外中断2
{		
	EA=0;
	EX2=0;
	
	KeyNumber=0XFF;

	key_flag=0;
	KeyNumber=Read7279(0X15);
	
	switch(KeyNumber)
	  {
	  	case 16:
			key_value=silence_key;
			SOUND_FLAG=0;
			ALARM_SOUND_OFF;
			silence_flag=1;
			break;
		case 17:
			key_value=seven_key;
			key_flag=1;
			break;
	    case 18:
	   		key_value=eight_key;
			key_flag=1;	
			break;		  
	    case 19:
		    key_value=dot_key;
		    break;		 
	    case 20:
			key_value=nine_key;
			key_flag=1;	
			break;		  
		case 21:
			key_value=ok_key;	 
			break;		
		case 7:
			break;
		case 8:
			key_value=option_key;

			break;	
		case 9:
			key_value=four_key;
			key_flag=1;
			break;	
		case 10:
			key_value=five_key;
			key_flag=1;
			break;	
		case 11:
			key_value=zero_key;
			key_flag=1;
			break;
		case 12:
			key_value=six_key;
			key_flag=1;
			break;	   
		case 13:
			key_value=bolus_key;
			break;
		case 14:
			key_value=stop_key;
			stop_flag=1;
			break;	  
		case 1:
			key_value=one_key;
			key_flag=1;
			break;
		case 2:
			key_value=two_key;
			key_flag=1;
			break;
		case 3:
			key_value=run_key;
			break;
		case 4:
			key_value=three_key;
			key_flag=1;
			break;
		case 5:
			key_value=clear_key;
			break;
		case 6:
			key_value=off_key;
		if(stop_flag==1)
			{
				POWER_OFF;
			}
			break;
		case 24:
			key_value=up_key;
			break;
		case 25:
			key_value=down_key;
			break;
		case 26:
			key_value=f3_key;
			break;
		case 27:
			key_value=f4_key;
			break;
		default:break;

	  }	 
	EX2=1;
	EA=1;
	}
*/

⌨️ 快捷键说明

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