久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1935|回復: 6
打印 上一主題 下一主題
收起左側

'Keydown': missing function-prototype

[復制鏈接]
跳轉到指定樓層
樓主
ID:888357 發表于 2021-6-21 22:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>

#define uchar unsigned char  
#define uint unsigned int
extern        unsigned char KeyDown();
extern void Lcd1602_Delay1ms(uint c);  
extern void LcdInit();        
extern void LcdWriteCom(uchar com);
extern void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s);
extern void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);
uchar code password[]={1,2,3,4,1,1};
sbit led=P3^0;

main()
{
  uchar num,i=0,j;                  
        uchar passwordtemp[6];        

        uchar passwordlength,PLEN;     
  bit flag;
  PLEN=sizeof(password)/sizeof(password[0]);

  PLEN=9;
        LcdInit()        ;         
        Lcd1602_Delay1ms(10);        
        LcdWriteCom(0x01);      
        LCD_Write_String(0,0,"  Welcome! ");   
  LCD_Write_String(0,1,"Input password!");   

while(1)
{        
                        num=Keydown();  
                        if(num!=0xff)  
                        {
                                if(i==0)  
                                LCD_Write_String(0,0,"                ");
                                if(i<16)
                                {
                                        passwordtemp[ i]=num;
                                        LCD_Write_Char(i,1,'*');
                                }
                                i++;   
                                if(i==8)
                                {
                                                passwordlength=i-1;
                                                i=0;
                                        if(passwordlength==PLEN)
                                        {        
                                                flag=1;
                                                for(j=0;j<PLEN;j++)
                                                flag=flag&&(passwordtemp[j]==password[j]);
                                        }
                                        if(flag)
                                        {
                                                LCD_Write_String(0,1,"                       ");
                                                LCD_Write_String(0,1,"Right Open!>>>>");
                                                led=0;
                                                Lcd1602_Delay1ms(30000);
                                                led=1;
                                       
                                                flag=0;     
                                        }
                                        else
                                        {
                                                LCD_Write_String(0,1,"                      ");
                                                LCD_Write_String(0,1,"Wrong! Retry!");
                                       
                                                
                                        }

                                }
                        }        
                }

        }


#include<reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
#define GPIO_KEY P1
uchar KeyValue;
uchar KeyState;
void Delay10ms();
unsigned char KeyDown();
unsigned char KeyDown()
{
   char a;
   GPIO_KEY=0x0f;
   if(GPIO_KEY!=0x0f)
   {
      Delay10ms();
      if(GPIO_KEY!=0x0f)
{
       KeyState=1;
       GPIO_KEY=0X0F;
       Delay10ms();
     switch(GPIO_KEY)  
   {
      case(0x07):KeyValue=0;break;
      case(0X0b):KeyValue=1;break;
      case(0X0d):KeyValue=2;break;
            case(0X0e):KeyValue=3;break;
   }

GPIO_KEY=0XF0;  
                        Delay10ms();
                        switch(GPIO_KEY)
                        {
                                case(0X70):        KeyValue=KeyValue;break;
                                case(0Xb0):        KeyValue=KeyValue+4;break;
                                case(0Xd0): KeyValue=KeyValue+8;break;
                                case(0Xe0):        KeyValue=KeyValue+12;break;
                                }
while((a<50)&&(GPIO_KEY!=0xf0))         

{
       Delay10ms();
                                a++;
}
a=0;
}
}
return KeyValue;
}
void Delay10ms(void)   
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}



#include"reg52.h"
#define LCD1602_DATAPINS P0

#define uchar unsigned char
#define uint unsigned int
uchar x;
sbit LCD1602_RW=P2^5;
sbit LCD1602_RS=P2^6;
sbit LCD1602_E=P2^7;

void Lcd1602_Delay1ms(uint c);   

void LcdWriteCom(uchar com);

void LcdWriteData(uchar dat)        ;
               
void LcdInit();                                                  

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s);
         
void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);

void Lcd1602_Delay1ms(uint c)            
{
    uchar a,b;
        for (; c>0; c--)
        {
                 for (b=199;b>0;b--)
                 {
                          for(a=1;a>0;a--);
                 }      
        }
            
}


void LcdWriteCom(uchar com)         
{
        LCD1602_E = 0;   
        LCD1602_RS = 0;           
        LCD1602_RW = 0;           
        
        LCD1602_DATAPINS = com;     
        Lcd1602_Delay1ms(1);               

        LCD1602_E = 1;                  
        Lcd1602_Delay1ms(5);         
        LCD1602_E = 0;
}

void LcdWriteData(uchar dat)                        
{
        LCD1602_E = 0;        
        LCD1602_RS = 1;
        LCD1602_RW = 0;        

        LCD1602_DATAPINS = dat;
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;   
        Lcd1602_Delay1ms(5);  
        LCD1602_E = 0;
}
           
void LcdInit()                                                  
{
         LcdWriteCom(0x38);   
        LcdWriteCom(0x0c);
        LcdWriteCom(0x06);  
        LcdWriteCom(0x01);
        
}







void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
{         
         while (*s)
         {     
                 LCD_Write_Char(x,y,*s);     
                 s ++;  x++;   
         }
}

void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)
{     
        if (y == 0)
         {     
         LcdWriteCom(0x80 + x);     
         }   
         else
         {     
                 LcdWriteCom(0xC0 + x);     
         }        
         LcdWriteData( Data);  
}




main.c(32): warning C206: 'Keydown': missing function-prototype

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:888357 發表于 2021-6-21 22:18 | 只看該作者




unsigned char KeyDown()
{
   char a;
   GPIO_KEY=0x0f;
   if(GPIO_KEY!=0x0f)
   {
      Delay10ms();
      if(GPIO_KEY!=0x0f)
{
       KeyState=1;
       GPIO_KEY=0X0F;
       Delay10ms();
     switch(GPIO_KEY)  
   {
      case(0x07):KeyValue=0;break;
      case(0X0b):KeyValue=1;break;
      case(0X0d):KeyValue=2;break;
            case(0X0e):KeyValue=3;break;
   }

GPIO_KEY=0XF0;  
                        Delay10ms();
                        switch(GPIO_KEY)
                        {
                                case(0X70):        KeyValue=KeyValue;break;
                                case(0Xb0):        KeyValue=KeyValue+4;break;
                                case(0Xd0): KeyValue=KeyValue+8;break;
                                case(0Xe0):        KeyValue=KeyValue+12;break;
                                }
while((a<50)&&(GPIO_KEY!=0xf0))         

{
       Delay10ms();
                                a++;
}
a=0;
}
}
return KeyValue;
}
回復

使用道具 舉報

板凳
ID:155507 發表于 2021-6-22 10:55 | 只看該作者
你這個程序不完整,沒法給你看是哪里出問題了!
回復

使用道具 舉報

地板
ID:942477 發表于 2021-6-22 15:01 | 只看該作者
extern        unsigned char KeyDown();
是不是有沒顯示出來的字符
回復

使用道具 舉報

5#
ID:888357 發表于 2021-6-22 20:05 | 只看該作者
我是小白怎么滴 發表于 2021-6-22 15:01
extern        unsigned char KeyDown();
是不是有沒顯示出來的字符

沒有都顯示出來了
回復

使用道具 舉報

6#
ID:888357 發表于 2021-6-22 20:08 | 只看該作者
本帖最后由 hdfc 于 2021-6-22 20:32 編輯

不明白我明明引用keydown了還出現警告
回復

使用道具 舉報

7#
ID:888357 發表于 2021-6-22 20:09 | 只看該作者
本帖最后由 hdfc 于 2021-6-22 20:35 編輯

他還是警告缺少函數原型
回復

使用道具 舉報

8#
ID:888357 發表于 2021-6-22 20:11 | 只看該作者
angmall 發表于 2021-6-22 10:55
你這個程序不完整,沒法給你看是哪里出問題了!

我發生于的程序了在回復里
回復

使用道具 舉報

9#
ID:888357 發表于 2021-6-22 22:08 | 只看該作者
解決了,大小寫錯了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费观看av| 黄色免费观看 | 国产丝袜一区二区三区免费视频 | 一区二区三区国产好的精 | 中文天堂在线一区 | av三级| 国产一区二区视频在线 | 久久日本 | 亚洲成人第一页 | 在线天堂免费中文字幕视频 | 亚洲综合伊人 | 一级免费视频 | 亚洲一区二区视频 | 国产片侵犯亲女视频播放 | 天天亚洲 | 99成人精品| 色桃网| 久久中文字幕一区 | 中文字幕免费在线 | 欧美精品黄 | 国产一区二区久久 | 丝袜美腿av | 日日操夜夜操天天操 | 日韩综合一区 | 亚洲韩国精品 | 久久久久久精 | 凹凸日日摸日日碰夜夜 | 亚洲免费一区 | 国产成人99久久亚洲综合精品 | 欧美视频一区二区三区 | 久久久久国产一区二区三区四区 | 国产特黄一级 | 欧美一级网站 | 亚洲一区二区在线视频 | 久久久久91 | 国产免费又黄又爽又刺激蜜月al | 色屁屁在线观看 | 久久精品视频在线免费观看 | 可以在线看的黄色网址 | 精品国产一区二区国模嫣然 | 日韩一区二区三区视频在线播放 |