【树莓派Pico测评】 LCD1602的4位模式显示驱动
<div class='showpostmsg'> 本帖最后由 jinglixixi 于 2021-4-26 11:59 编辑<p>本打算在树莓派Pico开发板上实现OLED屏的显示驱动,但一直未果于是受相关帖子的启发将其改为LCD1602屏的显示驱动。</p>
<p>LCD1602屏有3种显示驱动方式,分别是8位并行显示方式、4位并行显示方式及配置I2C转换器的I2C驱动方式。</p>
<p>就这3种驱动方式而言,可谓是各具特色。</p>
<p>1. 8位并行方式,其优点是传输数据快,可一次性完成8位数据的传输,其不足之处就是占用的引脚资源过多。</p>
<p>2. 4位并行方式,其特点是分2次来完成8位数据的传输,每次传输4位数据,可部分节省占用的引脚资源。</p>
<p>3. I2C驱动方式,在转换模块的作用下,其传输数据只用2个I/O引脚。</p>
<p>为了便于使用,这里选取4位并行方式来进行显示驱动。另外,为了便于背光的调节,特用手头的I2C驱动模块来为LCD1602屏提供背光电源及VL的引脚处理。I2C驱动模块如图1所示,其电源由I2C接口来输入。</p>
<p></p>
<p>图1 I2C驱动模块<br />
</p>
<p></p>
<p>图2 单行显示效果<br />
</p>
<p></p>
<p>图3 双行显示效果<br />
</p>
<p>实现图2和图3显示效果的关键函数有:显示定位函数defLCD_set_xy()及字符显示函数defLCD_write_char()。</p>
<p>显示定位函数的内容为:</p>
<p>defLCD_set_xy(x , y):</p>
<p>address = 0</p>
<p>if y == 1 :</p>
<p>address = 0xc0+x</p>
<p>if y == 0 :</p>
<p>address = 0x80+x</p>
<p>send2LCD8(address) <br />
</p>
<p>字符显示函数的内容为:</p>
<p>defLCD_write_char(x , y, Recdata):</p>
<p>LCD_set_xy(x , y) #写地址 </p>
<p>rs.value(1)</p>
<p>send2LCD8(Recdata)</p>
<p>rs.value(0)<br />
</p>
<p>实现显示效果的主程序为:</p>
<p>setUpLCD() #初始化</p>
<p>bl.value(1)</p>
<p>p='Raspberry Pi Pico'</p>
<p>n=len(p) </p>
<p>fori in range(n) :</p>
<p>LCD_write_char(i , 0, ord(p))</p>
<p>p='ID: jinglixixi'</p>
<p>n=len(p) </p>
<p>fori in range(n) :</p>
<p>LCD_write_char(i , 1, ord(p))</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>不错,继续加油:)</p>
soso 发表于 2021-4-26 09:32
不错,继续加油:)
<p>好的,努力!</p>
页:
[1]