欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開(kāi)始

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

12864顯示程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:321297 發(fā)表于 2018-5-3 15:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned  char
#define uint  unsigned  int
sbit RS=P1^7;
sbit RW=P1^6;
sbit E=P1^5;                        
sbit PSB=P0^7;   //硬件上的串口,并口選擇位,此開(kāi)發(fā)板用的是并口,此位置1為并口
uchar code table_7[]={"("};
uchar code table_8[]={")"};
uchar code table_9[]={"                "};
uchar code table_b[]={"請(qǐng)刷卡"};
uchar code table_c[]={"密碼錯(cuò)!"};
uchar code table_d[]={"請(qǐng)接射頻卡模塊!"};
/////延時(shí)函數(shù)//////////////////////////////////
void delay1(unsigned int z)
{
        unsigned int x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);       
}
///////////////////////////////////////////////
//////寫(xiě)命令////////////////////////////////////
void WriteCommand(uchar a)
{
         E=0;  //1讀取信息;1-0下降沿執(zhí)行指令
         RS=0;  //0=寫(xiě)指令;1=寫(xiě)數(shù)據(jù)
         RW=0;  //0=寫(xiě)指令或數(shù)據(jù);1=讀LCD信息
         E=1;  //讀信息
         P2=a;  //寫(xiě)指令
         delay1(5);           //延時(shí)
         E=0;    //執(zhí)行指令
         delay1(5);           //延時(shí)
}
//////////////////////////////////////////////////


//////寫(xiě)數(shù)據(jù)//////////////////////////////////////
void WriteData(uchar b)  
{

     E=0;   //執(zhí)行指令
         RS=1;   //寫(xiě)數(shù)據(jù)
         RW=0;   //寫(xiě)數(shù)據(jù)
         E=1;   //讀取信息
         P2=b;   //寫(xiě)數(shù)據(jù)
         delay1(5);      //延時(shí)
         E=0;     //執(zhí)行指令
         delay1(5);      //延時(shí)
}
void initial_LCD()      
{   

            PSB=1;      //選擇為并口
         WriteCommand(0x01);  //清屏
         WriteCommand(0x30);  //功能設(shè)置。8字節(jié)界面,基本指令集。(0011 x0xx)
         WriteCommand(0x0c);  //顯示設(shè)置。整體顯示,光標(biāo)不顯示,光標(biāo)不反向。(0000 1110)
         WriteCommand(0x06);   //輸入方式設(shè)置。光標(biāo)右移,地址位加1;整體右移。(0000 0110)
        // WriteCommand(0x14);   //光標(biāo)右移。
}

void LCD_Data(uchar LCDbyte )
{
         unsigned char count;
         count=(LCDbyte&0xf0)>>4;
         if (count>0x9) WriteData(count%9+0x40);
         else WriteData(count+0x30);
         count=LCDbyte&0x0f;
         if (count>9) WriteData(count%9+0x40);
         else WriteData(count+0x30);
}


/**********舉例:LCD_PutString(1,1,"設(shè)置濕度上限");***********/
void LCD_PutString(unsigned char x,unsigned char y,uchar *s)
{
switch(y)
     {
          case 1: WriteCommand(0x80+x);break;
          case 2: WriteCommand(0x90+x);break;
          case 3: WriteCommand(0x88+x);break;
          case 4: WriteCommand(0x98+x);break;
      default:break;
         }
while(*s>0)
   {
      WriteData(*s);
      s++;
      delay1(10);
   }
}

void dis_Request1()
{
                uchar i;
                 WriteCommand(0x9b);
                 for (i=1;i<=1;i++)               
                 WriteData(table_7[i-1])  ;

                 WriteCommand(0x9c);
                 for (i=1;i<=1;i++)               
                 WriteData(table_8[i-1])  ;
}

void dis_Request2()
{
                uchar i;
                 WriteCommand(0x9a);
                 for (i=1;i<=1;i++)               
                 WriteData(table_7[i-1])  ;

                 WriteCommand(0x9d);
                 for (i=1;i<=1;i++)               
                 WriteData(table_8[i-1])  ;
}

void dis_Request3()
{
                uchar i;
                 WriteCommand(0x99);
                 for (i=1;i<=1;i++)               
                 WriteData(table_7[i-1])  ;

                 WriteCommand(0x9e);
                 for (i=1;i<=1;i++)               
                 WriteData(table_8[i-1])  ;
}
void DispalyLcd1()
{
         unsigned char i;
         WriteCommand(0x98);         
         for (i=1;i<=16;i++)               
         WriteData(table_9[i-1])  ;
}


void DispalyLcd_home() //工作模式
{
     LCD_PutString(1,1,"門禁卡系統(tǒng)");
         LCD_PutString(2,2,"工作模式");
         LCD_PutString(2,3,"請(qǐng)刷卡");
}

void DispalyLcd_home1() //注冊(cè)模式
{
     LCD_PutString(1,1,"門禁卡系統(tǒng)");  
         LCD_PutString(2,2,"注冊(cè)模式");
         LCD_PutString(2,3,"請(qǐng)刷卡");
}
void DispalyLcd_home2() //清除模式
{
     LCD_PutString(1,1,"門禁卡系統(tǒng)");  
         LCD_PutString(2,2,"注銷模式");
         LCD_PutString(2,3,"請(qǐng)刷卡");
}

void dis_passerror()
{
         unsigned char i;

         WriteCommand(0x88);         
         for (i=1;i<=16;i++)               
         WriteData(table_9[i-1])  ;
         DispalyLcd1();

         WriteCommand(0x9a);                 
         for (i=1;i<=7;i++)               
         WriteData(table_c[i-1])  ;        
}


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表