求大神,急急急!
按下矩阵键盘LED本来显示的是A-P的英文字母,改为1-16的数字。#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define shuju P0
#define bus P1
sbit rs=P2^7;
sbit rw=P2^6;
sbit e=P2^5;
sbit sda=P2^0; //IO口定义
sbit scl=P2^1;
uchar r;
void delayms(int i)
{
int j;
for(j=0;j<i;j++)
{}
}
void enable()
{
rs=0;
rw=0;
e=0;
delayms(65000);
e=1;
}
void write()
{
rs=1;
rw=0;
e=0;
delayms(65000);
e=1;
}
void chushi()
{
sda=0;
scl=0;
shuju=0x01;
enable();
shuju=0x38;
enable();
shuju=0x0f;
enable();
shuju=0x06;
enable();
shuju=0x80;
enable();
}
void display(uchar i)
{
shuju=i;
write();
}
void jianpan()
{
uchar a;
uchar k;
bus=0xff;
bus=0xef; //扫描第一行
delayms(6000);
a=bus;
a=a&0x0f;
if(a!=0x0f)
{
delayms(2000);
if(a!=0x0f)
{
switch(a)
{
case 0x0e:
k=0x41;
break;
case 0x0d:
k=0x42;
break;
case 0x0b:
k=0x43;
break;
case 0x07:
k=0x44;
break;
}
display(k);
r=r-1;
while(a!=0x0f)
{
bus=0x0f;
delayms(2000);
a=bus;
}
}
}
bus=0xdf; //扫描第二行
// lcdbus=0xff;
delayms(6000);
a=bus;
a=a&0x0f;
if(a!=0x0f)
{
delayms(2000);
if(a!=0x0f)
{
switch(a)
{
case 0x0e:
k=0x45;
break;
case 0x0d:
k=0x46;
break;
case 0x0b:
k=0x47;
shuju=0x07;
break;
case 0x07:
k=0x48;
break;
}
display(k);
r=r-1;
while(a!=0x0f)
{
bus=0x0f;
delayms(2000);
a=bus;
}
}
}
bus=0xbf; //扫描第3行
delayms(6000);
a=bus;
a=a&0x0f;
if(a!=0x0f)
{
delayms(2000);
if(a!=0x0f)
{
switch(a)
{
case 0x0e:
k=0x49;
break;
case 0x0d:
k=0x4a;
break;
case 0x0b:
k=0x4b;
break;
case 0x07:
k=0x4c;
break;
}
display(k);
r=r-1;
while(a!=0x0f)
{
bus=0x0f;
delayms(2000);
a=bus;
}
}
}
bus=0x7f; //扫描第4行
delayms(6000);
a=bus;
a=a&0x0f;
if(a!=0x0f)
{
delayms(2000);
if(a!=0x0f)
{
switch(a)
{
case 0x0e:
k=0x4d;
break;
case 0x0d:
k=0x4e;
break;
case 0x0b:
k=0x4f;
break;
case 0x07:
k=0x50;
break;
}
display(k);
r=r-1;
while(a!=0x0f)
{
bus=0x0f;
delayms(2000);
a=bus;
}
}
}
}
void main()
{
while(1)
{
chushi();
r=0x10;
while(r>0)
{
jianpan();
}
shuju=0xc0;
enable();
r=0x10;
while(r>0)
{
jianpan();
}
}
} 标题改一下啦,不然你就杯具了 担心楼主的标题。 你这样把一大堆代码贴上来
没有注释没有电路没有自己的思考
估计…………………………没人会给你看 谁知道你求助的是什么啊?又没说清楚 布置作业的吗?你 啊哈哈,楼主标题有点... 求助啥啊?同学…… 木看懂 问题没有描述清楚!! 不知道问什么! 看见这么长的就头晕,楼主赶紧改标题 楼主不要气馁,所有人都是从菜鸟开始的 估计楼主也是从其他地方找来类似功能的程序,想找人修改一下自己用?
但是这样有点太偷懒了。。。 你把思路,注释都发上来吧 这样太难看
页:
[1]