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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

寫的單片機矩陣鍵盤的程序不知道那邊出現了錯誤,求大神

[復制鏈接]
跳轉到指定樓層
樓主
ID:154562 發表于 2017-1-9 15:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit keyinx1=P3^0;
  5. sbit keyinx2=P3^1;
  6. sbit keyinx3=P3^2;
  7. sbit keyinx4=P3^3;
  8. sbit keyout1=P3^4;
  9. sbit keyout2=P3^5;
  10. sbit keyout3=P3^6;
  11. sbit keyout4=P3^7;

  12. sbit dula=P2^6;
  13. sbit wela=P2^7;

  14. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  15. uchar zankey[4][4]={
  16.                                    {1,1,1,1},
  17.                                    {1,1,1,1},
  18.                                    {1,1,1,1},
  19.                                    {1,1,1,1}
  20.                                    };

  21. void main(void)
  22. {
  23.         uchar i,j;
  24.         uchar beikey[4][4]={
  25.                                                 {1,1,1,1},
  26.                                                 {1,1,1,1},
  27.                                                 {1,1,1,1},
  28.                                                 {1,1,1,1}
  29.                                                 };
  30.         
  31.         dula=1;           //讓右一數碼管顯示
  32.         P0=table[0];
  33.         dula=0;
  34.         P0=0xff;
  35.         wela=1;
  36.         P0=0xdf;
  37.         wela=0;
  38.         
  39.         TMOD=0x01;           //定義定時器0
  40.         TH0=(65535-200000)>>8;
  41.         TL0=(65535-20000);
  42.         EA=1;
  43.         ET0=1;
  44.         TR0=1;
  45.         
  46.         while(1)
  47.         {
  48.                 for(i=0;i<4;i++)
  49.                 {
  50.                          for(j=0;j<4;j++)
  51.                          {
  52.                                   if(beikey[i][j]!=zankey[i][j])
  53.                                   {
  54.                                           if(beikey[i][j]==0)
  55.                                           {
  56.                                                    dula=1;           
  57.                                                 P0=table[i*4+j];
  58.                                                 dula=0;
  59.                                                 P0=0xff;
  60.                                                 wela=1;
  61.                                                 P0=0xdf;
  62.                                                 wela=0;

  63.                                           }
  64.                                           beikey[i][j]=zankey[i][j];
  65.                                   }
  66.                          }
  67.                 }
  68.         }

  69. }
  70. void T0_time() interrupt 1
  71. {
  72.         uchar i;
  73.         static uchar keyout=0;
  74.         static uchar butter[4][4]={
  75.         {0xff,0xff,0xff,0xff},
  76.         {0xff,0xff,0xff,0xff},
  77.         {0xff,0xff,0xff,0xff},
  78.         {0xff,0xff,0xff,0xff}
  79.         };
  80.         
  81.         TH0=(65535-20000)>>8;
  82.         TL0=(65535-20000);
  83.         
  84.         butter[keyout][0]=(butter[keyout][0]<<1)|keyinx1;
  85.         butter[keyout][1]=(butter[keyout][1]<<1)|keyinx2;
  86.         butter[keyout][2]=(butter[keyout][2]<<1)|keyinx3;
  87.         butter[keyout][3]=(butter[keyout][3]<<1)|keyinx4;
  88.         
  89.         switch(keyout)
  90.         {
  91.                  case 0:keyout1=0;keyout2=1;keyout3=1;keyout4=1;break;
  92.                  case 1:keyout1=1;keyout2=0;keyout3=1;keyout4=1;break;
  93.                  case 2:keyout1=1;keyout2=1;keyout3=0;keyout4=1;break;
  94.                  case 3:keyout1=1;keyout2=1;keyout3=1;keyout4=0;break;
  95.                  default:break;
  96.                
  97.         }

  98.         keyout++;
  99.         keyout&=0x03;
  100.         
  101.         for(i=0;i<4;i++)
  102.         {
  103.                  if((butter[keyout][i]&0x0f)==0x00)
  104.                  {
  105.                           zankey[keyout][i]=0;
  106.                  }
  107.                  else if(butter[keyout][i]&0x0f==0x0f)
  108.                  {
  109.                            zankey[keyout][i]=1;
  110.                  }
  111.         }
  112.         
  113. }
復制代碼

求大神幫我看看那邊有錯誤    單片機是郭天祥的板子  不知道那邊有問題

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

使用道具 舉報

沙發
ID:111634 發表于 2017-1-10 08:15 | 只看該作者
先學習正確的程序。
回復

使用道具 舉報

板凳
ID:154562 發表于 2017-1-10 22:32 | 只看該作者
zl2168 發表于 2017-1-10 08:15
先學習正確的程序。

????
回復

使用道具 舉報

地板
ID:161247 發表于 2017-1-11 07:00 來自手機 | 只看該作者
寫的不夠精簡,用編譯軟件編譯
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠操狠狠操 | 99在线精品视频 | 日韩激情免费 | 精品一区二区三区在线观看 | 国产黄色小视频 | 一区二区视频免费观看 | av免费看在线 | 国产高清精品一区二区三区 | 日一区二区 | 欧美精品乱码久久久久久按摩 | 成人做爰9片免费看网站 | 久久99国产精一区二区三区 | 在线观看欧美日韩视频 | 99福利在线观看 | 亚洲视频免费在线观看 | 国产特级毛片aaaaaa喷潮 | av手机在线 | av在线黄| 成人在线视频免费观看 | 黄色一级电影在线观看 | 久久一区二区三区四区 | 91精品久久久久久久久久入口 | 亚洲视频在线看 | 日日天天 | 91av在线视频观看 | 亚洲国产一区二区视频 | 亚洲国产一区在线 | 网色| 欧美xxxx黑人又粗又长 | 99久久国产| 在线视频一区二区三区 | 免费精品久久久久久中文字幕 | 亚洲精品久久久久久久久久久久久 | 亚洲在线一区二区 | 亚洲国产偷 | 国产日韩欧美精品 | 日韩精品一区二区三区在线播放 | 99热这里都是精品 | 久久成人精品视频 | 国产1页| 91 在线|