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

📄 训练项目九:ps2键盘的使用1.c

📁 长沙理工自己的实验程序
💻 C
字号:

/****************************************************************************
** File Name:          PS/2键盘的使用
** Createed By:        Wangchangsong
** Create Date:        07/24/2008
** Version:            1.0
** Descriptions:       
**
**---------------------------------------------------------------------------
** Modified By:
** Modified Date:
** Version:
** Descriptions:
**
****************************************************************************/
#include <lcd.h>

/****************************************************************************
** Function Name:      delay     
** Descriptions:       delay time
** Input Parameters:   t
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void delay (unsigned int t)                      /*延时*/
{
    unsigned char i;
    for (i=1;i<t;i++);
}

/****************************************************************************
** Function Name:      lcd_w     
** Descriptions:       write date
** Input Parameters:   date
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void lcd_w(unsigned char data)
{
    unsigned char *p=(unsigned char *)(LCD);
	
    while((PINE&0x80)!=0x00);
    dat;
    *p=data;
    cl_dat;
    req;
	
    while((PINE&0x80)==0x00);
    cl_req;
}

/****************************************************************************
** Function Name:      lcd_init     
** Descriptions:       
** Input Parameters:   void
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void lcd_init (void)
{
    MCUCR=MCUCR|0x80;
    DDRB|=0x01;
    PORTB&=0xfe;
    DDRE=0x40;
    PORTE=0xff;
	
    cl_reset;
    delay(10);
	set_reset;
    delay(10);
    cl_req;
    delay(10);
}

/****************************************************************************
** Function Name:      timeDelay       
** Descriptions:       delay time
** Input Parameters:   uiTime
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void lcd_clear (void)
{
    lcd_w(0xf4);
}

/****************************************************************************
** Function Name:      lcd_putsc  
** Descriptions:       
** Input Parameters:   x,y,ch
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/
void lcd_putsc (unsigned char x,unsigned char y,unsigned char *ch)
{
    x+=2;
    while (*ch!=0)
	{
        lcd_w(0xf0);
        lcd_w(x);
        lcd_w(y);
        lcd_w(*ch-0xa0);
        ch++;
        lcd_w(*ch-0xa0);
        ch++;
        if (x>=0x09)
		{
            x=2;
            y+=1;
        }
		else
		{ 
            x++;
		}
    }
}

/****************************************************************************
** Function Name:      lcd_putse       
** Descriptions:      
** Input Parameters:   x,y,ch
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/

void lcd_putse (unsigned char x,unsigned char y,unsigned char *ch)
{
    x+=4;
    while (*ch!=0){
        lcd_w(0xf1);
        lcd_w(x);
        lcd_w(y);
        lcd_w(*ch);
        ch++;
        if (x>=19){
            x=4;
            y+=8;
        }else{ 
            x++;
		}
    }
}

/****************************************************************************
** Function Name:      lcd_putss       
** Descriptions:      
** Input Parameters:   x,y,ch
** Output parameters:  void
** Returned Value:     void
**---------------------------------------------------------------------------
****************************************************************************/
void lcd_putss (unsigned char x,unsigned char y,unsigned char ch)
{
    x+=4;
    lcd_w(0xf1);
    lcd_w(x);
    lcd_w(y);
    lcd_w(ch);
}

⌨️ 快捷键说明

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