久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STC15單片機按鍵松開會亂碼,想問一下這種情況怎么解決 [打印本頁]

作者: 吳語吖    時間: 2019-3-3 20:40
標題: STC15單片機按鍵松開會亂碼,想問一下這種情況怎么解決
  1. #include <STC15F2K60S2.H>
  2. #include <intrins.h>
  3. #include "GPIO.h"//里面是延時函數和初始化

  4. uc bs[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  5. /**********************
  6. 按鍵掃描
  7. **********************/
  8. ui keys_scanning ()
  9. {  
  10. ui key_x,key_y,key;
  11.     P1=0xf0;
  12.    delay(1);
  13.   if(P1 != 0xf0)
  14.   {
  15.    delay(1);
  16.    P1=0xf0;
  17.       delay(1);
  18.    if(P1!=0xf0)
  19.    {
  20.    switch(P1)
  21.     {
  22.      case 0xe0:key_x=0;break;
  23.      case 0xd0:key_x=1;break;
  24.      case 0xb0:key_x=2;break;
  25.      case 0x70:key_x=3;break;
  26.     }
  27.    P1=0x0f;
  28.    delay(1);   
  29.    switch(P1)
  30.     {
  31.      case 0x07:key_y=0;break;
  32.      case 0x0b:key_y=1;break;
  33.      case 0x0d:key_y=2;break;
  34.      case 0x0e:key_y=3;break;
  35.     }  
  36.    }
  37.    else
  38.    {
  39.     key=0;
  40.    }   
  41.   }
  42.   key = key_x*4+key_y;
  43.   return(key);
  44. }
  45. /**********************
  46. 數碼管顯示
  47. **********************/
  48. void display(unsigned int shuzi)
  49. {
  50. P0=0x00;
  51. P3=bs[shuzi/1000%10];
  52. P0=0x10;
  53. delay(1);

  54. P0=0x00;
  55. P3=bs[shuzi/100%10];
  56. P0=0x20;
  57. delay(1);

  58. P0=0x00;
  59. P3=bs[shuzi/10%10];
  60. P0=0x40;
  61. delay(1);

  62. P0=0x00;
  63. P3=bs[shuzi%10];
  64. P0=0x80;
  65. delay(1);
  66. }
  67. /**********************
  68. 主函數
  69. **********************/
  70. void main()
  71. {
  72.   IO_Itin();
  73.   while(1)
  74.   {
  75.      display(keys_scanning());
  76.     delay(5);
  77.   }
  78. }
復制代碼


作者: yzwzfyz    時間: 2019-3-4 08:01
如何你能不用delay來做,差不多就好了。
作者: wulin    時間: 2019-3-4 09:03
按鍵掃描改這樣試試
  1. /**********************
  2. 按鍵掃描
  3. **********************/
  4. ui keys_scanning ()
  5. {  
  6.         ui key_x,key_y,key;
  7.         P1=0xf0;
  8.         _nop_();
  9.         if(P1!=0xf0)
  10.         {
  11.                 delay(10);
  12.                 if(P1!=0xf0)
  13.                 {
  14.                         switch(P1)
  15.                         {
  16.                                 case 0xe0:key_x=0;break;
  17.                                 case 0xd0:key_x=1;break;
  18.                                 case 0xb0:key_x=2;break;
  19.                                 case 0x70:key_x=3;break;
  20.                         }
  21.                         P1=0x0f;
  22.                         _nop_();   
  23.                         switch(P1)
  24.                         {
  25.                                 case 0x07:key_y=0;break;
  26.                                 case 0x0b:key_y=1;break;
  27.                                 case 0x0d:key_y=2;break;
  28.                                 case 0x0e:key_y=3;break;
  29.                         }  
  30.                         key = key_x*4+key_y+1;//1~16
  31.                         return(key);
  32.                 }
  33.         }       
  34.         else        return 0x00;  
  35. }
復制代碼

作者: 吳語吖    時間: 2019-3-5 22:37
wulin 發表于 2019-3-4 09:03
按鍵掃描改這樣試試

多謝大佬,已解決
作者: 樂點點    時間: 2019-3-5 23:35
用數碼管的話要消影
作者: xixi2006    時間: 2019-3-5 23:41
看看是怎樣解決的。
作者: 正規007    時間: 2019-3-6 10:59
wulin 發表于 2019-3-4 09:03
按鍵掃描改這樣試試

很好,就是要這樣做




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 奇米四色在线观看 | 久久精品亚洲 | 伊人精品在线 | 国产粉嫩尤物极品99综合精品 | 伊人二区 | 国产成人精品一区二区三区在线 | 91av视频在线播放 | 情侣av| 99综合| 精品视频一区二区三区在线观看 | 久久一二三区 | 国产无人区一区二区三区 | 高清国产一区二区 | 999国产精品视频免费 | 亚洲精品大片 | 欧美国产日韩在线观看 | 国产午夜精品一区二区三区在线观看 | 欧美视频在线观看 | 亚洲国产精品久久久久久 | a级片网站 | 情侣黄网站免费看 | 成人综合久久 | 一区二区三区四区电影视频在线观看 | 99视频免费 | 成人精品一区二区三区四区 | 一区二区三区国产在线观看 | 中文字幕av网 | 午夜精品一区二区三区在线视频 | 一区二区成人 | 青青久久| 在线午夜 | 偷拍自拍网| 亚洲精品欧美一区二区三区 | 欧美日韩精品综合 | 另类视频区 | 久久高清免费视频 | 亚洲福利在线视频 | 国产小视频在线 | av免费网站在线观看 | 五月综合色啪 | 成人av在线大片 |