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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1308|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)矩陣鍵盤C語言程序不運行 不用return,不寫成函數(shù),在while大循環(huán)里可以

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:994128 發(fā)表于 2022-1-2 10:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wela=P2^7;
sbit dula=P2^6;
uchar temp,num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
void delay(uchar z);
uchar keyscan();
void display(uchar aa);
void main()
{
        num=17;
        dula=1;
        P0=0;
        dula=0;
        wela=1;
        P0=0xc0;
        wela=0;
        while(1)
        {
                    display(keyscan());

        }
}
void display(uchar aa)
{
        dula=1;
        P0=table[aa-1];
        dula=0;
}
uchar keyscan()
{
        P3=0xfe;
        temp=P3;
        temp=temp&0xf0;
        if(temp!=0xf0)
        {
                delay(5);
                temp=P3;
            temp=temp&0xf0;
                while(temp!=0xf0)
                {
                   temp=P3;
                   switch(temp)
                   {
                        case 0xee:num=1;
                                break;
                        case 0xde:num=2;
                                break;
                        case 0xbe:num=3;
                                break;
                        case 0x7e:num=4;
                                break;
                    }
                 while(temp!=0xf0);
                 {
                 temp=P3;
                 temp=temp&0xf0;
                 }
                 }
        }
        return num;
}
void delay(uchar z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
代碼是先寫,后照范例改

1.PNG (135.24 KB, 下載次數(shù): 142)

1.PNG

2.PNG (34.44 KB, 下載次數(shù): 139)

2.PNG

范例.zip

599 Bytes, 下載次數(shù): 2

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

使用道具 舉報

沙發(fā)
ID:301191 發(fā)表于 2022-1-2 20:45 | 只看該作者
頂一下
回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2022-1-3 08:54 | 只看該作者
改成這樣
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit wela=P2^7;
  5. sbit dula=P2^6;
  6. uchar temp,num;
  7. uchar code table[]={
  8. 0x3f,0x06,0x5b,0x4f,
  9. 0x66,0x6d,0x7d,0x07,
  10. 0x7f,0x6f,0x77,0x7c,
  11. 0x39,0x5e,0x79,0x71,0};

  12. void delay(uchar z);
  13. uchar keyscan();
  14. void display(uchar aa);
  15. void main()
  16. {
  17.         num=17;
  18.         wela=1;
  19.         P0=0xfe;
  20.         wela=0;
  21.         dula=1;
  22.         P0=0;
  23.         dula=0;
  24.         while(1)
  25.         {
  26.                 display(keyscan());
  27.         }
  28. }
  29. void display(uchar aa)
  30. {
  31.         dula=1;
  32.         P0=table[aa-1];
  33.         dula=0;
  34. }
  35. uchar keyscan()
  36. {
  37.         P3=0xf0;
  38.         if(P3!=0xf0)
  39.         {
  40.                 delay(5);
  41.                 if(P3!=0xf0)
  42.                 {
  43.                         temp=P3;
  44.                         P3=0x0f;
  45.                         P3|=temp;
  46.                         switch(P3)
  47.                         {
  48.                                 case 0xee: num= 1; break;
  49.                                 case 0xde: num= 2; break;
  50.                                 case 0xbe: num= 3; break;
  51.                                 case 0x7e: num= 4; break;
  52.                                 case 0xed: num= 5; break;
  53.                                 case 0xdd: num= 6; break;
  54.                                 case 0xbd: num= 7; break;
  55.                                 case 0x7d: num= 8; break;
  56.                                 case 0xeb: num= 9; break;
  57.                                 case 0xdb: num=10; break;
  58.                                 case 0xbb: num=11; break;
  59.                                 case 0x7b: num=12; break;
  60.                                 case 0xe7: num=13; break;
  61.                                 case 0xd7: num=14; break;
  62.                                 case 0xb7: num=15; break;
  63.                                 case 0x77: num=16; break;
  64.                         }
  65.                         P3=0x0f;
  66.                         while(P3!=0x0f);
  67.                 }
  68.         }
  69.         return num;
  70. }
  71. void delay(uchar z)
  72. {
  73.         uint x,y;
  74.         for(x=z;x>0;x--)
  75.                 for(y=110;y>0;y--);
  76. }
復(fù)制代碼
回復(fù)

使用道具 舉報

地板
ID:994128 發(fā)表于 2022-1-3 13:14 來自手機(jī) | 只看該作者
wulin 發(fā)表于 2022-1-3 08:54
改成這樣

謝謝!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人三级视频 | 精品国产综合 | 天天射天天操天天干 | 综合国产 | 成人激情视频在线播放 | 国产中文字幕在线 | 久久一区精品 | 色综合视频 | 国产乱码精品一区二区三区忘忧草 | 操一草 | 国产特级毛片aaaaaa | 草久视频| 成人精品一区二区 | 国产精品久久久久久久久污网站 | 欧美精品一区二区三区在线四季 | 欧美福利在线 | 国产精品三级久久久久久电影 | 91精品久久 | 一区二区三区四区在线免费观看 | www免费视频 | 91亚洲国产成人久久精品网站 | 91天堂| 91成人精品 | 91高清免费观看 | 国产亚洲精品精品国产亚洲综合 | 日本黄色的视频 | 91麻豆精品一区二区三区 | 亚洲精品天堂 | 亚洲免费大片 | 黑人成人网 | 免费亚洲成人 | 精品二三区 | 人人干人人爽 | 精品国产乱码久久久久久88av | 一区二区三区免费看 | 日韩国产在线观看 | 武道仙尊动漫在线观看 | 欧美一区精品 | 日韩成人免费视频 | av一区二区在线观看 | 午夜免费 |