#include<reg51.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
sbit DA=P3^5;
sbit RW=P3^6;
sbit RS=P3^7;
void longdelay(int i)
{
uint j;
for(;i<0;i--)
for(j=110;j<0;j--);
}
void shortdelay(int x)
{
int ii;
for(ii=x;ii>0;ii--)
{;;}
}
uchar m;
uchar n;
uchar keynumber;
uchar Crystal[16]={0};
int line,row,getnumber,k=0,v,kk=1,start=0;
int num=0;
void write_com(uchar com)
{
RS=0;
P1=com;
shortdelay(15);
DA=1;
shortdelay(15);
DA=0;
}
void write_date(uchar date)
{
RS=1;
P1=date;
shortdelay(5);
DA=1;
shortdelay(5);
DA=0;
}
void init()
{
EA=0;
write_com(0x3c);
shortdelay(50);
write_com(0x01);
shortdelay(50);
write_com(0x06);
shortdelay(50);
write_com(0x0e);
shortdelay(50);
}
void main()
{
P1=0x00;
while(1)
{
P3=0x00;
P2=0x0f;
m=P2;
switch(m)
{
case 0x0e:line=1;getnumber=1;break;
case 0x0d:line=2;getnumber=1;break;
case 0x0b:line=3;getnumber=1;break;
case 0x07:line=4;getnumber=1;break;
}
P2=0x00;
P3=0x0f;
n=P3;
switch(n)
{
case 0x0e:row=1;break;
case 0x0d:row=2;break;
case 0x0b:row=3;break;
case 0x07:row=4;break;
}
while(getnumber)
{
if(line==1&&row==1)
{
keynumber='0';
}
if(line==1&&row==2)
{
keynumber='1';
}
if(line==1&&row==3)
{
keynumber='2';
}
if(line==1&&row==4)
{
keynumber='3';
}
if(line==2&&row==1)
{
keynumber='4';
}
if(line==2&&row==2)
{
keynumber='5';
}
if(line==2&&row==3)
{
keynumber='6';
}
if(line==2&&row==4)
{
keynumber='7';
}
if(line==3&&row==1)
{
keynumber='8';
}
if(line==3&&row==2)
{
keynumber='9';
}
if(line==3&&row==3)
{
keynumber='a';
}
if(line==3&&row==4)
{
keynumber='b';
}
if(line==4&&row==1)
{
keynumber='c';
}
if(line==4&&row==2)
{
keynumber='d';
}
if(line==4&&row==3)
{
keynumber='e';
}
if(line==4&&row==4)
{
keynumber='f';
}
Crystal[k]=keynumber;
getnumber=0;
v=1;
}
if(start==0)
{
init();
RW=0;start++ ;
write_com(0x88);
}
while(v)
{
write_date(Crystal[k]);
longdelay(120);
kk++;
v=0;
}
}
}
shuma.rar_world
版权申诉
52 浏览量
2022-09-23
07:49:52
上传
评论
收藏 1KB RAR 举报
朱moyimi
- 粉丝: 64
- 资源: 1万+