找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2756|回复: 0
打印 上一主题 下一主题
收起左侧

单片机独立键盘控制静态数码管显示 代码

[复制链接]
跳转到指定楼层
楼主
ID:511857 发表于 2019-9-30 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h> //此文件中定义了单片机的一些特殊功能
typedef unsigned int uint; //对数据类型进行声明定义
typedef unsigned char uchar;
void delay(uint i)
    {
   while(i--);
    }  

sbit k1=P1^0; //定义 P10 口是 k1
sbit k2=P1^1; //定义 P11 口是 k2
sbit k3=P1^2; //定义 P12 口是 k3
sbit k4=P1^3; //定义 P13 口是 k4
sbit k5=P1^4; //定义 P14 口是 k5
sbit k6=P1^5; //定义 P15 口是 k6
sbit k7=P1^6; //定义 P16 口是 k7
sbit k8=P1^7; //定义 P17 口是 k8

void keypros1()
    {
   
    if(k1==0) //检测按键 K1 是否按下
        {
        delay(1000); //消除抖动 一般大约 10ms
        if(k1==0) //再次判断按键是否按下
            {
        P0=0xC0    ;
            }
        while(!k1); //检测按键是否松开
        }
    }

void keypros2()
    {
   
    if(k2==0) //检测按键 K2 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k2==0) //再次判断按键是否按下
            {
            P0=0xF9;
            }
        while(!k2); //检测按键是否松开
        }
    }

void keypros3()
    {


    if(k3==0) //检测按键 K3 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k3==0) //再次判断按键是否按下
            {
            P0=0xA4;
            }
    while(!k3); //检测按键是否松开
         }
    }

void keypros4()
    {


    if(k4==0) //检测按键 K4 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k4==0) //再次判断按键是否按下
            {
            P0=0xB0;
            }
        while(!k4); //检测按键是否松开
        }
    }
void keypros5()
    {

    if(k5==0) //检测按键 K5 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k5==0) //再次判断按键是否按下
            {
             P0=0x99;
            }
        while(!k5); //检测按键是否松开
        }
    }
void keypros6()
    {
   

    if(k6==0) //检测按键 K6 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k6==0) //再次判断按键是否按下
            {
            P0=0x92;
            }
        while(!k6); //检测按键是否松开
        }
    }
void keypros7()
    {


    if(k7==0) //检测按键 K7 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k7==0) //再次判断按键是否按下
            {
            P0=0x82;
            }
        while(!k7); //检测按键是否松开
        }
    }
void keypros8()
    {


    if(k8==0) //检测按键 K8 是否按下
        {
        delay(1000); //消除抖动 一般大约 1ms
        if(k8==0) //再次判断按键是否按下
            {
             P0=0xf8;
            }
        while(!k8); //检测按键是否松开
        }
    }
void main()
{
uint P0=0xfe;
while(1)   
    {
    keypros1(); //按键处理函数
    keypros2(); //按键处理函数
    keypros3(); //按键处理函数
    keypros4(); //按键处理函数
    keypros5(); //按键处理函数
    keypros6(); //按键处理函数
    keypros7(); //按键处理函数
    keypros8(); //按键处理函数
    }
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表