標(biāo)題: 1602顯示詳解 [打印本頁]

作者: 向日葵的依賴    時間: 2017-7-18 14:52
標(biāo)題: 1602顯示詳解
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";// 要顯示的字符
uchar code table1[]="wo de ni!!!";
sbit RS = P2^4;   //  液晶基本設(shè)置,端口 不同的可以做改動  要隨機(jī)應(yīng)變
sbit RW = P2^5;
sbit EN = P2^6;
uchar num;
void delay(uint x) //延時1ms  所有的延時 為了讓顯示跟穩(wěn)定   時間 不宜太長 太長 影響寫入的速率, 也不宜太短 太短 影響接受的穩(wěn)定性
  {
   uint i,j;
   for(i=x;i>=0;i--)
      for(j=100;j>=0;j--);
   }
void write_com(uchar com)//寫入命令字操作
  {
    RS=0;
    RW=0;
    P0=com;
    delay(5);
    EN=1;
    delay(5);
    EN=0;
  }

void write_data(uchar date)//寫入數(shù)據(jù)字操作
   {
    RS=1;
    RW=0;
    P0=date;
    delay(5);
    EN=1;
    delay(5);
    EN=0;
   }

void init()//1602顯示屏初始化
{
  write_com(0x38);//  1602  調(diào)至為顯示模式
  write_com(0x0c);//設(shè)置開顯示  且 不顯示光標(biāo)
  write_com(0x06);// 寫一個字符后地址指針加一
  write_com(0x01);// 顯示清0  數(shù)據(jù)指針清0
}

void main()
{
init();
write_com(0x80);   //數(shù)據(jù)指針定位到第一行第一個字
for(num=0;num<11;num++)
   {
    write_data(table[num]);
    delay(10);
    }

write_com(0x80+0x40);//  數(shù)據(jù)指針定位到第一行第二個字
  for(num=0;num<11;num++)
    {  
      write_data(table1[num]);
      delay(10);
    }
   while(1);
}



作者: 向日葵的依賴    時間: 2017-7-18 14:53
萌新 一點(diǎn)小小的 理解希望大家 多多指教     




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1