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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

按鍵按下去 有個什么信號 MCU怎么知道的

[復制鏈接]
跳轉到指定樓層
樓主
ID:56266 發表于 2013-10-24 16:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2013-10-24 14:41 上傳
下載附件 (94.58 KB)




可切換1X4按鍵和4X4按鍵在AT89S52上的原理圖


//1X4按鍵程序

#include "reg51.h"
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char      //定義unsigned char 為 uchar
#define uint  unsigned int

#define keyport  P3                              //lcd忙檢測標志
#define disport  P0
uchar key,temp;
uchar code dis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};
sbit f1=P3^0;
sbit f2=P3^1;
sbit f3=P3^2;
sbit f4=P3^3;

/***************一微秒延時子程序******************/
void delayus(uint delay){
while(delay--);
}
/***************一毫秒延時子程序******************/
void delayms(uint delay){
while(delay--)
  delayus(149);
}

void main()
{
P2=0x04;
if(!f1)
disport=dis[1];
if(!f2)
disport=dis[2];
if(!f3)
disport=dis[3];
if(!f4)
disport=dis[4];

}

//4X4按鍵程序


#include "reg51.h"
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char      //定義unsigned char 為 uchar
#define uint  unsigned int

#define keyport  P3                              //lcd忙檢測標志
#define disport  P0
uchar key,temp;
uchar code dis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};

/***************一微秒延時子程序******************/
void delayus(uint delay){
while(delay--);
}
/***************一毫秒延時子程序******************/
void delayms(uint delay){
while(delay--)
  delayus(100);
}
/******************************************************/
uchar getkey()
{

  keyport=0xef;                                //掃描第三列
temp=keyport;
if(temp!=0xef)
{delayms(10);
  temp=keyport;
   if(temp!=0xef)
  while((keyport&0x0F)!=0x0F) ;
switch(temp)
   {
    case 0xee: key=0;break;
    case 0xed: key=1;break;
    case 0xeb: key=2;break;
    case 0xe7: key=3;break;
    }
         return key;        //返回鍵值
}


keyport=0xdf;                               //掃描第一列
temp=keyport;
if(temp!=0xdf)
{delayms(10);
  temp=keyport;     
   if(temp!=0xdf)
   while((keyport&0x0f)!=0x0f) ;  


switch(temp)
   {
    case 0xde: key=4;break;
    case 0xdd: key=5;break;
    case 0xdb: key=6;break;
    case 0xd7: key=7;break;
   
           }
         return key;         //返回鍵值
}


  keyport=0xbf;                               //掃描第二列
temp=keyport;
if(temp!=0xbf)
{delayms(10);
  temp=keyport;
   if(temp!=0xbf)
   while((keyport&0x0F)!=0x0F) ;   
switch(temp)
   {
    case 0xbe: key=8;break;
    case 0xbd: key=9;break;
    case 0xbb: key=10;break;
    case 0xb7: key=11;break;
    }
  return key;         //返回鍵值

  }


  keyport=0x7f;                                //掃描第三列
temp=keyport;
if(temp!=0x7f)
{delayms(10);
  temp=keyport;
   if(temp!=0x7f)
   while((keyport&0x0F)!=0x0F) ;
switch(temp)
   {
    case 0x7e: key=12;break;
    case 0x7d: key=13;break;
    case 0x7b: key=14;break;
    case 0x77: key=15;break;
    }
         return key;        //返回鍵值
}

  }

void main()
{
EA = 0;
while(1)
{
disport=dis[getkey()] ;
P2=0x04;
}
}

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 福利网站导航 | 午夜精品一区 | 国产一区 | 亚洲精品久久久一区二区三区 | 成人国产在线视频 | 久久国产香蕉 | 成人18亚洲xxoo| 激情 婷婷 | 日本视频一区二区 | 日日夜夜草 | 9久久婷婷国产综合精品性色 | 国产欧美日韩一区 | 久久婷婷av | 免费看av大片| 欧美精品一区二区三区在线 | 国产精品一区二区免费看 | 2021天天干夜夜爽 | 久久综合久色欧美综合狠狠 | 久久精品综合网 | 丝袜久久| 91精品国产综合久久久久久蜜臀 | 一区二区三区视频在线观看 | 欧美中文字幕一区二区三区亚洲 | 国产在线观看一区二区 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产精品国产三级国产aⅴ中文 | 国产麻豆乱码精品一区二区三区 | 国产精品久久久久久久久久 | 亚洲久久久 | 日本超碰| 影音先锋男 | 成人精品久久 | 欧美一区二区三区视频 | 国产精品高潮呻吟久久 | 亚洲欧美日韩精品久久亚洲区 | 国产精品一区久久久 | 91精品国产91久久久久久不卞 | 二区三区视频 | 中文字幕在线精品 | 一级做a爰片性色毛片 | 一区二区三区在线 |