单片机高手请进 5

提问:按下矩阵键盘的前八个按键,依次在数码管上显示1-8的平方。如按下第一个显示1,第二个显示4...;按下矩阵键盘后八个按键,依次显示1--8的立方。下面是我编的程序#... 提问:按下矩阵键盘的前八个按键,依次在数码管上显示1-8的平方。如按下第一个显示1,第二个显示4...;按下矩阵键盘后八个按键,依次显示1--8的立方。
下面是我编的程序
#include<reg52.h>
#define uchar unsigned int
#define uint unsigned int
uchar b,bai,shi,ge;
uchar const table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x76,0x79,0x38,0x00};
sbit dula=P2^6;
sbit wela=P2^7;
uchar keycan(void);
void delay(uint z);
void display(uchar bai,uchar shi,uchar ge);
void main()
{
uchar key;
P0=0x00;
while(1)
{
key=keycan();
switch(key)
{
case 0xee: b=1; break;
case 0xde: b=4; break;
case 0xbe: b=9; break;
case 0x7e: b=16; break;
case 0xed: b=25; break;
case 0xdd: b=36; break;
case 0xbd: b=49; break;
case 0x7d: b=64; break;
case 0xeb: b=1; break;
case 0xdb: b=8; break;
case 0xbb: b=27; break;
case 0x7b: b=64; break;
case 0xe7: b=125; break;
case 0xd7: b=216; break;
case 0xb7: b=343; break;
case 0x77: b=512; break;
}
bai=b/100;
shi=b%100/10;
ge=b%10;
display(bai,shi,ge);
}
}
uchar keycan()
{
uchar cord_h,cord_l;
P3=0x0f;
cord_h=P3&0x0f;
if(cord_h!=0x0f)
{
delay(100);
cord_h=P3&0x0f;
if(cord_h!=0x0f)
{
P3=cord_h|0xf0;
cord_l=P3&0xf0;
return(cord_h+cord_l);
}
}return (0xff);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar bai,uchar shi,uchar ge)
{
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xf7;
wela=0;
delay(1);

dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xef;
wela=0;
delay(1);

dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xdf;
wela=0;
delay(1);
}
不知道为什么P3.0的4个按键按了显示管没任何变化P3.1,P3.2.P3.3的按键按了都对,难道是起冲突了,求高手解答!
展开
 我来答
latitude127
2012-04-21 · TA获得超过194个赞
知道小有建树答主
回答量:89
采纳率:100%
帮助的人:102万
展开全部
一点注释都没有的程序。真是要辛苦给你解决问题的人了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深圳思驰科技有限公司_
2024-10-23 广告
深圳思驰科技是国内先进入芯片解密领域的公司,拥有数十年的丰富经验,成功帮助国内外企业、政府及知名科研机构攻克多个技术难题。在医疗电子、工控设备、军事航天、通信设备、广电设备、交通设备、汽车电子、家用电子等行业都成功推出了多款创新产品,熟悉这... 点击进入详情页
本回答由深圳思驰科技有限公司_提供
爻曦6507
2012-04-20
知道答主
回答量:56
采纳率:0%
帮助的人:11.2万
展开全部
看看电路 P3.0有没有和其他器件连在一起
我看了一下程序 应该木有问题(也有可能没看出来,呵呵)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式