0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機矩陣鍵盤點亮對應(yīng)LED

電子開發(fā)圈 ? 來源:電子開發(fā)圈 ? 2023-01-13 09:54 ? 次閱讀

51單片機結(jié)構(gòu)簡單,架構(gòu)體系完備,學(xué)習(xí)資料豐富,應(yīng)用領(lǐng)域廣泛。通過對51單片機的學(xué)習(xí),可幫助小白實現(xiàn)快速入門電子設(shè)計,理解電路系統(tǒng)工作原理,為高級嵌入式芯片的學(xué)習(xí)及開發(fā)打下堅實基礎(chǔ)。

本篇描述

1、51+Proteus8.10;

2、學(xué)習(xí)矩陣鍵盤電路及驅(qū)動;

仿真設(shè)計

采用Proteus作為仿真設(shè)計工具。Proteus是一款著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。

軟件設(shè)計

采用Keil作為軟件設(shè)計工具。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。

#include
#define uchar unsigned char
#define uint unsigned int
#define KEY P1


uchar uca_LineScan[4]={0xEF,0xDF,0xBF,0x7F};
uchar KeyScan()
{
  uchar Temp=0;          
  uchar ucRow=0,ucLine=0;      


  for(ucLine=0;ucLine<4;ucLine++)  
    {
      KEY=uca_LineScan[ucLine];         
      Temp=KEY & 0x0F;           
      if(Temp!=0x0F)     
        {                   
        switch(Temp)
          {
          case 0x0E: ucRow=10;break;     
          case 0x0D: ucRow=20;break;
          case 0x0B: ucRow=30;break;
          case 0x07: ucRow=40;break;
          default:   ucRow=50;break;
          }
        break;
        }
    }


  KEY=0x0F;            
  return ucRow+ucLine+1;       
}


void KEY_CTRL(unsigned char KeyCode)
{
  switch(KeyCode)
    {
    case 11:P2=0xff;P3=0x7f;break;  
    case 12:P2=0xff;P3=0x3f;break;  
    case 13:P2=0xff;P3=0x1f;break;
    case 14:P2=0xff;P3=0x0f;break;
    case 21:P2=0xff;P3=0x07;break;  
    case 22:P2=0xff;P3=0x03;break;  
    case 23:P2=0xff;P3=0x01;break;
    case 24:P2=0xff;P3=0x00;break;
    case 31:P3=0x00;P2=0x7f;break;  
    case 32:P3=0x00;P2=0x3f;break;  
    case 33:P3=0x00;P2=0x1f;break;
    case 34:P3=0x00;P2=0x0f;break;
    case 41:P3=0x00;P2=0x07;break;  
    case 42:P3=0x00;P2=0x03;break;
    case 43:P3=0x00;P2=0x01;break;  
    case 44:P3=0x00;P2=0x00;break;  


    default:break;
    }
}


void main()
{
  while(1)
  {
    KEY_CTRL(KeyScan());
  }
}

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22907

    瀏覽量

    650117
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628369
  • Proteus
    +關(guān)注

    關(guān)注

    78

    文章

    1690

    瀏覽量

    106078
  • 51單片機
    +關(guān)注

    關(guān)注

    272

    文章

    5689

    瀏覽量

    122164
  • 矩陣鍵盤
    +關(guān)注

    關(guān)注

    7

    文章

    205

    瀏覽量

    31345

原文標題:5051-矩陣鍵盤點亮對應(yīng)LED

文章出處:【微信號:電子開發(fā)圈,微信公眾號:電子開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    51單片機矩陣鍵盤c語言程序

    51單片機矩陣鍵盤c語言程序,c51單片機實現(xiàn)矩陣
    發(fā)表于 07-21 09:20

    基于51單片機對4*4矩陣鍵盤掃描

    基于51單片機,對4*4矩陣鍵盤掃描,并用7段數(shù)碼管顯示按鍵信息。
    發(fā)表于 11-24 13:55 ?84次下載

    基于51單片機矩陣鍵盤電子密碼鎖

    基于51單片機矩陣鍵盤電子密碼鎖,使用矩陣鍵盤輸入四位密碼,有錯誤和正確提示音。
    發(fā)表于 07-21 11:23 ?116次下載

    51單片機3X44X4矩陣鍵盤,鍵盤掃描

    51單片機3X44X4矩陣鍵盤鍵盤掃描。
    發(fā)表于 08-18 18:03 ?39次下載

    單片機8x8矩陣鍵盤原理說明

    本文主要介紹了介紹基于51單片機矩陣鍵盤原理以及單片機8x8矩陣
    的頭像 發(fā)表于 02-24 16:14 ?2.5w次閱讀
    <b class='flag-5'>單片機</b>8x8<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>原理說明

    使用51單片機進行矩陣鍵盤的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機進行矩陣鍵盤的程序免費下載。
    發(fā)表于 04-15 18:22 ?5次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>進行<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的程序免費下載

    使用51單片機實現(xiàn)矩陣鍵盤的代碼免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機實現(xiàn)矩陣鍵盤的代碼免費下載。
    發(fā)表于 08-28 17:29 ?5次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現(xiàn)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的代碼免費下載

    使用51單片機實現(xiàn)矩陣鍵盤的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機實現(xiàn)矩陣鍵盤的程序免費下載。
    發(fā)表于 07-18 17:38 ?3次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現(xiàn)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的程序免費下載

    51單片機——LED燈的點亮

    點亮LED原理單片機點亮LED 利用LED陽極為正陰極為負才會導(dǎo)通
    發(fā)表于 11-11 19:21 ?19次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>LED</b>燈的<b class='flag-5'>點亮</b>

    51單片機按鍵檢測--獨立按鍵與矩陣鍵盤

    按鍵,每個按鍵對應(yīng)一個IO口,通過循環(huán)或者中斷去檢測,這種方法常用于按鍵個數(shù)較少得時候。如果按鍵的個數(shù)較多,每個按鍵都分配一個IO口,會占用大量的資源,所以就有了矩陣鍵盤。矩陣
    發(fā)表于 11-12 11:06 ?15次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>按鍵檢測--獨立按鍵與<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>

    51單片機(三十)—— 矩陣鍵盤計算器

    在《51單片機(二十九)—— 矩陣鍵盤輸入實驗》中,我們對矩陣鍵盤的原理及使用方法進行了介紹。在
    發(fā)表于 11-19 11:51 ?49次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>(三十)—— <b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>計算器

    51單片機 點亮一個LED LED閃爍

    ) //循環(huán) { }}使用51單片機點亮一個LED#include <reg52.h> //51
    發(fā)表于 11-23 17:06 ?5次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b> <b class='flag-5'>點亮</b>一個<b class='flag-5'>LED</b> <b class='flag-5'>LED</b>閃爍

    51單片機矩陣鍵盤的原理圖

    51單片機矩陣鍵盤的原理圖
    發(fā)表于 12-30 11:32 ?66次下載

    基于89C51單片機矩陣鍵盤密碼鎖源程序

    基于89C51單片機矩陣鍵盤密碼鎖源程序
    發(fā)表于 05-15 11:01 ?4次下載

    51單片機矩陣鍵盤掃描程序

    51單片機矩陣鍵盤掃描程序
    發(fā)表于 05-17 17:20 ?6次下載