找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 3199|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

矩陣鍵盤4*4 c51程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:124512 發(fā)表于 2016-6-1 17:41 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>

#include<intrins.h>

#define uint unsigned int

#define uchar unsigned char

sbit lcdrs=P2^0;

sbit lcdrw=P2^1;

sbit lcden=P2^2;

uchar a;

void delay(uint z)

{
uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void write_cmd(uchar cmd)

{

lcden=0;

lcdrs=0;

lcdrw=0;

P0=cmd;

_nop_();

lcden=1;

delay(1);

lcden=0;

    _nop_();

}

void write_dat(uchar dat)

{

lcden=0;

lcdrs=1;

P0=dat;

    _nop_();

lcden=1;

delay(1);

lcden=0;

_nop_();

}

void lcdint()

{

lcden=0;

write_cmd(0x38);

write_cmd(0x0c);

write_cmd(0x06);

write_cmd(0x01);

}

void delayms(uint xms)

{

uint x,y;

for(x=xms;x>0;x--)

for(y=112;y>0;y--);  

}

char keyscan()

{

uchar key_l,key_h,key;

P1=0xf0;

key_l=P1;

key_l=key_l&0xf0;

if(key_l!=0xf0)

{

delayms(50);

if(key_l!=0xf0) //假設(shè)檢測(cè)0

{

key_l=P1&0xf0;  //讀取高4位   11100000

key_l=key_l|0x0f; //低4位寫1  11101111

P1=key_l;  //針第列

key_h=P1;  //11101110

key_h=key_h&0x0f;//屏蔽高四位  00001110

key_l=key_l&0xf0; //掉低4位  11100000

key=key_h+key_l; //11101110

}

}

switch(key)

{

case 0xee: a=1 ;break;

case 0xde: a=2 ;break;

case 0xbe: a=3 ;break;

case 0x7e: a=4 ;break;

case 0xed: a=5 ;break;

case 0xdd: a=6 ;break;

case 0xbd: a=7 ;break;

case 0x7d: a=8 ;break;

case 0xeb: a=9 ;break;

case 0xdb: a=10;break;

case 0xbb: a=18;break;

case 0x7b: a=12;break;

case 0xe7: a=13;break;

case 0xd7: a=14;break;

case 0xb7: a=15;break;

case 0x77: a=16;break;

}

return a;

}

void main()

{



lcdint();

while(1)

{

keyscan();

if(a!=17)
{
if(a>9)
{
write_cmd(0x80);
write_dat(0x30+(a/10));
write_cmd(0x14);
write_dat(0x30+(a%10));
}
else
{
write_cmd(0x80);
write_dat(0x30+(a/10));
write_cmd(0x14);
write_dat(0x30+(a%10));
}
}
}
}


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:985169 發(fā)表于 2021-12-5 20:41 | 只看該作者
怎么顯示平方數(shù)?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表