1月12日 LCD1602
初始化
图
图1
图2
图3
void init() //³õʼ»¯
{
dula = 0;
wela = 0; //¹Ø±ÕÊýÂë¹Ü
lcden = 0; //ʹÄܶËÖÃ0
write_mingling(0x38); //ÏÔʾģʽÉèÖà ÉèÖÃ16¡Á2ÏÔʾ ¿´Í¼2
write_mingling(0x0f); //ÉèÖÿªÏÔʾ ÏÔʾ¹â±ê ¹â±êÉÁ˸
write_mingling(0x06); //дһ¸ö×Ö·ûºóµØÖ·Ö¸Õë+1 ²»×óÒÆ
write_mingling(0x80); //ÉèÖÃÊý¾ÝµØÖ·Ö¸Õë 80+
write_mingling(0x01); //ÇåÆÁ
}
注释乱码了,暂时不知道如何解决
写一个1B的简答例程
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula = P2^6;
sbit wela = P2^7;
sbit lcden = P3^4;
sbit rs = P3^5;
void delay(uint x)
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void write_mingling(uchar com) //Ñ¡ÔñÃüÁîģʽ RS = 0
{
rs = 0; //Ñ¡ÔñÃüÁîģʽ ¸øRSµÍµçƽ
P0 = com; //½«ÒªÐ´µÄÃüÁî·¢Ë͵½×ÜÏßÉÏ
delay(5); //ÑÓʱ ¿´²Ù×÷ʱÐòͼ
lcden = 1; //ʹÄܶ˸ßÂö³å E = 1
delay(5);
lcden = 0; //ʹÄܶËÖÃ0
}
void write_shuju(uchar date) //Ñ¡ÔñÊý¾Ýģʽ RS = 1
{
rs = 1; //Ñ¡ÔñÃüÁîģʽ ¸øRS¸ßµçƽ
P0 = date; //½«ÒªÐ´µÄÃüÁî·¢Ë͵½×ÜÏßÉÏ
delay(5); //ÑÓʱ ¿´²Ù×÷ʱÐòͼ1
lcden = 1; //ʹÄܶ˸ßÂö³å E = 1
delay(5);
lcden = 0; //ʹÄܶËÖÃ0
}
void init() //³õʼ»¯
{
dula = 0;
wela = 0; //¹Ø±ÕÊýÂë¹Ü
lcden = 0; //ʹÄܶËÖÃ0
write_mingling(0x38); //ÏÔʾģʽÉèÖà ÉèÖÃ16¡Á2ÏÔʾ ¿´Í¼2
write_mingling(0x0f); //ÉèÖÿªÏÔʾ ÏÔʾ¹â±ê ¹â±êÉÁ˸
write_mingling(0x06); //дһ¸ö×Ö·ûºóµØÖ·Ö¸Õë+1 ²»×óÒÆ
write_mingling(0x80); //ÉèÖÃÊý¾ÝµØÖ·Ö¸Õë 80+
write_mingling(0x01); //ÇåÆÁ
}
void main()
{
init();
write_shuju('1'); //ASCLLÂëΪ '1' »ò0x31
delay(10);
write_shuju('B');
while(1);
}