text1.c

来自「采用AT89S52单片机与1602液晶的显示器程序的KEIL工程。」· C语言 代码 · 共 68 行

C
68
字号
#include<reg52.h>
#define uchar unsigned char
sbit rs=P3^5;
sbit rw=P3^6;
sbit e=P3^7;
delay(uchar time)
{while(time>0)
 {time--;}
}
void enrw()
{rs=0;
 rw=0;
 e=0;
 delay(250);
 e=1;
}

write_data(uchar c)
{P1=c;
 rs=1;
 rw=0;
 e=0;
 delay(250);
 e=1;
}

init_lcd(void)//初始化
{
P1=0x01;//清屏幕
enrw();
P1=0x38;//数据长度为8位,双行显示,5*7字符。
enrw();
P1=0x0c;//打开显示开关
enrw();
P1=0x06;//地址计数递增,显示屏不移动
enrw();
}

write_cmd(uchar m)//写命令,注意与写数据的区别
{ P1=m;
  enrw();
}

position(uchar row,uchar colum)//写位置
{uchar p;
  if(row==1)
    p=0x82+colum-1;
  else
    p=0xC0+colum-1;
    write_cmd(p);
}
display(uchar *s)//写字符串,简单的指针应用
{
for(;*s!='\0';s++)
  write_data(*s);
}
void main()
{unsigned int m,n;
 m=1;
 n=2;
 init_lcd();
 position(m,1);
 display(" welcome");
 position(n,1);
 display("congratulations");
 while(1){;}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?