📄 训练项目九:ps2键盘的使用1.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 + -