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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1396|回復: 2
收起左側

單片機計算器程序error C267: 'LcdWriteCom': requires ANSI-style prototype

[復制鏈接]
ID:1058309 發表于 2022-12-19 18:53 | 顯示全部樓層 |閱讀模式
想做一個簡易的計算器,程序出了點問題,有大神幫幫忙嗎
報錯信息:
jisuanqi.c(2): warning C318: can't open file 'lcd.h'
jisuanqi.c(3): warning C318: can't open file 'i2c.h'
jisuanqi.c(27): warning C206: 'LcdWriteCom': missing function-prototype
jisuanqi.c(27): error C267: 'LcdWriteCom': requires ANSI-style prototype
0.png
#include"reg52.h"
#include"lcd.h"
#include"i2c.h"
typedef unsigned char uint8;
typedef unsigned int uint16;

sbit led=P3^7;
sbit beep=P2^0;
sbit k1=P3^1;
sbit k2=P3^0;
sbit k3=P3^2;
char res=0;
uint8 key,num;
uint8 fuhao;
uint8 flag;
long a,b,c,d,sum,sub;
uint8 k;
uint8 biao;
uint8 dat1[]={1,2,3,0x2b-0x30, 4,5,6,0x2d-0x30, 7,8,9,0x2a-0x30, 0,0x01-0x30,0x3d-0x30,0x2b-0x30 };

void delay(uint16 i)
{
  while(i--);
}
  void lcdwrc(uint8 c)
{
  LcdWriteCom(c);
}
  void lcdwrd(uint8 dat)
{
  LcdWriteData(dat);
}
  void lcd_init()
{
  LcdInit();
        key=0;
        num=0;
        flag=0;
        fuhao=0;
        a=0;
        b=0;
        c=0;
        d=0;
        biao=0;
        led=0;
}
  void keyscan()
{
  P1=0xfe;   
        if(P1!=0xfe)
{
        delay(1000);
        if(P1!=0xfe)
    {
                                key=P1&0xf0;
                                switch(key)
                {\n\t\t\t\t
                  case 0xe0: num=0;break;
                        case 0xd0: num=1;break;
                        case 0xb0: num=2;break;
                        case 0x70: num=3;break;
                }
                        while(P1!=0xfe);
                        if(num==0||num==1||num==2)
                         {
                            if(flag==0)
                                {
                                   a=a*10+dat1[num];
                                         res =a;
                                }
                                  else
                                {\n\t\t\t\t//led=1;
                                  b=b*10+dat1[num];
                                        res =b;
                                }
                        }
                        if(num==3)
                        {
                          flag=1;
                          fuhao=1;
                        }
                          lcdwrd(0x30+dat1[num]);
                        }
                          P1=0xfd;
                                if(P1!=0xfd)
                          {
                                  delay(1000);
                                        if(P1!=0xfd)
                                        {
                                          key=P1&0xf0;
                                                switch(key)
                                                  {
                                                          case 0xe0: num=4;break;
                                                          case 0xd0: num=5;break;
                                                          case 0xb0: num=6;break;
                                                          case 0x70: num=7;break;
                                                  }
                                        }
                                        while(P1!=0xfd);
                                        if(num==4||num==5||num==6)
                                        {
                                          if(flag==0)
                                                {
                                                  a=a*10+dat1[num];
                                                        res =a;\n\t\t\t
                                                }
                                                else
                                                {
                                                b=b*10+dat1[num];
                                                res =b;
                                                }
                                                else
                                                {
                                                flag=1;
                                                fuhao=2;
                                                }
                                                lcdwrd(0x30+dat1[num]);
                                        }
                                       
                P1=0xfb;
                if(P1!=0xfb)
        {
          delay(1000);
                if(P1!=0xfb)
          {\n\t\t\t
                  key=P1&0xf0;
                        switch(key)
                          {
                                  case 0xe0: num=8;break;
                                        case 0xd0: num=9;break;
                                        case 0xb0: num=10;break;
                                        case 0x70: num=11;break;
                                }\t\n\t\t
                }
                  while(P1!=0xfb);
                        if(num==8||num==9||num==10)
                {
                  if(flag==0)
                          {
                                  a=a*10+dat1[num];
                                        res =a;
                                }
                                 else
                                {
                                  b=b*10+dat1[num];
                                        res =b;
                                }
                    }
                     else
                                {
                                  flag=1;
                                        fuhao=3;
                          }
                                  lcdwrd(0x30+dat1[num]);\n\t
                }
        P1=0xf7;
        if(P1!=0xf7)
        {
           delay(1000);
                 if(P1!=0xf7)
                 {
                    key=P1&0xf0;
                                switch(key)
                                {
                                   case 0xe0: num=12;break;  
                                         case 0xd0: num=13;break;  
                                         case 0xb0: num=14;break;
                                         case 0x70: num=15;break;
                                }
                                   while(P1!=0xf7);
                                         switch(num)
                                         {
                                           case 12:
                                                 if(flag==0)
                                                 {
                                                     a=a*10+dat1[num];
                                                                 res =a;
                                                                 lcdwrd(0x30);
                                                 }
                                                 else
                                                 {
                                                    b=b*10+dat1[num];
                                                                res =b;
                                                                lcdwrd(0x30);
                                                 }
                                                    break;
                                                                case 13:
                                                                      lcdwrc(0x01);
                                                                      a=0;
                                                                      b=0;
                                                                      flag=0;
                                                                      fuhao=0;
                                                                                        break;
                                                                                       
                                                                case 15:
                                                                      flag=1;
                                                                      fuhao=4;
                                                                      lcdwrd(0x2f);
                                                                      break;
                                                                                       
                                                                case 14:
                                                                      if(fuhao==1)
                                                                       lcdwrc(0x4f+0x80);
                                                                      lcdwrc(0x04);
                                                                      c=a+b;
                                                                      res =c;
                                                                      while(c!=0)
                                                                                        {
                                                                                           lcdwrd(0x30+c%10);
                                                                         c=c/10;
                                                                                        }
                                                                                                lcdwrd(0x3d);
                                                                                                a=0;
                                                                                                b=0;
                                                                                                flag=0;
                                                                                                fuhao=0;
                                                                                        }
                                                                            if(fuhao==2)
                                                                                        {
                                                                                        lcdwrc(0x4f+0x80);
                                                          lcdwrc(0x04);
                                                          if(a>b)
                                                                  c=a-b;
                                                        
                                                          else
                                                                  c=b-a;
                                                        
                                                          res=c;
                                                while(c!=0)         
                                                {
                                                        lcdwrd(0x30+c%10);
                                                        c=c/10;
                                                }
                                                if(a<b)        lcdwrd(0x2d);
                                                lcdwrd(0x3d);
                                                a=0;
                                                b=0;
                                                flag=0;
                                                fuhao=0;
                                        }
                                        if(fuhao==3)               
                                        {
                                                lcdwrc(0x4f+0x80);
                                                lcdwrc(0x04);
                                                c=a*b;
                                                while(c!=0)         
                                                {
                                                        lcdwrd(0x30+c%10);
                                                        c=c/10;
                                                }
                                                lcdwrd(0x3d);
                                                a=0;
                                                b=0;
                                                flag=0;
                                                fuhao=0;        
                                        }
                                        if(fuhao==3)               
                                        {
                                                lcdwrc(0x4f+0x80);
                                                lcdwrc(0x04);
                                                c=a*b;
                                                while(c!=0)         
                                                {
                                                        lcdwrd(0x30+c%10);
                                                        c=c/10;
                                                }
                                                lcdwrd(0x3d);
                                                a=0;
                                                b=0;
                                                flag=0;
                                                fuhao=0;        
                                        }
                                        if(fuhao==4)
                                        {
                                                k=0;
                                                lcdwrc(0x4f+0x80);
                                                lcdwrc(0x04);
                                                c=(long)(((float)a/b)*1000);
                                                while(c!=0)         
                                                {
                                                        k++;
                                                        lcdwrd(0x30+c%10);
                                                        c=c/10;
                                                        if(k==3)
                                                        {
                                                                lcdwrd(0x2e);
                                                                k=0;
                                                        }               
                                                }
                                                if(a/b<0)         
                                                {
                                                        lcdwrd(0x30);        
                                                }
                                                lcdwrd(0x3d);
                                                a=0;
                                                b=0;
                                                flag=0;
                                                fuhao=0;
                                        }
                                        break;

                }
        }

}
void keyscan2()
{
        keyscan();
        if(k1==0)
        {
                delay(1000);
                if(k1==0)
                {
                        At24c02Write(1,res);   
                }
                while(!k1);
                key=P1&0xf0;
                switch(key)
                {
                        case 0xb0: num=14;break;
                }        
                switch(num) {
                        case 14:                 
                                lcdwrc(0x4f+0x80);
                                lcdwrc(0x04);
                                sum = res+res;
                                while(sum!=0)         
                                {
                                        lcdwrd(0x30+sum%10);
                                        sum=sum/10;        
                                }
                                lcdwrd(0x3d);
                }        
        }
        if(k2==0)
        {
                delay(1000);  
                if(k2==0)
                {
                        res=At24c02Read(1);         
                        
                        lcdwrc(0x4f+0x80);
                        lcdwrc(0x04);
                        while(res!=0)         
                        {
                                lcdwrd(0x30+res%10);
                                res=res/10;
                                
                        }
                }
                while(!k2);
        }
        if(k3==0)
        {
                delay(100);  
                if(k3==0)
                {
                                
                                At24c02Write(1,res);   
                                
                }
                while(!k3);
               
                lcdwrc(0x4f+0x80);
                lcdwrc(0x04);
               
                sub=res-res;
                        
                while(sub!=0)        
                {
                        lcdwrd(0x30+sub%10);
                        sub=sub/10;
                }
                if(res<res)        lcdwrd(0x2d);
                lcdwrd(0x3d);
               
        }
                        
}
void main()
{
        lcd_init();
        while(1)
        {
                keyscan();        
                keyscan2();        
        }
}



回復

使用道具 舉報

ID:301191 發表于 2022-12-23 16:11 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:883242 發表于 2022-12-23 16:22 | 顯示全部樓層
帖子標題的問題,實際出在第3行。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文字幕在线 | 美女视频一区二区 | 精品免费视频 | 亚洲成人三区 | 91综合网| 精品久久久久久久久久久 | 日韩中文字幕一区二区 | 精品成人av | 又黑又粗又长的欧美一区 | 天天干天天操天天射 | 国产美女一区二区三区 | 日韩精品在线一区 | 国产免费一区二区 | 特黄色毛片 | 国产精品国产三级国产aⅴ无密码 | 国产一级片 | 国产在线精品免费 | 国产精品明星裸体写真集 | 日本精品视频一区二区三区四区 | 久久国产精品视频 | 亚洲精品资源 | 国产免费又色又爽又黄在线观看 | 国产精品视频一二三区 | 蜜桃av鲁一鲁一鲁一鲁 | 蜜臀久久99精品久久久久久宅男 | 97伦理电影 | 日本成人综合 | 国产在线精品一区二区 | 成人欧美一区二区三区黑人孕妇 | 国产日韩一区 | 国产在线中文 | 久久av一区 | 99色播 | 精品国产久 | 99国产精品一区二区三区 | 精品一区二区三区在线视频 | 一区二区三区高清在线观看 | 亚洲欧美日韩一区二区 | 国产一区二区电影 | 国产在线精品一区二区三区 | 亚洲夜射 |