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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機矩陣按鍵顯示值仿真實驗

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:83710 發(fā)表于 2015-6-24 00:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg51.h>
#define uchar unsigned char  //宏的定義變量類型 uchar 代替 unsigned char
#define uint  unsigned int  //宏的定義變量類型 uint  代替 unsigned int
sbit LED1=P2^0;
uchar  dis_buf;            //顯示緩存
uchar  temp;
uchar  key;                //鍵順序碼
void delay(uchar x);      //x*0.14MS
// 此表為 LED 的字模              0   1  2  3    4  5  6  7  8  9   a    b    c d   e   f
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
/*************************************************************
*                                                           *
* 延時子程序                                                *
*                                                           *
*************************************************************/
void  delay(uchar x)
{ uchar j;
    while((x--)!=0)  //CPU執(zhí)行x*12次
    { for(j=0;j<125;j++)
         {;}
    }
}
/*************************************************************
*                                                            *
* 鍵掃描子程序  (3*4 的矩陣) P1.4 P1.5 P1.6 P1.7為列         *
*         P1.1 P1.2 P1.3為行             *
*                                     *
*************************************************************/
void  keyscan(void)
{  temp = 0;
    P1=0xF0;                 //高四位輸入   列為高電平  行為低電平
    delay(1);     //延時
temp=P1;                 //讀P1口
    temp=temp&0xF0;    //屏蔽低四位
    temp=~((temp>>4)|0xF0);   
    if(temp==1)   // p1.4 被拉低
        key=1;  //第1個按鍵鍵值
    else if(temp==2)   // p1.5 被拉低
        key=2;   //第2個按鍵鍵值
    else if(temp==4)   // p1.6 被拉低
        key=3;  //第3個按鍵鍵值
    else if(temp==8)   // p1.7 被拉低
         key=4;   //第4個按鍵鍵值
/* else
    key = 16;  */
        
    P1=0x0F;             //低四位輸入  行為高電平 列為低電平
    delay(1);    //延時
temp=P1;             //讀P1口      
    temp=temp&0x0F;
    temp=~(temp|0xF0);
    if(temp==2)     //第一行  p1.1  被拉低(直接temp==2 是因為我們P1.0空的,是3*4的矩陣鍵盤)
        key=key+0;
    else if(temp==4)   //第二行  p1.2  被拉低
        key=key+4;
    else if(temp==8)   //第三行 p1.3  被拉低
        key=key+8;
// else
//   key = 16;
   /*while(temp!=0xf0)
   {temp=P1;
   temp=temp&0xf0;
   } */

     
     dis_buf = key;     //鍵值入顯示緩存
     dis_buf = dis_buf & 0x0f;

}
/*************************************************************
*                                                           *
*判斷鍵是否按下                                             *
*                                                           *
*************************************************************/
void  keydown(void)
{  
   P1=0xF0;       //將高4位全部置1 低四位全部置0
if(P1!=0xF0)  //判斷按鍵是否按下 如果按鈕按下 會拉低P1其中的一個端口
{
   keyscan();  //調(diào)用按鍵掃描程序
    }
}

/*************************************************************
*                                                            *
* 主程序                                                     *
*                                                            *
*************************************************************/
main()
{
    P0=0xFF;
LED1=0x01;                    //置P0口
    P1=0xFF;                    //置P1口  
    delay(10);                  //延時
   
    while(1)
    {
       keydown();  //調(diào)用按鍵判斷檢測程序
    P0 = LED7Code[dis_buf%16]&0x7f;     //LED7 0x7f為小數(shù)點 共陰和共陽此處也是不一樣;  %16表示輸出16進(jìn)制
   
    }
  }   





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

使用道具 舉報

沙發(fā)
ID:643111 發(fā)表于 2020-11-24 22:21 | 只看該作者
圖怎么不全啊,求解
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 福利网址 | www久久爱| www97影院| 色爱综合网 | 美女黄视频网站 | 国产精品无码专区在线观看 | 自拍偷拍亚洲视频 | 久久精品久久久久久 | 国产精品视频一二三区 | 一区二区在线不卡 | 亚洲国产精品成人综合久久久 | 国产乱码精品一区二三赶尸艳谈 | 亚洲精品自在在线观看 | 特级做a爰片毛片免费看108 | 日韩不卡一区二区 | 天堂网av在线 | 男女污污动态图 | 日日操夜夜操天天操 | 欧美综合在线观看 | 91高清免费观看 | 欧美日韩综合视频 | 人人看人人射 | 日本欧美在线 | 欧美日韩在线一区 | 欧美日韩国产高清 | 国内自拍偷拍 | 天堂在线中文字幕 | 久久国产精品一区二区 | 综合久久av | 欧美日韩国产一区 | 国产一区二区三区在线视频 | 精品国产乱码久久久久久丨区2区 | 欧美日本韩国一区二区三区 | 午夜天堂精品久久久久 | 91社影院在线观看 | 中文字幕在线观看第一页 | 日本午夜精品一区二区三区 | 亚洲一区二区三区桃乃木香奈 | 午夜a v电影 | 国产精品久久久久久久免费大片 | 欧美久久久 |