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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么keil編譯的時候出現這種錯誤:error 202 ‘lcden’ :undefine identifier

  [復制鏈接]
跳轉到指定樓層
樓主
ID:306995 發表于 2018-4-14 17:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 陳藝萍 于 2018-4-17 13:29 編輯

求助大神,為什么keil編譯的時候出現這種錯誤:error 202 ‘lcden’ :undefine identifier

我改完P口之后:

下面是完整程序:我要實現的是可以負數運算的簡易計算器
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
//LCD1602
sbit rs=P2^5
sbit wela=P2^6
sbit lcden=P2^7
uchar code table[]="                ";
long int data_a,data_b
long int data_c
uchar display[10];
void LCD_Delay_us(unsigned int t)
{
    while(t--);//t=0íË3ö
}
void LCD_Delay_ms(unsigned int t)
{
    unsigned int i,j;
        for(i=0;i<t;i++)
        for(j=0;j<113;j++);
}
void write_com(uchar com)
{
    rs=0;
        lcden=0;
        P0=com;
        LCD_Delay_ms(1);
        lcden=1;
        LCD_Delay_ms(2);
        lcden=0;
}
//1602D′êy¾Y
void write_date(uchar date)
{
    rs=1;
        lcden=0;
        P0=date;
        LCD_Delay_ms(1);
        lcden=1;
        LCD_Delay_ms(2);
        lcden=0;
        }
       
void W_lcd(unsigned char x,unsigned char y,unsigned char Data)
{
if (y==0){write_com(0x80+x);}
else{write_com(0xc0+x);}
write_data(Data);
}

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char*s)
{
if (y==0){write_com(0x80+x);}
else{write_com(0xc0+x);}
while (*s)
{write_data(*s);s++;}
}

void init_lcd(void)
{
    wela=0;
        lcden=0;
        write_com(0x38);
        LCD_Delay_us(100);
        write_com(0x0c);
        write_com(0x06);
    write_com(0x01);
    write_com(0x08);
        }
short keycheckdown()
{
    short temp1,temp2,temp,a=0xff;
        P1=0xf0;
        LCD_Delay_ms(20);
        temp1=P1;
        P1=0xff;
        LCD_Delay_ms(20);
        P1=0x0f;
        LCD_Delay_ms(20);
        temp2=P1;
        P1=0xff;
        temp=(temp1&0xf0)|(temp2&0x0f);
        switch(temp)
        {
        case 0x77:a=0x0d;break;
        case 0x7b:a=0x0e;break;
        case 0x7d:a=0x00;break;
        case 0x7e:a=0x0f;break;
       
        case 0xb7:a=0x0c;break;//*
        case 0xbb:a=0x9;break;//9
        case 0xbd:a=0x8;break;//8
        case 0xbe:a=0x7;break;//7
       
        case 0xd7:a=0x0b;break;//-
        case 0xdb:a=0x06;break;//6
        case 0xdd:a=0x05;break;//5
        case 0xde:a=0x04;break;//4
       
        case 0xe7:a=0x0a;break;//+
        case 0xeb:a=0x03;break;//3
        case 0xed:a=0x02;break;//2
        case 0xee:a=0x01;break;//1
       
        default:a=0xff;
        }
        return a;
}
void display_a()
{
    display[3]=data_a%10000/1000;
        display[2]=data_a%1000/100;
        display[1]=data_a%100/10;
        display[0]=data_a%10;
       
        write_com(0x80+0);
        if(data_a>999){write_data('0'+display[3]);}
        if(data_a>99){write_data('0'+display[2]);}
        if(data_a>9){write_data('0'+display[1]);}
                          write_data('0'+display[0]);
}
void display_b()
{
    write_com(0x80+7);
         display[3]=data_b%10000/1000;
        display[2]=data_b%1000/100;
        display[1]=data_b%100/10;
        display[0]=data_b%10;
       
    if(data_b>999){write_data('0'+display[3]);}
        if(data_b>99) {write_data('0'+display[2]);}
        if(data_b>9)   {write_data('0'+display[1]);}
                          write_data('0'+display[0]);
        }

void display_c(x)
{
    if(data_c<100000000&&data_c>-1)
        display[8]=data_c%1000000000/100000000;
        display[7]=data_c%100000000/10000000;
        display[6]=data_c%10000000/1000000;
        display[5]=data_c%1000000/100000;
        display[4]=data_c%100000/10000;
        display[3]=data_c%10000/1000;
        display[2]=data_c%1000/100;
        display[1]=data_c%100/10;
        display[0]=data_c%10;
        write_com(0x80+0x06+0x40);
        if(x==4)
        {
        if(data_c>99999999) {write_data('0'+display[8]);}
        if(data_c>9999999)  {write_data('0'+display[7]);}
        if(data_c>999999)    {write_data('0'+display[6]);}
        if(data_c>99999)     {write_data('0'+display[5]);}
                                     write_data('0'+display[4]);
                                                                 write_data('.');
                                                                 write_data('0'+display[3]);
                                                                  write_data('0'+display[2]);
                                                                  write_data('0'+display[1]);
                                                                  write_data('0'+display[0]);
                                                                  }
                                                                  else{
                                                                  if(data_c>99999999)  {write_date('0'+display[8]);}
                                                                  if(data_c>9999999)  {write_date('0'+display[7]);}
                                                                  if(data_c>999999)  {write_date('0'+display[6]);}
                                                                  if(data_c>99999)  {write_date('0'+display[5]);}
                                                                  if(data_c>9999)  {write_date('0'+display[4]);}
                                                                  if(data_c>999)  {write_date('0'+display[3]);}
                                                                   if(data_c>999)  {write_date('0'+display[2]);}
                                                                    if(data_c>999)  {write_date('0'+display[1]);}
                                                                                              write_date('0'+display[0]);
                                                                                                                  }
                                                                                                                  else {
                                                                                                                  write_com(0x80+11+0x40);
                                                                                                                  write_date('E');
                                                                                                                  write_date('r');
                                                                                                                  write_date('r');
                                                                                                                  write_date('o');
                                                                                                                  write_date('r');
                                                                                                                  }
                                                                                                                  }
void eql(uchar x)
{
  switch(x)
  {
  case 1:data_c=data_a+data_b;break;
  case 2:if(data_a>=data_b){data_c=data_a-data_b;}
    else{data_c=data_b-data_a;W_lcd(5,1,'-');} ;
                     break;
        case 3:data_c=(data_a*data_b);break;
        case 4:if(data_b==0){LCD_Write_String(0,1,"Error!";}
    else{data_c=(data_a*10000)/data_b;};break;
  case 0:break;
}                                         
}
void main()
{
    uchar key=0xff;
        uchar n=0;
        uchar m=5;
        uchar x=0;
        data_a=0;
        data_b=0;
        data_c=0;
        init_lcd();
        display_a();
while(1)
{
key=keycheckdown();
if(0xff!=key)
{
if(key<10)
{
if(n<4){data_a=data_a*10+key;m=5;display_a();}n++;
if(m<4){data_b=data_b*10+key;n=5;display_b();}m++;
}
else
{switch(key)
{
case 0x0a:n=5;m=0;x=1;W_lcd(5,0,'+');break;
case 0x0b:n=5;m=0;x=2;W_lcd(5,0,'-');break;
case 0x0c:n=5;m=0;x=3;W_lcd(5,0,'*');break;
case 0x0d:n=5;m=0;x=4;W_lcd(5,0,'/');break;
case 0x0e:n=5;m=5;eql(x);W_lcd(12,0,'=');display_c(x);break;
case 0x0f:n=0;x=0;m=5;data_a=0;data_b=0;data_c=0;LCD_Write_String(0,0,table);LCD_Write_String(0,1,table);W_lcd(0,0,'0');break;
}
}
do{P1=0xf0;}while(P1!=0xf0);
}
}
}


1.四則運算,包括負數運算
2.開機顯示0,當輸入的數值或計算得到的結果大于計算器的表示范圍時,計算器會在LCD上提示OV;當除數為0時,計算器會在LCD上提示ERR。

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

使用道具 舉報

沙發
ID:306995 發表于 2018-4-15 16:59 | 只看該作者
有人嗎有人嗎
回復

使用道具 舉報

板凳
ID:164602 發表于 2018-4-16 09:06 | 只看該作者
你的錯誤很簡單!
你的程序: sbit rs=P2^5;//注意:你寫的小寫p。我寫的大寫P
都是這個錯誤。

評分

參與人數 1黑幣 +5 收起 理由
Evelynchan + 5

查看全部評分

回復

使用道具 舉報

地板
ID:309014 發表于 2018-4-16 10:03 來自手機 | 只看該作者
有不明確的定義
回復

使用道具 舉報

5#
ID:309026 發表于 2018-4-16 10:05 | 只看該作者
上面錯誤是存在未定義,你把p改一下就行。。。
回復

使用道具 舉報

6#
ID:309064 發表于 2018-4-16 10:38 | 只看該作者
你的錯誤很簡單! 你的程序:   sbit rs=P2^5;//注意:你寫的小寫p。我寫的大寫P 都是這個錯誤。
回復

使用道具 舉報

7#
ID:137239 發表于 2018-4-16 10:58 | 只看該作者
‘P’要大寫的
回復

使用道具 舉報

8#
ID:309089 發表于 2018-4-16 11:00 | 只看該作者
lcden 沒有定義P2的P 要大寫
回復

使用道具 舉報

9#
ID:309098 發表于 2018-4-16 11:08 | 只看該作者
端口p要是大寫的
回復

使用道具 舉報

10#
ID:309122 發表于 2018-4-16 11:36 | 只看該作者
樓上對的,該大寫P
回復

使用道具 舉報

11#
ID:309124 發表于 2018-4-16 11:37 | 只看該作者
p要定義一下
回復

使用道具 舉報

12#
ID:154654 發表于 2018-4-16 13:38 | 只看該作者
檢查一下上下文用到的函數是否一致
回復

使用道具 舉報

13#
ID:309251 發表于 2018-4-16 14:49 | 只看該作者
未定義
回復

使用道具 舉報

14#
ID:309242 發表于 2018-4-16 15:02 | 只看該作者
P2^7要大寫
回復

使用道具 舉報

15#
ID:306995 發表于 2018-4-16 17:15 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-16 09:06
你的錯誤很簡單!
你的程序:sbit rs=P2^5;//注意:你寫的小寫p。我寫的大寫P
都是這個錯誤。

我居然犯了低級錯誤,但是我改過來了還是不行呢怎么辦
回復

使用道具 舉報

16#
ID:164602 發表于 2018-4-17 07:22 | 只看該作者
陳藝萍 發表于 2018-4-16 17:15
我居然犯了低級錯誤,但是我改過來了還是不行呢怎么辦

編譯的時候還有什么錯呢,又發出來啥。
你沒有發程序,我就不能在自己的電腦上幫你查,我不可能照著圖片打一遍程序吧?!所以,你查了要把結果說出來啥,
回復

使用道具 舉報

17#
ID:155507 發表于 2018-4-17 11:11 來自手機 | 只看該作者
你的 #include<reg.51.h> 是 #include<reg51.h> 沒有點

評分

參與人數 1黑幣 +5 收起 理由
Evelynchan + 5 很給力!

查看全部評分

回復

使用道具 舉報

18#
ID:306995 發表于 2018-4-17 13:31 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-17 07:22
編譯的時候還有什么錯呢,又發出來啥。
你沒有發程序,我就不能在自己的電腦上幫你查,我不可能照著圖片 ...

我已經發了程序了,拜托大佬幫我運行試試
回復

使用道具 舉報

19#
ID:164602 發表于 2018-4-17 16:24 | 只看該作者
陳藝萍 發表于 2018-4-17 13:31
我已經發了程序了,拜托大佬幫我運行試試

我把其它錯誤點都給你改了,只有這里,我沒有時間讀程序,不知道你的意思,所以,自己看看,這兩個else是怎樣的關系(紅色位置),錯誤是:else與if不匹配。#include<reg51.h>

#define uint unsigned int
#define uchar unsigned char

//LCD1602
sbit rs=P2^5;
sbit wela=P2^6;
sbit lcden=P2^7;

uchar code table[]="                ";
long int data_a,data_b;
long int data_c;
uchar display[10];

void LCD_Delay_us(unsigned int t)
{
    while(t--);//t=0í?3?
}

void LCD_Delay_ms(unsigned int t)
{
    unsigned int i,j;
    for(i=0;i<t;i++)
            for(j=0;j<113;j++);
}

void write_com(uchar com)
{
    rs=0;
    lcden=0;
    P0=com;
    LCD_Delay_ms(1);
    lcden=1;
    LCD_Delay_ms(2);
    lcden=0;
}

//1602D′êy?Y
void write_data(uchar date)
{
    rs=1;
    lcden=0;
    P0=date;
    LCD_Delay_ms(1);
    lcden=1;
    LCD_Delay_ms(2);
    lcden=0;
}

void W_lcd(unsigned char x,unsigned char y,unsigned char Data)
{
        if (y==0){write_com(0x80+x);}
        else{write_com(0xc0+x);}
        write_data(Data);
}

void LCD_Write_String(unsigned char x,unsigned char y,unsigned char*s)
{
        if (y==0){write_com(0x80+x);}
        else{write_com(0xc0+x);}
        while (*s)
        {write_data(*s);s++;}
}

void init_lcd(void)
{
    wela=0;
    lcden=0;
    write_com(0x38);
    LCD_Delay_us(100);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    write_com(0x08);
}

short keycheckdown()
{
    short temp1,temp2,temp,a=0xff;
    P1=0xf0;
    LCD_Delay_ms(20);
    temp1=P1;
    P1=0xff;
    LCD_Delay_ms(20);
    P1=0x0f;
    LCD_Delay_ms(20);
    temp2=P1;
    P1=0xff;
    temp=(temp1&0xf0)|(temp2&0x0f);
    switch(temp)
    {
        case 0x77:a=0x0d;break;
        case 0x7b:a=0x0e;break;
        case 0x7d:a=0x00;break;
        case 0x7e:a=0x0f;break;

        case 0xb7:a=0x0c;break;//*
        case 0xbb:a=0x9;break;//9
        case 0xbd:a=0x8;break;//8
        case 0xbe:a=0x7;break;//7

        case 0xd7:a=0x0b;break;//-
        case 0xdb:a=0x06;break;//6
        case 0xdd:a=0x05;break;//5
        case 0xde:a=0x04;break;//4

        case 0xe7:a=0x0a;break;//+
        case 0xeb:a=0x03;break;//3
        case 0xed:a=0x02;break;//2
        case 0xee:a=0x01;break;//1

        default:a=0xff;
    }
    return a;
}

void display_a()
{
    display[3]=data_a%10000/1000;
    display[2]=data_a%1000/100;
    display[1]=data_a%100/10;
    display[0]=data_a%10;

    write_com(0x80+0);
    if(data_a>999){write_data('0'+display[3]);}
    if(data_a>99){write_data('0'+display[2]);}
    if(data_a>9){write_data('0'+display[1]);}
    write_data('0'+display[0]);
}

void display_b()
{
    write_com(0x80+7);
    display[3]=data_b%10000/1000;
    display[2]=data_b%1000/100;
    display[1]=data_b%100/10;
    display[0]=data_b%10;

    if(data_b>999){write_data('0'+display[3]);}
    if(data_b>99) {write_data('0'+display[2]);}
    if(data_b>9)   {write_data('0'+display[1]);}
    write_data('0'+display[0]);
}

void display_c(x)
{
    if(data_c<100000000&&data_c>-1)
        display[8]=data_c%1000000000/100000000;
        display[7]=data_c%100000000/10000000;
        display[6]=data_c%10000000/1000000;
        display[5]=data_c%1000000/100000;
        display[4]=data_c%100000/10000;
        display[3]=data_c%10000/1000;
        display[2]=data_c%1000/100;
        display[1]=data_c%100/10;
        display[0]=data_c%10;
        write_com(0x80+0x06+0x40);
        if(x==4)
        {
                  if(data_c>99999999) {write_data('0'+display[8]);}
                if(data_c>9999999)  {write_data('0'+display[7]);}
                if(data_c>999999)    {write_data('0'+display[6]);}
                if(data_c>99999)     {write_data('0'+display[5]);}
            write_data('0'+display[4]);
            write_data('.');
            write_data('0'+display[3]);
            write_data('0'+display[2]);
            write_data('0'+display[1]);
            write_data('0'+display[0]);
        }
        else{
            if(data_c>99999999)  {write_data('0'+display[8]);}
            if(data_c>9999999)  {write_data('0'+display[7]);}
            if(data_c>999999)  {write_data('0'+display[6]);}
            if(data_c>99999)  {write_data('0'+display[5]);}
            if(data_c>9999)  {write_data('0'+display[4]);}
            if(data_c>999)  {write_data('0'+display[3]);}
            if(data_c>999)  {write_data('0'+display[2]);}
            if(data_c>999)  {write_data('0'+display[1]);}
            write_data('0'+display[0]);
            }
        else {
            write_com(0x80+11+0x40);
            write_date('E');
            write_date('r');
            write_date('r');
            write_date('o');
            write_date('r');
             }
}
                                                                                                                  }
void eql(uchar x)
{
  switch(x)
  {
  case 1:data_c=data_a+data_b;break;
  case 2:if(data_a>=data_b){data_c=data_a-data_b;}
    else{data_c=data_b-data_a;W_lcd(5,1,'-');} ;
                     break;
        case 3:data_c=(data_a*data_b);break;
        case 4:if(data_b==0){LCD_Write_String(0,1,"Error!";}
    else{data_c=(data_a*10000)/data_b;};break;
  case 0:break;
}                                         
}
void main()
{
    uchar key=0xff;
        uchar n=0;
        uchar m=5;
        uchar x=0;
        data_a=0;
        data_b=0;
        data_c=0;
        init_lcd();
        display_a();
while(1)
{
key=keycheckdown();
if(0xff!=key)
{
if(key<10)
{
if(n<4){data_a=data_a*10+key;m=5;display_a();}n++;
if(m<4){data_b=data_b*10+key;n=5;display_b();}m++;
}
else
{switch(key)
{
case 0x0a:n=5;m=0;x=1;W_lcd(5,0,'+');break;
case 0x0b:n=5;m=0;x=2;W_lcd(5,0,'-');break;
case 0x0c:n=5;m=0;x=3;W_lcd(5,0,'*');break;
case 0x0d:n=5;m=0;x=4;W_lcd(5,0,'/');break;
case 0x0e:n=5;m=5;eql(x);W_lcd(12,0,'=');display_c(x);break;
case 0x0f:n=0;x=0;m=5;data_a=0;data_b=0;data_c=0;LCD_Write_String(0,0,table);LCD_Write_String(0,1,table);W_lcd(0,0,'0');break;
}
}
do{P1=0xf0;}while(P1!=0xf0);
}
}
}

回復

使用道具 舉報

20#
ID:306995 發表于 2018-4-17 17:09 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-17 16:24
我把其它錯誤點都給你改了,只有這里,我沒有時間讀程序,不知道你的意思,所以,自己看看,這兩個else是 ...

這一段是我最頭疼的地方小白真的看不懂
回復

使用道具 舉報

21#
ID:306995 發表于 2018-4-17 17:27 | 只看該作者
void display_c(x)
{
    if(data_c<100000000&&data_c>-1)
       
                { display[8]=data_c%1000000000/100000000;
        display[7]=data_c%100000000/10000000;
        display[6]=data_c%10000000/1000000;
        display[5]=data_c%1000000/100000;
        display[4]=data_c%100000/10000;
        display[3]=data_c%10000/1000;
        display[2]=data_c%1000/100;
        display[1]=data_c%100/10;
        display[0]=data_c%10;
        write_com(0x80+0x06+0x40);
               
       
        if(x==4)
        {
         if(data_c>99999999)   {write_data('0'+display[8]);}
         if(data_c>9999999)    {write_data('0'+display[7]);}
         if(data_c>999999)     {write_data('0'+display[6]);}
         if(data_c>99999)      {write_data('0'+display[5]);}
                               write_data('0'+display[4]);
                               write_data('.');
                               write_data('0'+display[3]);
                               write_data('0'+display[2]);
                               write_data('0'+display[1]);
                               write_data('0'+display[0]);
                         }
        
        else{
            if(data_c>99999999)  {write_data('0'+display[8]);}
            if(data_c>9999999)  {write_data('0'+display[7]);}
            if(data_c>999999)  {write_data('0'+display[6]);}
            if(data_c>99999)  {write_data('0'+display[5]);}
            if(data_c>9999)  {write_data('0'+display[4]);}
            if(data_c>999)  {write_data('0'+display[3]);}
            if(data_c>999)  {write_data('0'+display[2]);}
            if(data_c>999)  {write_data('0'+display[1]);}
            write_data('0'+display[0]);
            }
                                        }

        else {
            write_com(0x80+11+0x40);
            write_date('E');
            write_date('r');
            write_date('r');
            write_date('o');
            write_date('r');
             }
}
  嵌套后
回復

使用道具 舉報

22#
ID:309896 發表于 2018-4-17 20:39 | 只看該作者
P沒有定義吧
回復

使用道具 舉報

23#
ID:306995 發表于 2018-4-17 20:53 | 只看該作者
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
//LCD1602
sbit rs=P2^5;
sbit wela=P2^6;
sbit lcden=P2^7;
uchar code table[]="                ";
long int data_a,data_b;
long int data_c;
uchar display[10];
void LCD_Delay_us(unsigned int t)
{
    while(t--);
}
void LCD_Delay_ms(unsigned int t)
{
    unsigned int i,j;
    for(i=0;i<t;i++)
            for(j=0;j<113;j++);
}
void write_com(uchar com)
{
    rs=0;
    lcden=0;
    P0=com;
    LCD_Delay_ms(1);
    lcden=1;
    LCD_Delay_ms(2);
    lcden=0;
}
//1602
void write_date(uchar date)
{
    rs=1;
    lcden=0;
    P0=date;
    LCD_Delay_ms(1);
    lcden=1;
    LCD_Delay_ms(2);
    lcden=0;
}
void W_lcd(unsigned char x,unsigned char y,unsigned char date)
{
        if (y==0){write_com(0x80+x);}
        else{write_com(0xc0+x);}
        write_date(date);
}
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char*s)
{
        if (y==0){write_com(0x80+x);}
        else{write_com(0xc0+x);}
        while (*s)
        {write_date(*s);s++;}
}
void init_lcd(void)
{
    wela=0;
    lcden=0;
    write_com(0x38);
    LCD_Delay_us(100);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    write_com(0x08);
}
short keycheckdown()
{
    short temp1,temp2,temp,a=0xff;
    P1=0xf0;
    LCD_Delay_ms(20);
    temp1=P1;
    P1=0xff;
    LCD_Delay_ms(20);
    P1=0x0f;
    LCD_Delay_ms(20);
    temp2=P1;
    P1=0xff;
    temp=(temp1&0xf0)|(temp2&0x0f);
    switch(temp)
    {
        case 0x77:a=0x0d;break;
        case 0x7b:a=0x0e;break;
        case 0x7d:a=0x00;break;
        case 0x7e:a=0x0f;break;

        case 0xb7:a=0x0c;break;//*
        case 0xbb:a=0x9;break;//9
        case 0xbd:a=0x8;break;//8
        case 0xbe:a=0x7;break;//7

        case 0xd7:a=0x0b;break;//-
        case 0xdb:a=0x06;break;//6
        case 0xdd:a=0x05;break;//5
        case 0xde:a=0x04;break;//4

        case 0xe7:a=0x0a;break;//+
        case 0xeb:a=0x03;break;//3
        case 0xed:a=0x02;break;//2
        case 0xee:a=0x01;break;//1

        default:a=0xff;
    }
    return a;
}
void display_a()
{
    display[3]=data_a%10000/1000;
    display[2]=data_a%1000/100;
    display[1]=data_a%100/10;
    display[0]=data_a%10;

    write_com(0x80+0);
    if(data_a>999){write_date('0'+display[3]);}
    if(data_a>99){write_date('0'+display[2]);}
    if(data_a>9){write_date('0'+display[1]);}
    write_date('0'+display[0]);
}
void display_b()
{
    write_com(0x80+7);
    display[3]=data_b%10000/1000;
    display[2]=data_b%1000/100;
    display[1]=data_b%100/10;
    display[0]=data_b%10;

    if(data_b>999){write_date('0'+display[3]);}
    if(data_b>99) {write_date('0'+display[2]);}
    if(data_b>9)   {write_date('0'+display[1]);}
    write_date('0'+display[0]);
}
void display_c(x)
{
    if(data_c<100000000&&data_c>-1)
       
                { display[8]=data_c%1000000000/100000000;
        display[7]=data_c%100000000/10000000;
        display[6]=data_c%10000000/1000000;
        display[5]=data_c%1000000/100000;
        display[4]=data_c%100000/10000;
        display[3]=data_c%10000/1000;
        display[2]=data_c%1000/100;
        display[1]=data_c%100/10;
        display[0]=data_c%10;
        write_com(0x80+0x06+0x40);
        if(x==4)
        {
         if(data_c>99999999)   {write_date('0'+display[8]);}
         if(data_c>9999999)    {write_date('0'+display[7]);}
         if(data_c>999999)     {write_date('0'+display[6]);}
         if(data_c>99999)      {write_date('0'+display[5]);}
                               write_date('0'+display[4]);
                               write_date('.');
                               write_date('0'+display[3]);
                               write_date('0'+display[2]);
                               write_date('0'+display[1]);
                               write_date('0'+display[0]);
                         }      
        else{
            if(data_c>99999999)  {write_date('0'+display[8]);}
            if(data_c>9999999)  {write_date('0'+display[7]);}
            if(data_c>999999)  {write_date('0'+display[6]);}
            if(data_c>99999)  {write_date('0'+display[5]);}
            if(data_c>9999)  {write_date('0'+display[4]);}
            if(data_c>999)  {write_date('0'+display[3]);}
            if(data_c>999)  {write_date('0'+display[2]);}
            if(data_c>999)  {write_date('0'+display[1]);}
            write_date('0'+display[0]);
            }
                                        }
        else {
            write_com(0x80+11+0x40);
            write_date('E');
            write_date('R');
            write_date('R');
                                        write_date('O');
                                        write_date('R');
             }
}                                                                                                               
void eql(uchar x)
{
  switch(x)
  {
  case 1:data_c=data_a+data_b;break;
  case 2:if(data_a>=data_b){data_c=data_a-data_b;}
    else{data_c=data_b-data_a;W_lcd(5,1,'-');} ;
                     break;
  case 3:data_c=(data_a*data_b);break;
  case 4:if(data_b==0){LCD_Write_String(0,1,"ERROR");}
    else{data_c=(data_a*10000)/data_b;};break;
  case 0:break;
}                                         
}
void main()
{
    uchar key=0xff;
        uchar n=0;
        uchar m=5;
        uchar x=0;
        data_a=0;
        data_b=0;
        data_c=0;
        init_lcd();
        display_a();
while(1)
{
key=keycheckdown();
if(0xff!=key)
{
if(key<10)
{
if(n<4){data_a=data_a*10+key;m=5;display_a();}n++;
if(m<4){data_b=data_b*10+key;n=5;display_b();}m++;
}
else
{switch(key)
{
case 0x0a:n=5;m=0;x=1;W_lcd(5,0,'+');break;
case 0x0b:n=5;m=0;x=2;W_lcd(5,0,'-');break;
case 0x0c:n=5;m=0;x=3;W_lcd(5,0,'*');break;
case 0x0d:n=5;m=0;x=4;W_lcd(5,0,'/');break;
case 0x0e:n=5;m=5;eql(x);W_lcd(12,0,'=');display_c(x);break;
case 0x0f:n=0;x=0;m=5;data_a=0;data_b=0;data_c=0;LCD_Write_String(0,0,table);LCD_Write_String(0,1,table);W_lcd(0,0,'0');break;
}
}
do{P1=0xf0;}while(P1!=0xf0);
}
}
}
錯誤:target not created
回復

使用道具 舉報

24#
ID:291815 發表于 2018-4-17 23:19 | 只看該作者
‘P’要大寫的
回復

使用道具 舉報

25#
ID:164602 發表于 2018-4-18 08:30 | 只看該作者
陳藝萍 發表于 2018-4-17 20:53
#include
#define uint unsigned int
#define uchar unsigned char

要我的板子上沒有錯誤啊。
回復

使用道具 舉報

26#
ID:306995 發表于 2018-4-18 13:16 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-18 08:30
要我的板子上沒有錯誤啊。

那是我的軟件問題嗎?可是我別的程序都可以編譯
回復

使用道具 舉報

27#
ID:306995 發表于 2018-4-18 13:23 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-18 08:30
要我的板子上沒有錯誤啊。

修改代碼后.zip (58.11 KB, 下載次數: 4)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品一区二区三区四区 | 久热中文字幕 | 欧美黄色一级毛片 | 国产视频三级 | 99精品网| 午夜免费av | 99热碰| 蜜桃av鲁一鲁一鲁一鲁 | 中文字幕在线三区 | 久久麻豆精品 | 亚洲精品久久久久久久久久久久久 | 网站国产 | 91福利在线观看视频 | 情侣酒店偷拍一区二区在线播放 | 欧美成人一区二区 | 亚洲精品久久久久久国产精华液 | 久久这里有精品 | 亚洲成人久久久 | 二区在线观看 | 蜜桃综合在线 | 欧美又大粗又爽又黄大片视频 | 99久久久久久久 | 黄a免费看 | 欧美视频偷拍 | 黄色在线网站 | 91在线网站 | 中文字幕不卡一区 | 日本久久久一区二区三区 | 成人精品国产免费网站 | 日韩精品在线看 | 国产一区2区| 成人免费小视频 | 久久久久久国产精品 | 亚洲精品成人在线 | 青青草av网站 | 日韩欧美一区在线 | 亚洲成人免费视频 | 婷婷综合五月天 | 国产一区二区在线免费观看 | 亚洲综合在线一区二区 | 久久精品一区二区三区四区 |