原创 51 键盘控制实验 实验(二十)

2008-5-12 11:41 4107 6 6 分类: MCU/ 嵌入式

点击下载


这个实验可以利用鼠标来控制单片机,在LCD1602上面显示相应的动作,详细见附件


平台:FDR-1 51 开发板


主程序代码:


#include


#include "LCD1602_4.h"
#include "ps2.h"


unsigned char key_bit=0,key_mem[10]={0};


void main()
{
 unsigned char temp="0",i=0,j=0,y=0;
 LCD_init();        //1602初始化
 EA=1;          //开总中断
 IT0=1;
 EX0=1;          //开INT0中断
 LCD_write_string(0,0,"Ready Go!"); //说明初始化成功
 
 while(1)
 {
  if(BF)         //如果有按键按下则放进缓冲区
  {
   j+=getchar(keycode);    //去掉断码
   if(j==2)
   {
    key_mem[key_bit]=ps2_key;//放进缓冲器
    key_bit++;
    j=0;
   }
   BF=0;       //再开中断
   EX0=1;
  }
  while(key_bit!=0)     //缓冲区如果有键码,则显示
  {
   if(temp>0x0f && keycode!=102)//液晶换行
   {
    temp=0;
    if(y==0)y++;
    else {y=0;CLEARSCREEN;}   //显示满屏幕则清屏
   }
   if(keycode==102)     //如果有BackSpace按下则删掉前一个键
   {
    temp--;
    LCD_write_char(temp,y,' ');
    LCD_set_xy(temp,y);
   }
   else
   {
    LCD_write_char(temp,y,key_mem[0]);//显示缓冲区的键码
    temp++;
   }
   for(i=0;i   {
      key_mem=key_mem[i+1];
    i++;
   }
   key_bit--;
   
   if(BF==1)break;
  }
 }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条