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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1924|回復(fù): 0
收起左側(cè)

LCD12864簡(jiǎn)易計(jì)算器

[復(fù)制鏈接]
ID:995364 發(fā)表于 2021-12-21 19:29 | 顯示全部樓層 |閱讀模式
#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()        //按鍵函數(shù)
{

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程序函數(shù)*/
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為第一個(gè)數(shù)
char n[100];         //n為第二個(gè)數(shù)
      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("歡迎使用科學(xué)計(jì)算器");
//   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++);
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品免费一区二区三区 | 免费在线视频一区二区 | 欧美啪啪 | 午夜精品一区二区三区免费视频 | 欧美区在线 | 亚洲国产成人av好男人在线观看 | 天天射影院 | 国产精品中文字幕在线 | 亚洲a在线观看 | 亚洲视频一区在线观看 | 国产色婷婷久久99精品91 | 午夜精品在线观看 | 亚洲免费在线观看 | 久久精品免费看 | 久久精品视频99 | 日日干天天操 | 日本三级全黄三级三级三级口周 | 亚洲精品一二三区 | 欧美αv | 日韩精品在线网站 | 91在线视频一区 | 九九九久久国产免费 | 免费视频二区 | 国产一区亚洲 | 国产午夜精品一区二区三区四区 | 99reav| 精品久久久久一区二区国产 | 亚洲天堂一区 | 97伦理影院 | 9久9久 | 欧美极品在线观看 | 国产精品特级毛片一区二区三区 | 国产真实精品久久二三区 | 伊人狠狠| 黄色av免费网站 | 国产精品免费一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 欧美日韩视频在线第一区 | 热久色 | 国产精品自产拍在线观看蜜 | 亚洲精品一区中文字幕乱码 |