刚刚在学,矩阵键盘扫描无法实现

2019-03-24 18:24发布

这是照抄视频教程上的程序。视频上能够实现,我的却一直是乱码显示,求解啊。整了一周了,没有任何头绪
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar num,temp;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
void delay(uint z);
void main()
{
        dula=0;
        P0=0;
        dula=1;

        wela=1;
        P0=0xc0;
        wela=0;

        while(1)
        {
                P3=0xfe;
                temp=P3;
                temp=temp&0xf0;
                if(temp!=0xf0)
                {
                        delay(5);
                        temp=P3;
                        temp=temp&0xf0;
                        if(temp!=0xf0)
                        {
                                temp=P3;
                                switch(temp)
                                {
                                        case 0xe0:num=1;
                                                break;
                                        case 0xd0:num=2;
                                                break;
                                        case 0xb0:num=3;
                                                break;
                                        case 0x70:num=4;
                                                break;
                                }
                        dula=1;
                        P0=table[num-1];
                        dula=0;
                        }
                }       
        }
}
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
etri
1楼-- · 2019-03-25 02:51
if要改成while
etri
2楼-- · 2019-03-25 05:36
沉了。。。。。。
exiao
3楼-- · 2019-03-25 07:11
 精彩回答 2  元偷偷看……
ienglgge
4楼-- · 2019-03-25 08:16
描述一下硬件连接.这种程序,应该自己试着去写,思路很简单.不会写程序,很难改好别人的程序.
当局者
5楼-- · 2019-03-25 11:50
程序该对照实际电路连接吧
dj狂人
6楼-- · 2019-03-25 12:34
 精彩回答 2  元偷偷看……

一周热门 更多>