

虽已深夜,但毫无困意,不为别的,只为成功调试成功一个bug,大家还记得我在
十三、LCD1602液晶屏驱动
中提到LCD1602显示不正常的现象,我当时真以为是我的LCD坏了,因为当时我知道,我写的程序是正确的,由于准备做温度和A/D转换的实验,就需要一个显示数据的地方,可是我认为我的LCD是坏的,不能正常显示,所以我就打算先做一个8段LED数码管显示的程序,以备显示数据用,可谁曾想,在做8段LED数码管显示实验时,其也不能正常显示,同样出现乱码,起初我以为是我的大块开发板坏了,后来我就一个个引脚用万用表进行测试,并没有发现什么异常,最后,我才把注意力放到了RL78/G13的开发板上,用万用表一测发现P1.4和P1.5的管脚是连在一起的,难怪总出现乱码呢,因为我总是用P1口作为数据的输出端口。接着我就去翻查资料,最终找到了问题的答案:
大家请看下图:
看到上图中的NF2处的锡桥了,答案在下图:
看到了吗,NF2默认情况下是连接着的,而其连接的正是P1.4和P1.6管脚,这也就是我用P1口作为数据接口总出现乱码的真正原因。
解决方法:
1:将NF2锡桥断开(用小刀轻轻一划即可),这样P1.4和P1.6管脚就不在连接了
2:改用P2口(也是8个口)作为数据端口
在这里我不建议采用第一种方法,因为,这个锡桥NF2在以后的低功耗模式---STOP模式下还要用到,这里我采用的是第2种方法。
重新对程序做了一些简单的修改,结果正如我所料,LCD液晶屏正常显示了,显示的内容为:
I LOVE EEPW ^_^
andery88
Hello everyone
0123456789ABCDEF
Thank you
very much
心里别提有多欢喜了,赶紧上几张图,快乐与大家一起分享:
I LOVE EEPW ^_^
andery88
Hello everyone
0123456789ABCDEF
Thank you
very much
最后,来个视频链接,里面可是动态显示滴哦!
http://v.youku.com/v_show/id_XNDQyOTM3MzEy.html

正如我在45楼所说,解决了LCD1602乱码问题之后,要做的实验就是AD模数转换实验,实验的工作过程大致如下:
首先,RL78/G13开发板上的10K可变电阻的可调头与P2.2口相连(即ANI2),通过ANI2口进入内部的AD转换器进行模数转换,转换后的结构放在变量ADCR中,然后用十三节LCD1602液晶屏驱动的方法将ADCR的结构显示在LCD1602的液晶显示屏上。
这其中有几个关键的地方,用图来详细说明:
首先是本实验用到的工具箱:

关键的AD转换器的设置:


下面上具体函数了,由于LCD1602显示部分的函数大家可以参考十三、LCD1602液晶屏驱动
所以在这里这部分程序就不再赘述,直接上与AD有关的程序:
先来张主函数的程序图:

再来张AD转换结束后的中断函数图:

下面开始上图了哦:
刚开始时接入P2.2口的电阻为0:

通过调节10K可变电阻,接入P2.2口的电阻越来越大,LCD1602上显示的数值也随之增加:




最后,达到了最大值10k,LCD1602也大致同步显示为:10.025K。

最后,上视频哦:
http://v.youku.com/v_show/id_XNDQzNDExMDE2.html


回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |