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

標題: LCD12864簡易計算器 [打印本頁]

作者: LCH020105    時間: 2021-12-21 19:29
標題: LCD12864簡易計算器
#include<reg52.h>
#define K P2

typedef unsigned int u16;         
typedef unsigned char u8;

sbit RS = P1^0;
sbit RW = P1^1;
sbit E =  P1^2;


void delay(int i)
{
while(i--);

}

int a;
void AJ()        //按鍵函數
{

int b=0;
K=0x0f;

  if(K!=0x0f)
    {
           delay(1000);
           if(K!=0x0f)
             {
                  switch(K)
                  {
                    case 0x07: a=0;break;
                        case 0x0b: a=1;break;
                        case 0x0d: a=2;break;
                        case 0x0e: a=3;break;
                  }
                 }
                    K=0xf0;
                   if(K!=0xf0)
            {
                   delay(1000);
                  if(K!=0xf0)
                    {
                          switch(K)
                              {
                            case 0x70: a=a;break;
                                 case 0xb0: a=a+4;break;
                                case 0xd0: a=a+8;break;
                                case 0xe0: a=a+12;break;
                                   }
                       }
                         }                           
               while(b<50&&K!=0xf0);
                     {
                         delay(100);
                         b++;
                     }
           }
        }




u8 code  SHU[]={0x31,0x32,0x33,0x2b,0x34,0x35,0x36,0x2d,0x37,0x38,0x39,0x2a,0x2f,0x30,0x3d};
/*
{  1  2  3    +
   4  5  6    -
   7  8  9    *
   /  0  =   
}
*/
//u8 code        FU[]={0x2b,0x2d,0x2a,0x2f};                // + - * /





/*LCD12864程序函數*/
void LCD12864_SetPos(unsigned char x,unsigned char y) ;
void LCD12864_WDAT(unsigned char dat);
void LCD12864_WCMD(unsigned char cmd);
void LCD12864_BusyCheck();
void LCD12846_DisHZ_Str(unsigned char *s);

void  YX()
  {
  char m[100];     //m為第一個數
char n[100];         //n為第二個數
      int i,j,b=0,c=0;
          int q,h;
          int d=-1;
          int s1=0,s2=0;
   for(i=2;i>1;i++)
     {
          LCD12864_SetPos(0,b);
          b++;
          if(a)
           AJ();
           d=a;
           if(d!=-1)
           {
           LCD12864_WDAT(SHU[a]);
           if(a==15)
           {
                     for(;s1>0;s1--)
                  {
                    q=q*10+m[s1-1];
                  }
                  for(;s2>0;s2--)
                  {
                  h=h*10+n[s2-1];
                  }
                  if(j==3)
                  {
                  LCD12864_WDAT(SHU[14]);
                   LCD12864_WDAT(q+h);
                  }
                   else if(j==7)
                   {
                   LCD12864_WDAT(SHU[14]);
                   LCD12864_WDAT(q-h);
                   }
                              else if(j==11)
                   {
                   LCD12864_WDAT(SHU[14]);
                   LCD12864_WDAT(q*h);
                   }
                              else if(j==12)
                   {
                   LCD12864_WDAT(SHU[14]);
                   LCD12864_WDAT(q/h);
                   }
           }
           if(a!=3&&a!=7&&a!=11&&a!=12)
           {
                   m[i-2]=a;
                s1++;
           }
           else
           {
           c=1;
           i=2;
           j=a;
           }
            if(c==1)
                        {
                        n[i-2]=a;
                        s2++;
                        }
                       
                        }


           a=16;
           if(a==15)
           {
           LCD12864_WCMD(0x0c);
               LCD12864_WCMD(0x30);
           }
        delay(10000);
        d=-1;
        }
         }
void main()
{


           LCD12864_WCMD(0x0c);
        LCD12864_WCMD(0x30);

//    LCD12846_DisHZ_Str("歡迎使用科學計算器");
//   LCD12864_SetPos(0,0);

          YX();
}
//        LCD12864_WCMD(0x0c);
//        LCD12864_WCMD(0x30);
//  LCD12864_SetPos(0,b);
//        b++;
/*            AJ();
           m[j]=a;
           j++;
          //for(i=1;i>1;i++)
           LCD12864_WDAT(SHU[a]);
           delay(1000);
*/

//                   AJ();
//                   LCD12864_SetPos(0,0+b);
//                b++;
//                LCD12864_WDAT(SHU[a]);
//                if(a==14)
//                {
//                LCD12864_SetPos(1,0);
         





        /*LCD12864_WDAT(SHU[0]);
        LCD12864_WDAT(0x04);
        LCD12864_WDAT(0x05 + '0'); //'0' = 48 = 0x30
        LCD12864_WDAT(0x06);
        LCD12864_SetPos(1,0);
        LCD12846_DisHZ_Str("李朝賀");
        */
/*        while(1)
        {
        if(a==15)
        break;       
        }
  */





void LCD12864_BusyCheck()
{
        unsigned char temp;
        P0 = 0xff;
        RS = 0;
        RW = 1;
        while(1)
        {
                E = 1;
                temp = P0;
                E = 0;
                if((temp & 0x80) == 0)
                        break;
        }        
}

void LCD12864_WCMD(unsigned char cmd)
{
        LCD12864_BusyCheck();
        RS = 0;
        RW = 0;
        P0 = cmd;
        E = 1;
        E = 0;
}

void LCD12864_WDAT(unsigned char dat)
{
        LCD12864_BusyCheck();
        RS = 1;
        RW = 0;
        P0 = dat;
        E = 1;
        E = 0;
}

void LCD12864_SetPos(unsigned char x,unsigned char y)
{
        unsigned char pos;
        switch(x)
        {
                case 0 : x = 0x80;break;
                case 1 : x = 0x90;break;
                case 2 : x = 0x88;break;
                case 3 : x = 0x98;break;
                default:break;
        }
        pos = x + y; //x范圍0-3  y范圍0-7
        LCD12864_WCMD(pos);
}

void LCD12846_DisHZ_Str(unsigned char *s)
{
        while(*s)
                LCD12864_WDAT(*s++);
}






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本欧美国产在线 | 欧美videosex性极品hd | 久久久久久国产精品 | 风间由美一区二区三区在线观看 | 国产精品日韩一区二区 | 色www精品视频在线观看 | 永久av| 99久久精品国产毛片 | 一级亚洲| 一区二区不卡视频 | 91久久国产综合久久 | 手机在线观看 | 久久999 | 色精品视频 | 激情欧美一区二区三区 | 三级黄片毛片 | 午夜精品久久久 | 一区影视| 亚洲欧洲中文日韩 | 欧美在线天堂 | 精品一区二区三区在线视频 | 久草网址| 久久久91 | 国产日韩一区二区三区 | 91在线精品秘密一区二区 | 国产一级毛片视频 | 欧美日韩视频 | 99在线观看视频 | 一区二区久久电影 | 欧美日韩中文在线观看 | 国产国语精品 | 精品久久久久久久久久久院品网 | 日韩欧美一级精品久久 | 91精品国产综合久久久久久 | 精品麻豆剧传媒av国产九九九 | 精品久久99 | 久久精品一区 | 精品久久一区二区三区 | 99re在线| 极品粉嫩国产48尤物在线播放 | 日韩精品在线一区 |