色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)做的8位計(jì)算器

          單片機(jī)做的8位計(jì)算器

          作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏

          return date;
          }
          void display(longint num)
          {
          char i;
          LA[7]=num%100000000/10000000;
          LA[6]=num%10000000/1000000;
          LA[5]=num%1000000/100000;
          LA[4]=num%100000/10000;
          LA[3]=num%10000/1000;
          LA[2]=num%1000/100;
          LA[1]=num%100/10;
          LA[0]=num%10;
          if(num==0)
          {
          wela=1;
          P0=wetable[0];
          wela=0;
          dula=1;
          P0=dutable[0];
          dula=0;
          P0=0xff;
          delay(2);
          }
          else
          {
          for(i=7;i>=0;i--)
          {
          if(LA[i]!=0)
          {
          p=i;
          break;
          }
          }
          for(i=0;i<=p;i++)
          {
          wela=1;
          P0=wetable[i];
          wela=0;

          dula=1;
          P0=dutable[LA[i]];
          dula=0;
          P0=0xff;//消影
          delay(2);
          }
          }
          }
          void calc(uchar date)
          {
          if(flag==1)
          {
          if(count==0)//得到的第一個(gè)完整數(shù)字
          {
          num1=num1*10+date;
          flag=0;
          num=num1;
          }
          if(count==1)//得到的第二個(gè)完整數(shù)字
          {
          num2=num2*10+date;
          flag=0;
          num=num2;
          }
          }
          if(count>1&&mark==1)
          {
          num1=num;
          flag=0;
          count=1;//講num2置為第二個(gè)數(shù)
          }
          display(num);
          if(flag==2)//如果得到符號(hào)位
          {
          count++;
          flag=0;
          }
          if(flag==3)
          {
          switch(ch)
          {
          case +:num=num1+num2;
          break;
          case -:num=num1-num2;
          break;
          case *:num=num1*num2;
          break;
          case /:num=num1/num2;
          break;
          }
          num1=0;
          num2=0;
          flag=0;
          mark=1;//here is a bug
          }
          display(num);
          if(flag==4)
          {
          num1=0;
          num2=0;
          num=0;
          count=0;
          flag=0;
          mark=0;
          }
          }
          void main()
          {
          init();
          while(1)
          {
          calc(keyscan());
          }
          }

          本文引用地址:http://cafeforensic.com/article/201612/324178.htm

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 單片機(jī)8位計(jì)算

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉