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

QQ登錄

只需一步,快速開始

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

單片機(jī)+1602液晶操作

[復(fù)制鏈接]
ID:677732 發(fā)表于 2019-12-30 18:17 | 顯示全部樓層 |閱讀模式
一、實(shí)驗(yàn)?zāi)康?br /> (1)     了解Keil uVision2軟件;
(2)     學(xué)會(huì)使用 STC燒寫軟件-ISP-v6.85H。
  
  二.實(shí)驗(yàn)環(huán)境
硬件:(1)學(xué)生用微機(jī)  
軟件:(1)Windows 10操作系統(tǒng)
(2)Keil uVision2
  
  
三、實(shí)驗(yàn)內(nèi)容與步驟
  
  用C語(yǔ)言編程,按S4鍵實(shí)現(xiàn)第一行從屏幕右側(cè)移入“I LOVE YOU!”,每次移動(dòng)0.5s,然后從屏幕右側(cè)移出。按S5鍵實(shí)現(xiàn)第二行從右側(cè)移入“BUT YOU DONT!”每次移動(dòng)0.5s,然后從屏幕右側(cè)移出。
  
  四、實(shí)驗(yàn)過程與分析
  
  用C語(yǔ)言編程,按S4鍵實(shí)現(xiàn)第一行從屏幕右側(cè)移入“I LOVE YOU!”,每次移動(dòng)0.5s,然后從屏幕右側(cè)移出。按S5鍵實(shí)現(xiàn)第二行從右側(cè)移入“BUT YOU DONT!”每次移動(dòng)0.5s,然后從屏幕右側(cè)移出。
  實(shí)驗(yàn)代碼:
  #include<reg52.h>
  #define uchar unsigned char
  #define uint unsigned int
  uchar code table1[]="I LOVE  YOU!";
  uchar code table2[]="BUT YOU  DONT!";
  sbit lcden=P3^4;  //液晶使能端
  sbit lcdrs=P3^5;  //液晶數(shù)據(jù)命令選擇端
  sbit dula=P2^6;     //申明U1鎖存器的鎖存端
  sbit wela=P2^7;     //申明U2鎖存器的鎖存端
  sbit key1=P3^6;
  sbit key2=P3^7;
  uchar code table[]={
  0x3f,0x06,0x5b,0x4f,
  0x66,0x6d,0x7d,0x07,
  0x7f,0x6f,0x77,0x7c,
  0x39,0x5e,0x79,0x71};
  uchar num;
  void delay(uint z)
  {  uint  x,y;
     for(x=z;x>0;x--)
        for(y=110;y>0;y--);
  }
  void write_com(uchar com)
  {  lcdrs=0;
     P0=com;
     delay(5);
     lcden=1;
     delay(5);
     lcden=0;
  }
  void write_data(uchar date)
  {  lcdrs=1;
     P0=date;
     delay(5);
     lcden=1;
     delay(5);
     lcden=0;
  }
  void init()
  {  dula=0;
     wela=0;
     lcden=0;
     write_com(0x38);//設(shè)置16X2顯示,5X7點(diǎn)陣,8位數(shù)據(jù)接口
     write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)
     write_com(0x06);//寫一個(gè)字符后地址指針加1
     write_com(0x01);//顯示清零,數(shù)據(jù)指針清零
  }
  void main()
  {  init();
     while(1)
     {if(key1==0)
     {delay(10);
     if(key1==0)
     {write_com(0x80+0x10);
     for(num=0;num<11;num++)
     {write_data(table1[num]);
        delay(5);
     }
     for(num=0;num<16;num++)
     {write_com(0x18);
      delay(200);
     }
     delay(1000);
        for(num=0;num<16;num++)
     {
        write_com(0x1C);
        delay(200);
     }
     delay(1000);
     write_com(0x01);
     while(!key1);
  }}
     if(key2==0)
     {delay(10);
     if(key2==0)
     {write_com(0x80+0x50);
     for(num=0;num<13;num++)
     {write_data(table2[num]);
     delay(5);
     }
     for(num=0;num<16;num++)
     {  write_com(0x18);
        delay(200);
     }
     delay(1000);
        for(num=0;num<16;num++)
     {write_com(0x1C);
        delay(200);
     }
        while(!key2);
     }}
     }
     while(1);
  }

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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