文章来源:https://www.toymoban.com/news/detail-628552.html
#include "reg51.h"
#define uchar unsigned char
sbit RS=P3^2;
sbit RW=P3^1;
sbit E=P3^0;
uchar sj=0;
int read_state();
int write_cmd(uchar);
void lcd_init();
int input_char(uchar abc);
int input_string();
int read_state()
{
uchar zgw=0;
RW=1;
sleep(3);
RS=0;
sleep(3);
E=1;
sleep(3);
sj=P2;
sleep(3);
//获取最高位
E=0;
sleep(3);
RW=0;
sleep(3);
sj=sj&0x80;
zgw=sj>>7;
return zgw;
}
int write_cmd(uchar command)
{
do{;}while(read_state()==1);//如果控制器忙就出不来,只有控制器不瞒才能出来
RW=0;sleep(3);RS=0;sleep(3);
E=1;sleep(3);
P2=command;sleep(3);
E=0;sleep(3);
RW=1;
sleep(3*250);
return 0;
}
void lcd_init()
{
write_cmd(0x3c);
write_cmd(0x0e);
write_cmd(0x01);
write_cmd(0x06);
write_cmd(0x80);
}
int input_char(uchar abc)
{
while(read_state()==1);
RS=1;sleep(3);RW=0;sleep(3);
E=1;sleep(3);
P2=abc;sleep(3);
E=0;sleep(3);
RW=1;
sleep(3*255);
return 0;
}
int input_string()
{
int i=0;
uchar str[]="hello tom";
while(read_state()==1);
for(i=0;str[i]!='\0';i++)
{
input_char(str[i]);
sleep(3*200);
}
return 0;
}
int main()
{
lcd_init();
sleep(3*250);
write_cmd(0x83);
sleep(3*250);
input_string();
while(1);
return 0;
}
void sleep(long int a)
{
long int i=0;
for(i=0;i<a;i++)
{
;
}
}
附:字符型LCD显示屏型号:LM016L;这个代码应该是可以直接运行的文章来源地址https://www.toymoban.com/news/detail-628552.html
到了这里,关于单片机 用LCD显示屏 输出字符串源代码(附Proteus图)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!