新闻动态
资质荣誉
联系我们
1602字符液晶仿真没显示
发布时间:2021-10-21 06:19:46 来源:大电流电感厂家 查看: 次
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit RS = P3^3;
sbit RW = P3^4;
sbit E = P3^5;
uchar name1[]={"010340608"} ;
uchar name2[]={"work in hangzhou"} ;
void delay(unsigned int t)
{ unsigned int i,j;
for(i=0;i
for(j=0;j<10;j++)
;
}
void busy(void)
{
P2=0xff;
RS=0;
RW=1;
E=1;
while((P2&0x80)==0x80);
E=0;
}
void writecom(unsigned char com)
{ RS=0;
RW=0;
E=0;
P2=com;
E=1;
_nop_();
E=0;
}
void lcdwc(unsigned char com)
{
busy();
writecom(com);
}
void lcdwd(unsigned char dat)
{
busy();
RS=1;
RW=0;
E=0;
P2=dat;
E=1;
// _nop_();
E=0;
}
void write_str(uchar addr,uchar *p)
{
uchar i;
writecom(addr);
while(p[i]!='\0')
{lcdwd(p[i]);
i++;
}
}
void lcdint()
{
delay(300);
writecom(0x38);
delay(200); writecom(0x38);
delay(200); writecom(0x38);
lcdwc(0x38); //8位数据 显示2行 5*7字符
lcdwc(0x08); //关显示 光标关 闪烁关
lcdwc(0x01); //清除
lcdwc(0x06); //光标右移 画面不动
lcdwc(0x0c); //开显示 光标关 闪烁关
}
/*****************************************
主函数
*******************************************/
main()
{
//E=0;
lcdint();
while(1)
{
write_str(0x80,name1);
}
}
哪位高手帮忙看下 这个1602字符液晶软件部分哪里 有问题 为什么RW信号一直是高电平 仿真没显示,电路图是对的用其他程序可以正常显示
sbit RS = P3^3;
sbit RW = P3^4;
sbit E = P3^5;
程序里是 3、4、5
仿真图是 3、1、0
都是网上抄来惹的祸!
你看看你引脚有输出吗?
晶振接错了吧
还有单片机的电源
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit RS = P3^3;
sbit RW = P3^4;
sbit E = P3^5;
uchar name1[]={"010340608"} ;
uchar name2[]={"work in hangzhou"} ;
void delay(unsigned int t)
{ unsigned int i,j;
for(i=0;i
;
}
void busy(void)
{
P2=0xff;
RS=0;
RW=1;
E=1;
while((P2&0x80)==0x80);
E=0;
}
void writecom(unsigned char com)
{ RS=0;
RW=0;
E=0;
P2=com;
E=1;
_nop_();
E=0;
}
void lcdwc(unsigned char com)
{
busy();
writecom(com);
}
void lcdwd(unsigned char dat)
{
busy();
RS=1;
RW=0;
E=0;
P2=dat;
E=1;
// _nop_();
E=0;
}
void write_str(uchar addr,uchar *p)
{
uchar i;
writecom(addr);
while(p[i]!='\0')
{lcdwd(p[i]);
i++;
}
}
void lcdint()
{
delay(300);
writecom(0x38);
delay(200); writecom(0x38);
delay(200); writecom(0x38);
lcdwc(0x38); //8位数据 显示2行 5*7字符
lcdwc(0x08); //关显示 光标关 闪烁关
lcdwc(0x01); //清除
lcdwc(0x06); //光标右移 画面不动
lcdwc(0x0c); //开显示 光标关 闪烁关
}
/*****************************************
主函数
*******************************************/
main()
{
//E=0;
lcdint();
while(1)
{
write_str(0x80,name1);
}
}
哪位高手帮忙看下 这个1602字符液晶软件部分哪里 有问题 为什么RW信号一直是高电平 仿真没显示,电路图是对的用其他程序可以正常显示
你的RW在原理图中明明是P3.1
怎么程序中就变成P3^4了
楼上正解,线接错了
gniquhs 发表于 2017-9-5 21:26
你的RW在原理图中明明是P3.1
怎么程序中就变成P3^4了
sbit RS = P3^3;
sbit RW = P3^4;
sbit E = P3^5;
程序里是 3、4、5
仿真图是 3、1、0
都是网上抄来惹的祸!
JQ_Lin 发表于 2017-9-6 14:33
sbit RS = P3^3;
sbit RW = P3^4;
sbit E = P3^5;
你看看你引脚有输出吗?
晶振接错了吧
还有单片机的电源
xinyue0528 发表于 2017-9-6 16:00
实际仿真时电路图是对的 我发的电路图发错了
gniquhs 发表于 2017-9-6 23:49
你看看你引脚有输出吗?
晶振接错了吧
还有单片机的电源
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
基于LXI总线的1553B通讯模块设计与开发摘要:针对基于LXI仪器总线的1553B通讯模块开发需求,提出了一种基于SOPC的1553B总线通讯解决方法。以SOPC技术为支撑,在一块FPGA上嵌入NiosⅡ软核处理器、以太网控制组件、1553B
DSP处理器电源方案设计 为复杂的DSP处理器设计良好的电源是非常重要的。良好的电源应有能力应付动态负载切换并可以控制在高速处理器设计中存在的噪声和串扰。DSP处理器中的不断变化的瞬态是由高开关频率和转进/转出低功耗模式造成
基于Windows CE的嵌入式红外热成像系统设计摘要:给出了基于S3C2410处理器的嵌入式红外热成像系统的设计方案。阐述了系统的硬件架构和基于Windows CE系统下的红外图像的采集、处理、显示软件的系统设计,介绍了Windows CE系统下开