回覆列表
  • 1 # 使用者2008204498042

      uchar anjian(void)  {  uchar num;  P1=0xfe; /*檢查第一行*/  temp=P1;/*讀回IO口值*/  temp=temp&0xf0; /*將低四位遮蔽掉*/  while(temp!=0xf0)/*如果不相等證明有鍵按下*/  {  delay(6);  temp=P1;  temp=temp&0xf0;  while(temp!=0xf0)  {  temp=P1;/*把讀回的埠值傳給temp*/  switch(temp)  {  case 0xee:num=1;/*1*/  break;  case 0xde:num=2;/*2*/  break;  case 0xbe:num=3;/*3*/  break;  case 0x7e:num=14;/*開始*/  break;  }  while(P1==oxfe);/////////////////改動/////////////////////////  while(temp!=0xf0)  {  temp=P1;  temp=temp&0xf0;  }  }  }  P1=0xfd;/*檢查第二行*/  temp=P1;/*讀回IO口值*/  temp=temp&0xf0; /*將低四位遮蔽掉*/  while(temp!=0xf0)/*如果不相等證明有鍵按下*/  {  delay(6);  temp=P1;  temp=temp&0xf0;  while(temp!=0xf0)  {  temp=P1;/*把讀回的埠值傳給temp*/  switch(temp)  {  case 0xed:num=4;/*4*/  break;  case 0xdd:num=5;/*5*/  break;  case 0xbd:num=6;/*6*/  break;  case 0x7d:num=15;/*停止*/  break;  }  while(P1==0xfd);/////////////改動////////////////////  while(temp!=0xf0)/*鬆手檢測*/  {  temp=P1;  temp=temp&0xf0;  }  }  }  P1=0xfb;/*檢查第三行*/  temp=P1;/*讀回IO口值*/  temp=temp&0xf0; /*將低四位遮蔽掉*/  while(temp!=0xf0)/*如果不相等證明有鍵按下*/  {  delay(6);  temp=P1;  temp=temp&0xf0;  while(temp!=0xf0)  {  temp=P1;/*把讀回的埠值傳給temp*/  switch(temp)  {  case 0xeb:num=7;/*7*/  break;  case 0xdb:num=8;/*8*/  break;  case 0xbb:num=9;/*9*/  break;  case 0x7b:num=16;/*SET*/  break;  }  while(P1==oxfb);/////////////////改動////////////////////////  while(temp!=0xf0)  {  temp=P1;  temp=temp&0xf0;  }  }  }  P1=0xf7; /*檢查第四行*/  temp=P1;/*讀回IO口值*/  temp=temp&0xf0; /*將低四位遮蔽掉*/  while(temp!=0xf0)/*如果不相等證明有鍵按下*/  {  delay(6);  temp=P1;  temp=temp&0xf0;  while(temp!=0xf0)  {  temp=P1; /*把讀回的埠值傳給temp*/  switch(temp)  {  case 0xe7:num=0;/*0*/  break;  case 0xd7:num=11;/*OK*/  break;  case 0xb7:num=12;/*CE*/  break;  case 0x77:num=13;/*EXIT*/  break;  }  while(P1==oxf7);//////////////改動////////////////////  while(temp!=0xf0)  {  temp=P1;  temp=temp&0xf0;  }  }  }  return num;/*把按鍵鍵值num返回給anjian()*/  你在自己看看吧,應該就是這樣改動的,方法就是按照我的改動方法

  • 中秋節和大豐收的關聯?
  • 有什麼關於泰山的詩詞?