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

📄 havekey.c.bak

📁 初学者首选各种实验原代码
💻 BAK
字号:
/***************************************************************
功能:识别有无按键,当有键按下蜂鸣器发声,直至松开后停止发声                             
作者:SG                                                         
时间:2004-03-15                                                 
版本:V1.0                                                       
***************************************************************/

sfr   KeyPort  = 0xa0; 
sbit  col1 		= 0x96;                 //对应CPU管脚P1.6  
sbit  col2 		= 0x97;                 //对应CPU管脚P1.7  

sbit  _Speak 	= 0xb2;                	//对应CPU管脚P1.2

/*-------------------------------------------------
功能100uS延时子程序
-------------------------------------------------*/
void Delay_xuS(unsigned int x)
{
    unsigned int i,j;
    for( i =0;i < x;i++ )
    {
        for( j =0;j<50;j++ );
    }
}

/*--------------------------------------------------
功能:发音子程序每调用一次响一下
---------------------------------------------------*/
void Song()
{
	unsigned char i;
	for( i = 0;i < 10;i++)
	{
		_Speak = 0;
		Delay_xuS(1);
		_Speak = 1;
		Delay_xuS(1);
	}
}
/*--------------------------------------------------
功能:判别有无按键按下,无返回0,有按下使蜂鸣器发声
   并直到按键松开,返回1
---------------------------------------------------*/
bit haveKey()
{
      unsigned char temp;
       KeyPort = 0xFF;
 	   row1 = 0;						//扫描线置低
       row2 = 0;						//扫描线置低
       temp = KeyPort ;					//读键盘端口
       if( (temp & 0x30) == 0x30 )				//等于FF表示没键按下
       {
           _ReadKey = 1;
           return(0);					//无按键返回0
       }
  					
       do
       {
       		Song();						//发声
            temp = KeyPort;				//读键盘
       }while(temp !=0x30);
       _ReadKey = 1;					//关闭键盘输入口
       return(1);						//有按键返回1
}

/*--------------------------------------------------
主程序
功能:识别有无按键,当有键按下蜂鸣器发声,
      直至松开后停止发声 
---------------------------------------------------*/
void main()
{
    while(1)
    {
         if ( haveKey() )			//识别有无按键
         {
             _Speak = 1;			//停止发声
         }
    }
}


⌨️ 快捷键说明

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