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

📄 interface_ps2.c

📁 利用SMALL RTOS51做的一个项目
💻 C
字号:
#include"config.h"



//*******************************************************************************************************
//*****************************         GLOBAL   PERAMETER          *************************************
//*******************************************************************************************************







/*********************************************************************************************************
** 函数名称: SendCmd2KeyBoard							 注意,对系统会有较大影响
** 功能描述: 发送控制命令到键盘
**
** 输 入: cmd
** 输 出: test
** 全局变量: 无
** 调用模块: 
**
** 作 者: 龚树强
** 日 期: 2004年10月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/*		uint8 SendCmd2KeyBoard(unsigned char cmd)
{
	unsigned char i,temp;
	unsigned char timer;
    bit test;

    test=1;
 	PS2_CLK=1;
    PS2_DATA=1;

	for(i=100;i--;);


	PS2_CLK=0;

	for(i=100;i--;);
        
	PS2_DATA=0;
    PS2_CLK=1;

	temp=cmd;

	for(i=0;i<8;i++)
	{
		for(timer=OVERTIME_THREAD;timer--;)
		{
			if(!PS2_CLK){break;}
	    } 
        if(!timer)return 0;
                
        temp=cmd&0x01;

		if(temp)
        {
			PS2_DATA=1;
       	 	test=!test;
        }
		else
			PS2_DATA=0;

		for(timer=OVERTIME_THREAD;timer--;)
		{
			if(PS2_CLK){break;}
		}
        if(!timer)return 0;
                
                
		cmd>>=1;
	}

	for(timer=OVERTIME_THREAD;timer--;)
	{
		if(!PS2_CLK){break;}
	}
    if(!timer)return 0;
                
    PS2_DATA=test;

	for(timer=OVERTIME_THREAD;timer--;)
	{
		if(PS2_CLK){break;}
	}
    if(!timer)return 0;
                
        
    for(timer=OVERTIME_THREAD;timer--;)
	{
		if(!PS2_CLK){break;}
	}
    if(!timer)return 0;
                
    PS2_DATA=1;

	for(timer=OVERTIME_THREAD;timer--;)
	{
		if(PS2_CLK){break;}
	}
    if(!timer)return 0;
                
        
	PS2_CLK=1;
    PS2_DATA=1;
        
    return 1;

}
			 */
/*********************************************************************************************************
** 函数名称: LedNumOn
** 功能描述: 发送控制命令到键盘
**
** 输 入: cmd
** 输 出: test
** 全局变量: 无
** 调用模块: 
**
** 作 者: 龚树强
** 日 期: 2004年10月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

		void LedNumOn(void)
{
//	EA=0;						
//	SendCmd2KeyBoard(0xed);	
//	SendCmd2KeyBoard(0x02);		
//	SendCmd2KeyBoard(0xed);		
//	SendCmd2KeyBoard(0x02);		

	
//	EA=1;

	_Flag_StateLed=1;
	Write728x(0x18,0x77);	
}
	

/*********************************************************************************************************
** 函数名称: LedNumOff
** 功能描述: 发送控制命令到键盘
**
** 输 入: cmd
** 输 出: test
** 全局变量: 无
** 调用模块: 
**
** 作 者: 龚树强
** 日 期: 2004年10月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

		void LedNumOff(void)
{
//	EA=0;						
//	SendCmd2KeyBoard(0xed);	
//	SendCmd2KeyBoard(0x00);		
//	SendCmd2KeyBoard(0xed);		
//	SendCmd2KeyBoard(0x00);		

	_Flag_StateLed=0;
	Write728x(0x18,0x77|0x80);
//	EA=1;		
}
	


⌨️ 快捷键说明

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