找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3695|回复: 0
收起左侧

矩阵键盘的新算法(程序运行效率超高)

[复制链接]
ID:76556 发表于 2015-4-10 02:51 | 显示全部楼层 |阅读模式
电路图:http://www.51hei.com/f/ks51.pdf

#include<reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit KEY_IN1 = P2^4;
sbit KEY_IN2 = P2^5;
sbit KEY_IN3 = P2^6;
sbit KEY_IN4 = P2^7;
sbit KEY_OUT1 = P2^3;
sbit KEY_OUT2 = P2^2;
sbit KEY_OUT3 = P2^1;
sbit KEY_OUT4 = P2^0;

static unsigned ss=0;
void main()
{
EA = 1;
ENLED = 0;
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
ET0 = 1;
TR0 = 1;
KEY_IN1=0;
while(1)
        {
        unsigned char code LedChar[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};
        P0 = LedChar[ss];
        }
}
void Interrupt_T0() interrupt 1
{
static unsigned char Keys={0xff};
static bit f=0;
TMOD = 0x01;
TH0 = 0xFC;
Keys=(Keys<<1)|KEY_OUT1;
if(Keys!=0x00)
        {
        f=1;
        }
if(Keys==0x00&f==1)
        {ss++;f=0;}
ss=ss&0x0f;
}



回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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