📄 key.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 + -