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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1475|回復: 2
打印 上一主題 下一主題
收起左側

新手求助關于單片機矩陣鍵盤程序問題,沒反應

[復制鏈接]
跳轉到指定樓層
樓主
布置的任務一部分是按下矩陣鍵盤S6讓led亮一個燈,我自己寫的程序按下S6并沒有任何反應,請幫我看一下怎么回事

單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. sbit LED1 = P1^0;
  4. unsigned char key_number=1;
  5. void delay(unsigned int x)
  6. {
  7.         unsigned char i, j;
  8.         while(x>0){
  9.                 _nop_();                                 
  10.                 i = 2;
  11.                 j = 199;
  12.                 do
  13.                 {
  14.                         while (--j);
  15.                 } while (--i);
  16.                 x--;
  17.         }
  18. }

  19. unsigned char KeyScan()
  20. {
  21.         P3=0xf0;
  22.         if(P3!=0xf0)
  23.         {
  24.                 delay(10);
  25.                 if(P3!=0xf0)
  26.                 {
  27.                         switch(P3)
  28.                         {
  29.                                 case 0xe0:key_number=0;
  30.                             case 0xd0:key_number=1;
  31.                                 case 0xb0:key_number=2;
  32.                                 case 0x70:key_number=3;
  33.                         }
  34.                         P3=0x0f;
  35.                         switch(P3)
  36.                         {
  37.                                 case 0x0e:key_number=key_number;
  38.                                 case 0x0d:key_number=key_number+4;
  39.                                 case 0x0b:key_number=key_number+8;
  40.                                 case 0x07:key_number=key_number+12;
  41.                         }
  42.                 }
  43.         }
  44.         return key_number;
  45. }
  46. void main()
  47. {
  48.         key_number=KeyScan();
  49.         if(key_number==0)
  50.         {
  51.                 LED1 = 0;        
  52.         }
  53. }
復制代碼

矩陣鍵盤.png (76 KB, 下載次數: 25)

矩陣鍵盤原理圖

矩陣鍵盤原理圖

LED.png (60.14 KB, 下載次數: 30)

LED燈原理圖

LED燈原理圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2022-2-13 05:58 | 只看該作者
程序基本結構有嚴重錯誤,switch語句的格式不完整。
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. sbit LED1 = P1^0;
  4. unsigned char key_number=1;
  5. void delay(unsigned int x)
  6. {
  7.         unsigned char i, j;
  8.         while(x>0){
  9.                 _nop_();   
  10.                 i = 2;
  11.                 j = 199;
  12.                 do
  13.                 {
  14.                 while (--j);
  15.                 } while (--i);
  16.                 x--;
  17.         }
  18. }

  19. unsigned char KeyScan()
  20. {
  21.         P3=0xf0;
  22.         if(P3!=0xf0)
  23.         {
  24.                 delay(10);
  25.                 if(P3!=0xf0)
  26.                 {
  27.                         switch(P3)
  28.                         {
  29.                                 case 0xe0:key_number=0;break;
  30.                                 case 0xd0:key_number=1;break;
  31.                                 case 0xb0:key_number=2;break;
  32.                                 case 0x70:key_number=3;break;
  33.                         }
  34.                         P3=0x0f;
  35.                         switch(P3)
  36.                         {
  37.                                 case 0x0e:key_number=key_number+0;break;
  38.                                 case 0x0d:key_number=key_number+4;break;
  39.                                 case 0x0b:key_number=key_number+8;break;
  40.                                 case 0x07:key_number=key_number+12;break;
  41.                         }

  42.                 }
  43.         }
  44.         return key_number;
  45. }
  46. void main()
  47. {
  48.         while(1)
  49.         {
  50.                 key_number=KeyScan();
  51.                 if(key_number==0)
  52.                 {
  53.                         LED1 = 0;
  54.                 }
  55.                 else LED1 = 1;
  56.         }
  57. }
復制代碼
回復

使用道具 舉報

板凳
ID:1002906 發表于 2022-2-13 08:26 | 只看該作者
wulin 發表于 2022-2-13 05:58
程序基本結構有嚴重錯誤,switch語句的格式不完整。

謝謝,已經解決了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品中文字幕一区二区三区 | 在线国产一区二区 | 日本特黄特色aaa大片免费 | 国产成人免费视频 | 日日夜夜免费精品 | 羞视频在线观看 | 九九九久久国产免费 | 日韩在线国产 | 亚洲视频 欧美视频 | 伊人一二三 | 在线成人精品视频 | 91成人免费电影 | 国产在线观看一区二区三区 | 中文字幕在线一区二区三区 | 一区二区三区国产好 | 久久久激情视频 | 中文在线a在线 | 国产三级大片 | 一区日韩 | 狠狠草视频 | 国产精品久久久久久久久久久免费看 | 日本中出视频 | 久久9热| 欧美成人免费 | 国产精品揄拍一区二区 | 中文无码日韩欧 | www亚洲一区| 日韩中文字幕一区 | 美女黄频 | 91视频麻豆 | 国产精品国产a | 黄色大片免费观看 | 欧美婷婷 | 免费观看一级特黄欧美大片 | 日韩最新网站 | 日韩三级| 欧美福利久久 | 一级毛片免费看 | 日韩av一区二区在线观看 | 色综久久| 久久不卡 |