|
#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è)置,端口 不同的可以做改動(dòng) 要隨機(jī)應(yīng)變
sbit RW = P2^5;
sbit EN = P2^6;
uchar num;
void delay(uint x) //延時(shí)1ms 所有的延時(shí) 為了讓顯示跟穩(wěn)定 時(shí)間 不宜太長 太長 影響寫入的速率, 也不宜太短 太短 影響接受的穩(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);// 寫一個(gè)字符后地址指針加一
write_com(0x01);// 顯示清0 數(shù)據(jù)指針清0
}
void main()
{
init();
write_com(0x80); //數(shù)據(jù)指針定位到第一行第一個(gè)字
for(num=0;num<11;num++)
{
write_data(table[num]);
delay(10);
}
write_com(0x80+0x40);// 數(shù)據(jù)指針定位到第一行第二個(gè)字
for(num=0;num<11;num++)
{
write_data(table1[num]);
delay(10);
}
while(1);
}
|
評(píng)分
-
查看全部評(píng)分
|