新聞中心

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

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

        作者: 時(shí)間:2016-12-01 來(lái)源:網(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://www.104case.com/article/201612/324178.htm

        上一頁(yè) 1 2 3 下一頁(yè)

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

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 商南县| 澜沧| 莆田市| 泌阳县| 台山市| 会同县| 泾川县| 章丘市| 冷水江市| 台东市| 江阴市| 五大连池市| 西丰县| 五常市| 射阳县| 平遥县| 满洲里市| 会同县| 兴化市| 岳普湖县| 江安县| 漠河县| 离岛区| 兴义市| 宁津县| 通州市| 榕江县| 安丘市| 三都| 永修县| 耿马| 泰来县| 四会市| 社会| 靖宇县| 吉水县| 崇阳县| 班戈县| 曲阳县| 翁牛特旗| 伊金霍洛旗|