怎么才能把单片机里的数据在LCD上显示
1个回答
展开全部
常用的LCD有1602,可以查找其硬件电路,其程序也很容易找到,这是其常用的子程序:
sbit rw=P1^4;//定义管脚,3个控制引脚 1个8位数据口
sbit rs=P1^3;
sbit lcden=P1^5;
#define db P2
void write_com(uchar com)//液晶屏写命令,控制液晶屏开关或字符位置的数据是命令
{
db=com;
rs=0;
rw = 0;
lcden=0;
Delay1ms(12);
lcden=1;
Delay1ms(12);
lcden=0;
}
void write_date(uchar date)//液晶屏写数据,将要显示的字符是数据
{
db=date;
rs=1;
rw = 0;
lcden=0;
Delay1ms(12);
lcden=1;
Delay1ms(12);
lcden=0;
}
void init2()//液晶屏初始化
{
rw=0;
write_com(0x38);
Delay1ms(12);
write_com(0x0f);
Delay1ms(12);
write_com(0x06);
Delay1ms(12);
write_com(0x01);
Delay1ms(12);
}
void display_1602(uchar temp)//显示一个字符型变量的子程序
{
uchar A1,A2,A3;
A1=temp/1000;//分离出 个 十 百
A2=temp/100%10;
A3=temp%10;
write_com(0x80);//第1行,第1字
write_date(A1+0x30);送的是ASCI码,因此如果显示2,就 要送0x32
Delay1ms(1);
write_date( A2+0x30);
Delay1ms(1);
write_date(A3+0x30);
Delay1ms(12);
}
如果想显示字符"A" 就 write_date(‘A’);
sbit rw=P1^4;//定义管脚,3个控制引脚 1个8位数据口
sbit rs=P1^3;
sbit lcden=P1^5;
#define db P2
void write_com(uchar com)//液晶屏写命令,控制液晶屏开关或字符位置的数据是命令
{
db=com;
rs=0;
rw = 0;
lcden=0;
Delay1ms(12);
lcden=1;
Delay1ms(12);
lcden=0;
}
void write_date(uchar date)//液晶屏写数据,将要显示的字符是数据
{
db=date;
rs=1;
rw = 0;
lcden=0;
Delay1ms(12);
lcden=1;
Delay1ms(12);
lcden=0;
}
void init2()//液晶屏初始化
{
rw=0;
write_com(0x38);
Delay1ms(12);
write_com(0x0f);
Delay1ms(12);
write_com(0x06);
Delay1ms(12);
write_com(0x01);
Delay1ms(12);
}
void display_1602(uchar temp)//显示一个字符型变量的子程序
{
uchar A1,A2,A3;
A1=temp/1000;//分离出 个 十 百
A2=temp/100%10;
A3=temp%10;
write_com(0x80);//第1行,第1字
write_date(A1+0x30);送的是ASCI码,因此如果显示2,就 要送0x32
Delay1ms(1);
write_date( A2+0x30);
Delay1ms(1);
write_date(A3+0x30);
Delay1ms(12);
}
如果想显示字符"A" 就 write_date(‘A’);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询