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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1918|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

簡易計算器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:216174 發(fā)表于 2017-6-30 18:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit leden=P2^7;
sbit rs=P2^5;
sbit wr=P2^6;
//sbit busy=P0^7;
uchar i,j,num,num_1,temp;
long a,b, c;
float a_c,b_c;
uchar flag,fuhao;
uchar code table[]={7,8,9,0,
                    4,5,6,0,
                                        1,2,3,0};
uchar code table1[]={7,8,9,0x2f-0x30,
                     4,5,6,0x2a-0x30,
                                         1,2,3,0x2d-0x30,
                                         0x01-0x30,0,0x3d-0x30,0x2b-0x30};
void delay(uchar n)
{
uchar i,j;
for(i=n;i>0;i--)
    for(j=200;j>0;j--) ;
}
/*
void check()
{
do{P0=0xff;
    rs=0;wr=1;leden=0;delay(5);leden=1;}while(busy==1);

}
*/
void write(uint w)
{
   rs=0;
   wr=0;
   leden=0;
   P0=w;
   leden=1;
   delay(10);//check();
   leden=0;

}
void write_data(uint q)
{

   wr=0;
   leden=0;
   P0=q;
   leden=1;
     delay(10);
   leden=0;

}
void init()
{
          num=1;
   leden=1;
   write(0x38);
   write(0x08);
   write(0x01);
   write(0x06);
   write(0x0f);
   num_1=0;
   i=0;j=0;a=0;b=0;c=0;flag=0;fuhao=0;

}

void keyscan()
{
   P1=0Xfe;
   if(P1!=0xfe)
   {
    delay(10);
        if(P1!=0xfe)
        {
          temp=P1&0xf0;
          switch(temp)
            {
                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==2||num==1)         
        {
          if(j!=0)
          {
            write(0x01);
                j=0;
          }
          if(flag==0)
          {
            a=a*10+table[num];
          }
          else
           {
             b=b*10+table[num];
           }
         }
         else
         {
           flag=1;
           fuhao=4;//????;
         }
         i=table1[num];
         write_data(0x30+i);
        }

          P1=0xfd;
   if(P1!=0xfd)
   {
    delay(10);
        if(P1!=0xfd)
        {
          temp=P1&0xf0;
          switch(temp)
            {
                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(j!=0)
          {
            write(0x01);
                j=0;
          }
          if(flag==0)
          {
            a=a*10+table[num];
          }
          else
           {
             b=b*10+table[num];
           }
         }
         else
         {
           flag=1;
           fuhao=3;//????;
         }
         i=table1[num];
         write_data(0x30+i);
   }

   P1=0xfb;
  if(P1!=0xfb)
   {
    delay(10);
        if(P1!=0xfb)
        {
          temp=P1&0xf0;
          switch(temp)
            {
                case 0xe0:num=8;break;
                case 0xd0:num=9;break;
                case 0xb0:num=10;break;
                case 0x70:num=11;break;
                }
         }
        while(P1!=0xfb);
        if(num==8||num==9||num==10)
        {
         if(j!=0)
          {
            write(0x01);
                j=0;
          }
          if(flag==0)
          {
            a=a*10+table[num];
          }
          else
           {
             b=b*10+table[num];
           }
         }
         else if(num==11)
          {
           flag=1;
           fuhao=2;//jian???;
           }
         i=table1[num];
         write_data(0x30+i);
   }

        P1=0xf7;
    if(P1!=0xf7)
   {
    delay(10);
        if(P1!=0xf7)
        {
          temp=P1&0xf0;
          switch(temp)
            {
                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:{write(0x01);a=0;b=0;flag=0;fuhao=0;}break;
         case 13:
                {
                           if(flag==0)
                             {a=a/10;write_data(0x30);}
                           else if(flag==1)
                             {b=b*10;write_data(0x30);}
                        } break;
         case 14: {j=1;
                    if(fuhao==1)
                                {write(0x80+0x4f);write(0x04);c=a+b;
                                  while(c!=0)
                                 {
                                         write_data(0x30+c%10);
                                         c=c/10;
                                         }
                                 write_data(0x3d);a=0;b=0;flag=0;fuhao=0;}

                                else if(fuhao==2)
                                {write(0x80+0x4b);write(0x04);
                                  if(a-b>0)
                                     {c=a-b;}
                                  else { c=b-a;        }
                                  while(c!=0)
                                 {
                                         write_data(0x30+c%10);
                                         c=c/10;
                                         }
                                  if(a-b<0)
                                 write_data(0x2d);write_data(0x3d);a=0;b=1;flag=0;fuhao=0;}

                                 else if(fuhao==3)
                                 {write(0x80+0x4f);write(0x04);c=a*b;
                                  while(c!=0)
                                 {
                                         write_data(0x30+c%10);
                                         c=c/10;
                                         }
                                 write_data(0x3d);a=0;b=0;flag=0;fuhao=0;}

                                 else if(fuhao==4)
                                 {
                                  write(0x80+0x4f);write(0x04);        i=0;
                                  c=a/b/c;        
                                  while(c!=0)
                                 {
                                         write_data(0x30+c%10);
                                         c=c/10;
                                          i++;
                                          if(i==3)
                                             write(0x2e);
                                         }

                                  if(a/b<=0)
                                 write_data(0x30);write_data(0x3d);a=0;b=0;flag=0;fuhao=0;
                                 }                  
                                 } break;
        case 15:{write_data(0x30+table1[num]);flag=1;fuhao=1;}        break;
   }
   }
   P1=0xf0;
}

void main()
{
  init();


  while(1)
  {
    keyscan()
  }
}



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

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天堂在线一区 | 日本精品国产 | 国产精品影视在线观看 | 国产成人啪免费观看软件 | 国产精品海角社区在线观看 | 超碰激情 | 欧美区在线 | 久久亚洲综合 | 亚洲一区二区三区四区五区午夜 | 国产精品jizz在线观看老狼 | 国产视频精品免费 | 欧美日韩在线视频一区二区 | 久久成人精品视频 | 青草久久免费视频 | 九九精品在线 | 精品久久精品 | 久久久久免费精品国产 | 九九福利| av国产精品 | 亚洲国产成人精品女人久久久 | 欧美综合在线观看 | 在线精品一区二区三区 | 日韩国产在线 | 色就干 | 欧美极品少妇xxxxⅹ免费视频 | 精品久久九九 | 国产精品美女久久久久aⅴ国产馆 | 男女免费观看在线爽爽爽视频 | 人人射人人 | 日韩精品一区二区三区在线观看 | 亚洲欧美成人影院 | 成人国产精品久久 | 亚洲欧美一区二区三区视频 | 正在播放国产精品 | 亚洲网站在线播放 | 久久久久久久久久毛片 | 亚洲精品视频导航 | 国产精品成人一区二区 | 色综合视频 | 国产91精品久久久久久久网曝门 | 91精品国产色综合久久 |