標(biāo)題: 為什么這個(gè)單片機(jī)4*4矩陣鍵盤不可以? [打印本頁]

作者: l156613673    時(shí)間: 2021-7-6 23:03
標(biāo)題: 為什么這個(gè)單片機(jī)4*4矩陣鍵盤不可以?
#include "reg52.h"
sfr p0=0x80;
sfr p6=0xe8;
void delay(unsigned int k)
unsigned char kx(void);
{
        unsigned char a,b,c=16;
        for(a=0;a<4;a++)
                {
                        p0=_crol_(0xfe,a);
                        b=p0;
                        b=b & 0xf0;
                        if(b!=0xf0)
                        {
                                delay(50);
                                b=p0;
                                b=b & 0xf0;
                                if(b!=0xf0)
                                {
                                        b=p0;
                                        switch(b)
                                        {
                                                case 0xee:c=0;break;
                                                case 0xde:c=4;break;
                                                case 0xbe:c=8;break;
                                                case 0x7e:c=12;break;
                                                case 0xed:c=1;break;
                                                case 0xdd:c=5;break;
                                                case 0xbd:c=9;break;
                                                case 0x7d:c=13;break;
                                                case 0xeb:c=2;break;
                                                case 0xdb:c=6;break;
                                                case 0xbb:c=10;break;
                                                case 0x7b:c=14;break;
                                                case 0xe7:c=3;break;
                                                case 0xd7:c=7;break;
                                                case 0xb7:c=11;break;
                                                case 0x77:c=15;break;
                                                default:break;
                                        }
                                }
                                while((b & 0xf0)!=0xf0)
                                {
                                        b=p0;
                                        b=b & 0xf0;
                                }
                        }
                }
}
return c;
delay(unsigned int k)
{
                unsigned int i,j;
                for(i=0;i<200;i++)
                        {
                        for(j=0;j<k;j++);
                        }
}
void main()
{
        int c;
        while(1)
        {
                c=kx();
        }
}


作者: lkc8210    時(shí)間: 2021-7-6 23:18
有啥問題?
不可以什么?
作者: ByanouQ    時(shí)間: 2021-7-7 07:24

#include "reg52.h"
sfr p0=0x80;
sfr p6=0xe8;
上面這兩個(gè)頭文件已經(jīng)定義,還需要再定義一次嗎?就算要,p要大寫P。

作者: glinfei    時(shí)間: 2021-7-7 08:40
不大懂,為啥return c; 寫到} 外面了。估計(jì)是筆誤吧?
別的沒看到啥問題啊。
作者: 正規(guī)007    時(shí)間: 2021-7-7 10:47
多看幾遍教程就能解決的事,關(guān)鍵這還是很基礎(chǔ)的東東
作者: l156613673    時(shí)間: 2021-7-12 16:46
正規(guī)007 發(fā)表于 2021-7-7 10:47
多看幾遍教程就能解決的事,關(guān)鍵這還是很基礎(chǔ)的東東

OK了,知道了謝謝。
作者: l156613673    時(shí)間: 2021-7-12 16:47
ByanouQ 發(fā)表于 2021-7-7 07:24
#include "reg52.h"
sfr p0=0x80;
sfr p6=0xe8;

嗯,是重復(fù)定義了,但p小寫的話是沒事的吧,我后面都是小寫。
作者: l156613673    時(shí)間: 2021-7-12 16:48
lkc8210 發(fā)表于 2021-7-6 23:18
有啥問題?
不可以什么?

應(yīng)該是char的問題




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1