找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机设置矩阵按键 计算相应1到16的平方

[复制链接]
跳转到指定楼层
楼主
ID:758358 发表于 2020-5-22 16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>


#define uint unsigned int
#define uchar unsigned char

sbit du = P2^6;         //段选
sbit we        = P2^7;         //位选



uint k;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};

void delay(uint z)
{  uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0; y--);
}

void display(uint k)
{
         uchar bai,shi,ge;
         bai = k / 100;
         shi = k % 100 / 10;
         ge = k % 10;

                P0 = 0xff;
                we = 1;
                P0 = 0xfe;
                we = 0;

                du = 1;
                P0 = table[bai];
                du = 0;
                delay(5);

                P0 = 0xff;
                we = 1;
                P0 = 0xfd;
                we = 0;

                du = 1;
                P0 = table[shi];
                du = 0;
                delay(5);


                P0 = 0xff;
                we = 1;
                P0 = 0xfb;
                we = 0;

                du = 1;
                P0 = table[ge];
                du = 0;
                delay(5);
}

void keyscan()
{        P3 = 0xf0;
        if(P3 != 0xf0)
        {        delay(10);//软件消抖
                if(P3 != 0xf0)
        {
                        switch(P3)
                {        case 0xe0: k = 1; break;
                        case 0xd0: k = 2; break;
                        case 0xb0: k = 3; break;
                        case 0x70: k = 4; break;        }

        }
                P3 = 0x0f;
                 switch(P3)
                {        case 0x0e: k = k; break;
                        case 0x0d: k = k + 4; break;
                        case 0x0b: k = k + 8; break;
                        case 0x07: k = k + 12; break;  }
                        while(P3 != 0x0f);//松手检测  
                        }
}

void main ()
{        while(1)
        {        keyscan();
                display(k*k);
                        
        }
        
}

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

使用道具 举报

沙发
ID:758358 发表于 2020-5-22 16:37 | 只看该作者
这是源代码
回复

使用道具 举报

板凳
ID:1 发表于 2020-5-24 01:30 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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