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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機矩陣式鍵盤輸入實驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:780424 發表于 2020-6-15 21:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、實驗目的
1.學習矩陣式鍵盤工作原理
2.學習矩陣式接口的電路設計和程序設計
二、實驗內容與結果
1.USB
2.單片機最小系統實驗教學模塊
3.矩陣式鍵盤實驗模塊
4.動態掃描數碼管顯示模塊
題目: 在矩陣式鍵盤中的某個鍵被按下時,8 LED 動態顯示器上最低位顯示該鍵對應的字符,以前的字符向高位推進 1 位(即類似于計算器)。
程序:
(1)源代碼
//頭文件包含
#include <reg51.h>
#include <intrins.h>
//宏定義
#define uchar unsigned char
#define uint unsigned int
//共陰極數碼管0-F的段碼列表,表中最后一個0x00是顯示為暗的斷碼表
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x53,0x79,0x71,0x00};
uchar Display_Buffer[]={16,16,16,16,16,16,16,16};
void DelayM(uint x)
{
       uchar t;
       while(x--)
       {
              for(t=0;t<120;t++);
       }
}
uchar kscan()
{
       uchari,temp,num=16;           
       for(i=0;i<4;i++)
       {
              //逐行掃描
              P1=_cror_(0x7f,i);
              //讀取鍵值
              temp=P1;
              //讀取鍵值,屏蔽高四位行值                          
              temp=temp&0x0f;
              //低四位列值
              if(temp!=0x0f)
              {
                     DelayM(5);
                     temp=P1;
                     temp=temp&0x0f;
                     if(temp!=0x0f)
                     {
                            temp=P1;
                            switch(temp)
                            {
                                   case0x77:num=0;break;
                                   case0x7b:num=1;break;
                                   case0x7d:num=2;break;
                                   case0x7e:num=3;break;
                                   case0xb7:num=4;break;
                                   case0xbb:num=5;break;
                                   case0xbd:num=6;break;
                                   case0xbe:num=7;break;
                                   case0xd7:num=8;break;
                                   case0xdb:num=9;break;
                                   case0xdd:num=10;break;
                                   case0xde:num=11;break;
                                   case0xe7:num=12;break;
                                   case0xeb:num=13;break;
                                   case0xed:num=14;break;
                                   case0xee:num=15;break;
                                   default:break;
                            }
                     }
                     
                     //等待按鍵釋放
                     while((temp&0x0f)!=0x0f)
                     {
                             temp=P1;
                             temp=temp&0x0f;
                     }
                     
              }
              DelayM(5);
       }
       returnnum;
}
void main()
{
       uchark,m=0x7f,num;
       //關閉數碼管的段選
       P0=0x00;
       //關閉數碼管的位選
       P2=0xff;        
       while(1)
       {
              num=kscan();
              if(num!=16)
              {            
                    for(k=1;k<8;k++)
                     {
                            //顯示向前移動一位
                           Display_Buffer[k-1]=Display_Buffer[k];
                     }
                     //最低位顯示當前按鍵值
                     Display_Buffer[7]=num;
                     num=16;
              }
              //循環顯示8
              for(k=0;k<8;k++)
              {
                     m=_crol_(m,1);
                     P2=m;
                     P0=table[Display_Buffer[k]];
                     DelayM(2);
              }
       }

}
附件包含protues原理圖和代碼

實驗6.zip

42.72 KB, 下載次數: 20, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91 久久 | 国产高清美女一级a毛片久久w | 亚洲九九精品 | 91在线视频播放 | 国产成人免费在线观看 | 国产精品福利网站 | 国产精品高清在线 | 视频在线亚洲 | 成人性视频免费网站 | 国产精品国产三级国产aⅴ浪潮 | 91久操网| 成年男女免费视频网站 | 国产精品亚洲精品 | 成人av播放 | 国产片侵犯亲女视频播放 | 91精品国产高清一区二区三区 | 三级成人在线观看 | 欧美福利一区 | 精品在线一区二区三区 | 国产亚洲精品久久情网 | 午夜视频大全 | 一区精品在线观看 | 黄a在线观看 | 久久天天躁狠狠躁夜夜躁2014 | 色综合久| 国产精品一卡 | 国产精品久久久久久久久久 | 久久国产高清 | 国产一区二区三区 | 99久久久久久久久 | 成人影视网址 | 欧美成人高清 | 中文字幕免费在线 | 视频一区二区中文字幕 | 一区二区三区免费网站 | 欧美一级二级在线观看 | 国产精品久久久久久久久久久久午夜片 | 成年人黄色一级片 | av片免费| 一区二区在线不卡 | 国产精品国产三级国产aⅴ无密码 |