⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key11.c

📁 使用c51单片机制作的气象五要素采集程序 包括DS1302温度以及TLC2543、24c04
💻 C
字号:
#include "reg52.h"

#define uchar unsigned char
#define uint unsigned int

#define PORT P2//修改下面表中值的位置,就可以按自己的想法,定义键盘位置


uchar code tab[16]={0xbd,0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};//这个值根据程序得出,


void Delay33(int n)
{
        int ii;
        for(ii=0;ii<n;ii++);
}

//键盘
uchar Scan_Key(void)
{
        uchar a,b,c,i;
        PORT=0xf0;//高行,低列
        if((PORT&0xf0)!=0xf0)    //有键按下
        {
                Delay33(100);     //去抖动
                if((PORT&0xf0)!=0xf0)   //确实有键按下
                {
                        b=PORT&0xf0;   //b的值是列值,对于不同的行,同一列值是不变的,b总共就有四个值;同理行值也是四个。将它们和来确定按键位置。
                        PORT=0x0f;//高行,低列
                        c=PORT&0x0f;
                        PORT=0xf0;
                }
                a=c+b;    //b的值是行值,对于不同的列,同一行值是不变的,b总共就有四个值;同理列值也是四个。将它们和来确定按键位置。
                for(i=0;i<16;i++)  //查表
                {
                        if(tab[i]==a)
                        {       //PORT=0x0f;//高行,低列
                                while((PORT&0xf0)!=0xf0);// 等待手离开按键
                                return i;
                        }
                }
        }
        return 100;
}    /*
main(void)
{

        while(1)
        {      // kkk++;
             //   Scan_Key();
              //  ii++;
              Delay33();
        }
}


       */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -