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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1743|回復: 3
收起左側

keil c51 AT89C51單片機矩陣鍵盤程序問題

[復制鏈接]
ID:1082543 發表于 2023-6-7 11:50 | 顯示全部樓層 |閱讀模式
在做2x5的矩陣鍵盤時,寫完一段代碼后檢測的時候,行的那個紅藍指示燈狂閃是為什么啊哥,是定義出錯了嗎
1.png
下面是代碼:
#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

sbit H1 = P1^0;
sbit H2 = P1^1;
sbit L1 = P1^2;
sbit L2 = P1^3;
sbit L3 = P1^4;
sbit L4 = P1^5;
sbit L5 = P1^6;

sbit LATCH = P2^2;
sbit CLK = P2^1;
sbit DIO = P2^0;

uchar code LED_NUM[] = {
    0x3f, 0x06, 0x5b, 0x4f, 0x66,
    0x6d, 0x7d, 0x07, 0x7f, 0x6f
};

void delay(uint t)
{
    uint i, j;
    for (i = 0; i < t; i++)
    {
        for (j = 0; j < 120; j++);
    }
}

uchar get_key()
{
    uchar key = 0xff;
    H1 = 0;
    if (L1==0) key = 1;
    if (L2==0) key = 2;
    if (L3==0) key = 3;
    if (L4==0) key = 4;
    if (L5==0) key = 5;
    H1 = 1;

    H2 = 0;
    if (L1==0) key = 6;
    if (L2==0) key = 7;
    if (L3==0) key = 8;
    if (L4==0) key = 9;
    if (L5==0) key = 0;
    H2 = 1;

    return key;
}

void display(uchar ten, uchar one)
{
    LATCH = 0;
    DIO = LED_NUM[ten];
    CLK = 0;
    CLK = 1;
    DIO = LED_NUM[one];
    CLK = 0;
    CLK = 1;
    LATCH = 1;
}

void main()
{
    uchar key, ten, one;
    P0 = 0x00;
    P1 = 0xff;
    P2 = 0x00;
    while (1)
    {
        key = get_key();
        if (key!=0xff)
        {
            ten = key / 10;
            one = key % 10;
            display(ten, one);
        }
    }
}

回復

使用道具 舉報

ID:332444 發表于 2023-6-7 14:55 | 顯示全部樓層
直接16鍵盤不用的不接電路就是成熟的掃描方案省事。當然這樣也是可以的,那就是按獨立按鍵處理,獨立按鍵也是可以8+8=16,掃描方式是分2次置47再讀取和置31再讀取。
回復

使用道具 舉報

ID:332444 發表于 2023-6-7 15:32 | 顯示全部樓層
舉個荔枝,直接把矩陣修改為獨立按鍵形式的掃描法,電路圖不用修改,修改的是掃描值方法,把電路圖中的P1的4-7引腳分別4次接地就是4*4獨立按鍵,同樣可以顯示掃描鍵值原值,有了原值就可以進行任意重新排列。從動畫可以看到P1的4-7引腳分別變藍色的就是4次掃描的結果,其實和按行列掃描道理和鍵值是一樣的。
錄像61_轉.gif
3.png
如果把后面2次掃描不用則和你的電路接法就是一樣的了就是少接一個按鍵。
錄像62_轉.gif

回復

使用道具 舉報

ID:1082543 發表于 2023-6-7 23:37 | 顯示全部樓層
xianfajushi 發表于 2023-6-7 15:32
舉個荔枝,直接把矩陣修改為獨立按鍵形式的掃描法,電路圖不用修改,修改的是掃描值方法,把電路圖中的P1的 ...

感謝大神,終于搞成了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费一区二区三区四区 | 成人毛片在线视频 | 国内精品久久久久久久 | 精品一区二区三区免费视频 | 91av在线免费播放 | 日韩一区二区三区在线观看视频 | 中文字幕视频在线免费 | 国产精品资源在线观看 | 国产精品色一区二区三区 | 爱草在线 | 美女天天干天天操 | av色站| 午夜91| 91久久精品一区二区二区 | 99日韩 | 在线亚洲人成电影网站色www | 国产二区视频 | 国产片淫级awww | 天天干夜夜操 | 黄网站免费观看 | 日韩一区二区三区在线观看视频 | 日韩欧美国产成人一区二区 | 久久久久久国产一区二区三区 | 亚洲激精日韩激精欧美精品 | 国产一区二区三区在线看 | 国产精品久久久久久久久久尿 | 久久99精品国产自在现线小黄鸭 | 午夜三级在线观看 | 国产中文字幕在线 | 国产精品一区二区视频 | 久久精品中文字幕 | 欧美视频成人 | 色婷婷精品久久二区二区蜜臂av | 不卡的av在线 | 欧美一区二区在线看 | 在线成人免费视频 | 久久久综合色 | 欧美一区视频 | 成人av免费播放 | 亚洲三级国产 | 久久久久久免费精品一区二区三区 |