LCD1602显示的时候上行跑到下行显示(如图所示),下行跑到上行显示,程序实验目的是右移显示。我用的编译器是KEIL UV3,MCU是AT89S52
下面部分
void write_data(uchar Wdata)//写数据
{
busy();
LCDRS=1;LCDRW=0;_nop_();_nop_();_nop_();_nop_();
P0=Wdata;_nop_();_nop_();_nop_();_nop_();
LCDEN=1;_nop_();_nop_();_nop_();_nop_();LCDEN=0;
}
void init(void)
{
write_command(0x38,1); //写初始化,设置16x2显示,5x7点阵,8位数据接口
write_command(0x0c,1);//开显示根据指令码
write_command(0x06,1);//设置光标,不闪烁
write_command(0x01,1);//清屏
write_command(0x07,1);//整屏左移
}
void main(void)
{
uchar i;
init();
write_command(0x80+0x20,1); //第一行指针,忙检测
for(i=0;i<16;i++)
{
write_data(abc1[i]); //送数据
delay(20);
}
write_command(0x80+0x60,1); //第二行指针,忙检测
for(i=0;i<16;i++)
{
write_data(abc2[i]);
delay(20);
}
while(1);//动态停机
}
请问那我该怎么做呢?求指教
追答有一个指令不是读BF指令吗,最高位是BF位,剩下的7位就是当前AC哈。
追问但是现在是写指令和数据,我好像记得可以不用读出1602的数据和地址。BF是忙标志,AC是地址,但跟这个有什么关系吗?我是写完一行后再写指针第二行显示
51单片机 LCD1602只亮不显示东西
对于LCD1602不显示字符,一是先检查仿真电路对不对,再检查程序中定义的控制引脚与仿真图是否相符。因很多人都是从网上找的程序,与自己的仿真图并不相符,需要改程序的引脚定义,但没有改。二就是检查程序是不是写错了,虽然引脚定义对,但显示字符的程序不对。你没有发仿真图,所以,看程序是找不到...
lcd1602有时候单片机下程序能显示有时不能显示是什么原因?求助!谢谢...
1.硬件连接接触不良、虚焊。2.LCD初始化函数写的不好,偶尔上电后初始化失败,就不能显示。建议上电延时一段时间,待LCD稳定后在执行初始化函数。3.程序上要注意读写时序,加入适当的延时时间。4.调节LCD第三脚V0的电压,调节到一个合适的值才可以显示。先查硬件,确定没问题再在软件上找原因,只...
单片机中 LCD1602不能显示字符
有光标闪烁表明显示正常阿,你想想,光标要闪烁,显示器初始化没问题,传输的数据也就没问题,显示也就没有问题了。因为其闪烁是由命令控制的。现在你可以根据闪烁光标查下看是不是对比度或亮度问题。先从硬件上查,不行就量下两块板的接口电压,对比找 ...
LCD1602液晶显示出现乱码,求高手解惑!急!!!谢谢
void LCD1602_wdata(uchar del){ while(Busy());LCD1602_RS = 1;LCD1602_RW = 0;LCD1602_EN = 0;LCD1602_delay();P0 = del;LCD1602_delay();
单片机和LCD1602显示时间时,久了会出现乱码
很大的可能是1302的问题,比如1302的32K晶振停振(运行的时候不要用手触摸晶振引脚,出现乱码的时候用示波器观察下晶振的波形),1302读取错误等等,先试试不用1302,只用单片机让1602显示字符,看看有没有问题,然后再检查程序和1302
单片机LCD1602万年历仿真正确,但实际显示不正确,会发生混乱?
我程序是安装模块化写的,发上来有点乱,想要可以加下QQ370670734 我发你参考一下。这是主程序:\/ LCD1602电子钟 DS1302 \/ include "REG52.H"include "DS1302.H"include "LCD1602.H"sbit Key_out1 = P1^3;sbit Key_out2 = P1^4;sbit Key_out3 = P1^5;sbit Key_out4 = P1^6;...
单片机LCD1602错误显示
在每输入数据之前,你得先确定当前的Address Counter(AC)记录的是不是你所想的,也就是第一个字符的DDRAM是不是对的,之后每输入一个数据,AC是自加1的。建议你下载HD44780的资料仔细看一遍,它是LCD的驱动IC,比直接看1602的资料在原理上会更清楚一些。
单片机LCD1602显示错误
错误可能是你的软件或者是硬件引起的,也可能二者都有错误,把错误改正了就能正确显示。
LCD1602显示黑框是什么原因
初始化未成功,显示模式为芯片初始上电模式,显示模式为1行,所以只能显示一行的黑框。
用单片机做的万年历,lcd1602老师显示00:00:80,按键也调不了时间_百度知...
问题可能出在驱动程序或是硬件,比如说32.768KHz晶振,比如说虚焊等因素造成的