找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1770|回复: 28
收起左侧

单片机+LCD1602显示重码,请大神们帮忙分析程序

  [复制链接]
回帖奖励 50 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次(中奖概率 90%)
ID:336670 发表于 2022-9-5 11:45 | 显示全部楼层 |阅读模式
某一个宝买的1602显示屏,没有PDF,好不容易找个程序给显示了,但是却没有按程序显示,求大神们帮忙看看呢
/*********************************************************************************
* 【外部晶振】: 11.0592mhz        
* 【主控芯片】: STC12C5612AD
* 【程序功能】: 1602基本显示                                                                                          
* 【疑难杂症】: 现在能显示,但是如照片一样,程序里写的是ABCDEFGHIJKLMN,但是显示的时候
每隔以一位还是显示上一个数据,还是时序没对吗?
**********************************************************************************/

//#include<reg52.h>
#include<612AD.H>

#define uchar unsigned char
#define uint unsigned int

sbit rs=P3^5;
sbit rw=P3^4;        
sbit en=P3^3;
uchar table1[]={"ABCDEFGHIJKLMN"}; //实物上显示aBBDDFFHHJJLLN,请问第一个字符怎么会是小写呢,还有按程序来第三个字符应该是C的啊,实物显示却是B,请大神们帮忙研究研究呢,还有好多字母都显示不全呢,我想显示Q却显示P,想显示O却显示D
uchar table2[]="0123456789ABCDEFG";//实物上显示0022446688aBBD,
void delay(uint x)
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=10;b>0;b--);
}



void write_com(uchar com)
{
        P1=com;
        rs=0;
        en=0;
        delay(20);
        en=1;
        delay(20);
        en=0;
        
}

void write_date(uchar date)
{
        P1=date;
        rs=1;
        en=0;
        delay(20);
        en=1;
        delay(20);
        en=0;
        
}

void init()
{
        rw=0;
        write_com(0x38);   //显示模式设置:16×2显示,5×7点阵,8位数据接口
        delay(25);
        write_com(0x0f);   //显示模式设置
        delay(25);
        write_com(0x06);   //显示模式设置:光标右移,字符不移
        delay(25);
        write_com(0x01);   //清屏幕指令,将以前的显示内容清除
        delay(25);        
}

void main()
{
        uchar a;
        init();

{
        write_com(0x80);         //将第一个字符写在向右偏移17个字符处,为后面的由右向左划入做准备。
        delay(25);
        for(a=0;a<14;a++)
        {
        write_date(table1[a]);
        delay(50);               
        }

        write_com(0xc0);
        delay(50);
        for(a=0;a<14;a++)
        {
        write_date(table2[a]);
        delay(50);               
        }
}
        while(1);
}

没有按照程序里面的字符顺序显示

没有按照程序里面的字符顺序显示



回复

使用道具 举报

ID:748788 发表于 2022-9-5 13:00 | 显示全部楼层
确定你买的是1602?
回复

使用道具 举报

ID:94031 发表于 2022-9-5 14:20 | 显示全部楼层
焊接问题,虚焊,连脚。
回复

使用道具 举报

ID:94031 发表于 2022-9-5 14:21 | 显示全部楼层
杜邦线连接不良。
回复

使用道具 举报

ID:16255 发表于 2022-9-5 15:05 | 显示全部楼层
略略看了一下代码,似乎没什么异常。
楼上的说杜邦线连接不良,也不排除这个原因。应该是D0脚数据没有正常传输。
回复

使用道具 举报

ID:155507 发表于 2022-9-5 16:44 | 显示全部楼层
检查接脚,D0 和 D1 短路了。

  1. ABCDEFGHIJKLMN
  2. @BBDDFFHHJJLLN


  3. 40 41 A
  4. 42 42 B
  5. 42 43 C
  6. 44 44 D
  7. 44 45 E
  8. 46 46
  9. 46 47
  10. 48 48
  11. 48 49
  12. 4A 4A
  13. 4A 4B
  14. 4C 4C
  15. 4C 4D
  16. 4E 4E
复制代码
回复

使用道具 举报

ID:213173 发表于 2022-9-5 16:48 | 显示全部楼层
根据错码规律,可以肯定是P1到1602的8根连接线中的P1.0有问题。

无标题.jpg

回复

使用道具 举报

ID:765334 发表于 2022-9-5 17:01 来自手机 | 显示全部楼层
把0xc0改成0x80+0x40试下。
回复

使用道具 举报

ID:336670 发表于 2022-9-5 18:45 | 显示全部楼层
xuyaqi 发表于 2022-9-5 14:20
焊接问题,虚焊,连脚。

我是用烙铁焊接的,型号是HM1602H,
回复

使用道具 举报

ID:336670 发表于 2022-9-5 18:46 | 显示全部楼层
xuyaqi 发表于 2022-9-5 14:21
杜邦线连接不良。

我是用烙铁焊接的,型号是HM1602H,
回复

使用道具 举报

ID:213173 发表于 2022-9-5 21:12 | 显示全部楼层
老二不怕黑 发表于 2022-9-5 18:46
我是用烙铁焊接的,型号是HM1602H,

无标题.jpg 无标题1.jpg
回复

使用道具 举报

ID:336670 发表于 2022-9-6 11:03 | 显示全部楼层
370008208 发表于 2022-9-5 17:01
把0xc0改成0x80+0x40试下。

谢谢了,刚刚试了下不对的,没效果
回复

使用道具 举报

ID:336670 发表于 2022-9-6 11:49 | 显示全部楼层
angmall 发表于 2022-9-5 16:44
检查接脚,D0 和 D1 短路了。

更换了液晶和mcu,还是一样的效果,,谢谢了
回复

使用道具 举报

ID:336670 发表于 2022-9-6 11:50 | 显示全部楼层
wulin 发表于 2022-9-5 16:48
根据错码规律,可以肯定是P1到1602的8根连接线中的P1.0有问题。

测量硬件连接没得问题,更换了液晶和单片机都是一样的结果,如果把错的那个字符换成另一个字符又是对的
回复

使用道具 举报

ID:161164 发表于 2022-9-7 09:47 | 显示全部楼层
00_Normal.png
01_RS.png
02_RW.png
03_EN.png
04_D0.png
05_D1.png
06_D2.png
07_D3.png
08_D4.png
09_D5.png
10_D6.png
11_D7.png
12_D0D1.png
13_D0D5.png
14_D0D6.png
15_D0D7.png
16_D1D5.png
17_D1D6.png
18_D1D7.png
19_D5D6.png
20_D5D7.png
21_D6D7.png
回复

使用道具 举报

ID:34149 发表于 2022-9-7 10:17 | 显示全部楼层
楼主可不可以把整个板子都看一下。我也想学学
回复

使用道具 举报

ID:336670 发表于 2022-9-7 12:55 | 显示全部楼层

我懂起这个意思了,试了一下还是不对的,因为我那有输入Q显示却是P,感觉像是字库不对一样,请帮忙分析下会不会有那个可能呢,
回复

使用道具 举报

ID:161164 发表于 2022-9-7 13:31 | 显示全部楼层
老二不怕黑 发表于 2022-9-7 12:55
我懂起这个意思了,试了一下还是不对的,因为我那有输入Q显示却是P,感觉像是字库不对一样,请帮忙分析下 ...

输入Q显示P不就是D0开路了
你用什么开发板?
回复

使用道具 举报

ID:213173 发表于 2022-9-7 13:41 | 显示全部楼层
老二不怕黑 发表于 2022-9-7 12:55
我懂起这个意思了,试了一下还是不对的,因为我那有输入Q显示却是P,感觉像是字库不对一样,请帮忙分析下 ...

楼主不要固执己见,胡乱怀疑,其实就是简单的人为操作不当的故障。无外乎是虚焊、漏焊、断线、搭地、接触不良。Q的ASCII码是0x51,P的ASCII码是0x50。只要用万用表测一下P1.0到1602的D0的电压就能查出故障所在。
回复

使用道具 举报

ID:336670 发表于 2022-9-7 15:32 | 显示全部楼层
wulin 发表于 2022-9-7 13:41
楼主不要固执己见,胡乱怀疑,其实就是简单的人为操作不当的故障。无外乎是虚焊、漏焊、断线、搭地、接触 ...

没有胡乱怀疑,单片机那边是焊接的,然后LCD那边是插接的,自己做的座子,很牢的,扯都扯不掉的,然后万用表打都是通的,
回复

使用道具 举报

ID:336670 发表于 2022-9-7 15:35 | 显示全部楼层
dyx811 发表于 2022-9-7 10:17
楼主可不可以把整个板子都看一下。我也想学学

之前自己画的PCB,还是有很多不到位的地方
51hei图片_20220907153155.jpg
51hei图片_20220907153200.jpg
回复

使用道具 举报

ID:336670 发表于 2022-9-7 15:36 | 显示全部楼层

谢谢朋友认真帮忙仿真,但是我实测了各个线路都是通的呢
回复

使用道具 举报

ID:624769 发表于 2022-9-7 16:16 来自手机 | 显示全部楼层
老二不怕黑 发表于 2022-9-7 15:36
谢谢朋友认真帮忙仿真,但是我实测了各个线路都是通的呢

万用表你测通不通得多长时间?实际数据传输多长时间?对于数据线来讲,万用表测出的“通”都是有待考证的,只有“不通”才是可信的。看了你的焊点,我觉得d0不通的可能性太大了。我以前焊功滥的时候,也有过这情况也是不信邪,最后呢,试了所有的方法后,最后只能怀疑自己的焊接技术,抛弃所有的线,直接用电阻,LED,剪下来的引脚,焊好后,正常了,认识到自己的问题了,再耐心用24的线一个个替换,当然事后是努力提高自己焊接熟练度,避免这种情况发生,纯粹讲一下自身经历,是否有参考价值,楼主自行判断。
回复

使用道具 举报

ID:336670 发表于 2022-9-7 16:29 | 显示全部楼层
188610329 发表于 2022-9-7 16:16
万用表你测通不通得多长时间?实际数据传输多长时间?对于数据线来讲,万用表测出的“通”都是有待考证的, ...

好的,谢谢指教,我等下再把排针取了焊孔里面看
回复

使用道具 举报

ID:213173 发表于 2022-9-7 16:41 | 显示全部楼层
老二不怕黑 发表于 2022-9-7 15:36
谢谢朋友认真帮忙仿真,但是我实测了各个线路都是通的呢

看了你的PCB及焊接技术,还有极大提升空间。不是各个线路都是通的就不会有问题,还要确保每个焊接点都不会与其他不同网络窜连。你用表测一下P1.0网络对地阻值是多少,怀疑对地或相邻电路短路。如不是人为错误造成也有可能是PCB加工有瑕疵。这在实践中会遇到。
回复

使用道具 举报

ID:336670 发表于 2022-9-7 19:01 | 显示全部楼层
wulin 发表于 2022-9-7 16:41
看了你的PCB及焊接技术,还有极大提升空间。不是各个线路都是通的就不会有问题,还要确保每个焊接点都不 ...

          对头了,找到原因了,是之前这个PCB版做其他测试时P1.0端口在别的地方加了一个下拉电阻,然后现在去掉就OK了,谢谢师傅悉心解答!

同时谢谢楼上各位师傅的细心帮忙!非常感谢,
回复

使用道具 举报

ID:336670 发表于 2022-9-7 19:09 | 显示全部楼层
谢谢各位师傅的帮助,成功显示了,后续有更新再上图了!! 51hei图片_20220907190836.jpg

回复

使用道具 举报

ID:799053 发表于 2022-9-9 12:10 | 显示全部楼层
这基本上可以判断硬件出了问题,仔细检查一下线路。
回复

使用道具 举报

ID:336670 发表于 2022-9-12 12:10 | 显示全部楼层

PCB

PCB
ADC_I_SENSCE.zip (1.83 MB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表