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

專注電子技術(shù)學(xué)習(xí)與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

用單片機制作簡單計算器的源程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2010年06月18日   【字體:
發(fā)一個用51單片機做的簡單計算器的程序.

/**********************按鍵處理*******************/

void KeyDeal(unsigned char Key)

{  //unsigned char n,p;

   if(Key!=0)     //判斷 有無按鍵按下。

 {

   

                      switch(Key)

                      {  //以下定義0~9的數(shù)字鍵。

                      case 0x11: K=0; break;

                      case 0x21: K=1; break;

                      case 0x41: K=2; break;

                      case 0x81: K=3; break;

                      case 0x12: K=4; break;

                      case 0x22: K=5; break;

                      case 0x42: K=6; break;

                      case 0x82: K=7; break;

                      case 0x14: K=8; break;

                      case 0x24: K=9; break;

                   //以下+。-,*,/ 鍵

                      case 0x44: K=10; break;  //加

                      case 0x84: K=11; break;  //減

                      case 0x18: K=12; break;  //乘

                      case 0x28: K=13; break;  //除

                      case 0x48: K=14; break;  //等于

                      case 0x88: K=15; break;  //清除

                      default: break;

                      }

          if(K<10)  //數(shù)字鍵

           {           

                   d[2]=d[1];

            d[1]=d[0];

                   d[0]=K;

                   c[2]=c[1];

            c[1]=c[0];

                   c[0]=b[K];

      //以上數(shù)組數(shù)據(jù)賦值是保證數(shù)字按鍵入順序移位。

           }

           if(K==10)  //加

           { m=d[2]*100+d[1]*10+d[0],d[0]=0,d[1]=0,d[2]=0,d[3]=0,d[4]=0;p=1;

           c[0]=0xc0, c[1]=0xc0, c[2]=0xc0, c[3]=0xc0, c[4]=0xc0; }

          if(K==11)//減

           { m=d[2]*100+d[1]*10+d[0],d[0]=0,d[1]=0,d[2]=0,d[3]=0,d[4]=0;p=2;

          c[0]=0xc0, c[1]=0xc0, c[2]=0xc0, c[3]=0xc0, c[4]=0xc0;} 

           if(K==12)//乘

           { m=d[2]*100+d[1]*10+d[0],d[0]=0,d[1]=0,d[2]=0,d[3]=0,d[4]=0;p=3;

          c[0]=0xc0, c[1]=0xc0, c[2]=0xc0, c[3]=0xc0, c[4]=0xc0;}

           if(K==13)//除

           { m=d[2]*100+d[1]*10+d[0],d[0]=0,d[1]=0,d[2]=0,d[3]=0,d[4]=0;p=4;

          c[0]=0xc0, c[1]=0xc0, c[2]=0xc0, c[3]=0xc0, c[4]=0xc0;}

         if(K==14)   //此處是按  =鍵  

           { n=d[2]*100+d[1]*10+d[0];            

          if (p==1) shu=m+n;

           if (p==2) shu=m-n;   

          if (p==3) shu=m*n; 

          if (p==4) shu=m/n;

        c[4]=b[shu/10000];         

        c[3]=b[shu%10000/1000];

        c[2]=b[shu%1000/100];

        c[1]=b[shu%100/10];

        c[0]=b[shu%10];   //C[]存的是  計算結(jié)果  。

           }

       if(K==15) // 此處是按  清除鍵  

       {d[0]=0,d[1]=0,d[2]=0,d[3]=0,d[4]=0;

       shu=0;

        c[4]=b[shu/10000];         

        c[3]=b[shu%10000/1000];

        c[2]=b[shu%1000/100];

        c[1]=b[shu%100/10];

        c[0]=b[shu%10]; }

     

}

}

void main()

{ 

      while(1)

   {

     Key = Keycan();//鍵盤掃描獲取一次按鍵的編碼0x11-0x88

     KeyDeal(Key);  //對掃描到的鍵盤編碼進行轉(zhuǎn)換處理,變成數(shù)據(jù)鍵盤0-

          display();

   }

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 亚洲精品成人 | 一区二区蜜桃 | 亚洲国产精品一区 | 亚洲一区二区三区在线播放 | 午夜免费看 | 精品一区在线免费观看 | 男女网站免费 | 国产精品亚洲二区 | 国产精品日韩欧美一区二区 | 精品国产乱码久久久久久果冻传媒 | 91久久久久久久久久久 | 欧美日韩在线一区二区三区 | 欧美在线一区二区三区 | 岛国精品 | 久久国产激情视频 | 国产日韩免费观看 | 蜜桃官网 | 天天操夜夜操 | 久草99| 精品精品 | 免费h在线 | 久久99国产精品 | 天天草视频 | 一区二区三区精品在线视频 | 99精品欧美一区二区蜜桃免费 | 青青久久| 亚洲一区二区久久 | 成人午夜网站 | 色视频在线免费观看 | 做a视频在线观看 | 国产精品夜色一区二区三区 | 99视频久| 国产激情在线播放 | 久草福利| 国产 日韩 欧美 中文 在线播放 | 日韩欧美在线观看 | 九九免费视频 | 午夜免费观看网站 | 精品欧美一区二区三区久久久 | 超碰97人人人人人蜜桃 | av成人在线观看 |