×

在Arduino上使用16x2 LCD

消耗积分:0 | 格式:zip | 大小:0.60 MB | 2022-12-12

挽你何用

分享资料个

描述

为了在人类世界和机器世界之间建立良好的沟通,显示单元扮演着重要的角色。因此它们是嵌入式系统的重要组成部分。显示单元——无论大小,都遵循相同的基本原理。除了图形显示器和 3D 显示器等复杂显示单元外,您还必须知道使用 16x1 和 16x2 单元等简单显示器。16x1 显示单元将有 16 个字符并且排在一行中。16x2 LCD 总共有 32 个字符,第 1 行有 16 个字符,第 2 行有 16 个字符。这里必须了解每个字符有 5x10=50 个像素,因此要显示一个字符,所有 50 个像素必须一起工作。但我们不必担心,因为显示单元中还有另一个控制器 (HD44780) 负责控制像素。

 
poYBAGOSylyAOJfuAABXDIAEJXs928.jpg
 

与普通开发板不同,将 LCD 连接到 ARDUINO 非常容易。在这里我们不用担心数据的发送和接收。我们只需定义引脚号,它就可以在 LCD 上显示数据。与普通开发板不同,将 LCD 连接到 ARDUINO 非常容易。在这里我们不用担心数据的发送和接收。我们只需要定义引脚号,就可以在 LCD 上显示数据了。

电路图及说明

在 16x2 LCD 中,如果有背光,则总共有 16 个引脚,如果没有背光,则有 14 个引脚。可以为背光灯引脚供电或留下。现在在 14 个引脚中有 8 个数据引脚(7-14 或 D0-D7),2 个电源引脚(1&2 或 VSS&VDD 或 GND&+5v),第 3 个用于对比度控制的引脚(VEE 控制字符应显示的厚度) 和 3 个控制引脚 (RS&RW&E)。

 
poYBAGOSyl6AeEgdAAAeSr6SYBE804.jpg
 

在电路中,您可以观察到我只使用了两个控制引脚,这提供了灵活性。对比位和 READ/WRITE 不经常使用,因此可以将它们短接到地。这会将 LCD 置于最高对比度和读取模式。我们只需要控制 ENABLE 和 RS 引脚来相应地发送字符和数据。

在 16x2 LCD 中,如果有背光,则总共有 16 个引脚,如果没有背光,则有 14 个引脚。可以为背光灯引脚供电或留下。现在在 14 个引脚中有 8 个数据引脚(7-14 或 D0-D7),2 个电源引脚(1&2 或 VSS&VDD 或 GND&+5v),第 3 个用于对比度控制的引脚(VEE 控制字符应显示的厚度) 和 3 个控制引脚 (RS&RW&E)。

在电路中,您可以观察到我只使用了两个控制引脚,这提供了灵活性。对比位和 READ/WRITE 不经常使用,因此可以将它们短接到地。这会将 LCD 置于最高对比度和读取模式。我们只需要控制 ENABLE 和 RS 引脚以相应地发送字符和数据。在电路中,您可以观察到我只使用了两个控制引脚,这提供了灵活性。对比位和 READ/WRITE 不经常使用,因此可以将它们短接到地。这会将 LCD 置于最高对比度和读取模式。我们只需要控制 ENABLE 和 RS 引脚来相应地发送字符和数据。

下面给出了为 LCD 完成的连接:

  • PIN1VSS接地
  • PIN2VDDVCC+5v电源。
  • PIN3VEE接地(提供最适合初学者的最大对比度)。
  • ARDUINO UNO 的PIN4RS (寄存器选择)PIN12
  • PIN5RW (读/写)接地(LCD 置于读取模式便于用户进行通信)。
  • ARDUINO UNO 的PIN6E (启用)PIN10
  • ARDUINO UNO 的 PIN11D4PIN5
  • ARDUINO UNO 的 PIN12D5PIN4
  • ARDUINO UNO 的PIN13D6PIN3
  • ARDUINO UNO 的 PIN14D7PIN2
  • PIN15+5V221欧姆电阻串联
  • 最后一个PIN16接地

ARDUINO IDE 允许用户在 4 位模式下使用 LCD。这种类型的通信使用户能够减少 ARDUINO 上的引脚使用,与其他 ARDUINO 不同,ARDUINO 无需单独编程即可在 4 位模式下使用它,因为默认情况下 ARDUINO 设置为在 4 位模式下通信。在电路中您可以看到我们使用了 4 位通信(D4-D7)。

在职的

要将 LCD 连接到 ARDUINO UNO,我们需要了解一些事情。

 #include 
lcd.begin(16, 2);
LiquidCrystal lcd(
lcd.print("hello, world!");

我们只需要查看这四行即可在 ARDUINO 和 LCD 之间建立通信。

首先我们需要启用头文件('#include '),这个头文件中写有指令,使用户能够以 4 位模式将 LCD 连接到 UNO,而不会出现任何模糊。有了这个头文件,我们就不需要一点一点地向LCD发送数据,这一切都会被处理好,我们不必编写一个向LCD一点一点地发送数据或命令的程序。

其次,我们需要告诉电路板我们在这里使用的是哪种类型的 LCD。因为我们有这么多不同类型的 LCD(如 20x4、16x2、16x1 等)。在这里,我们将一个 16x2 LCD 连接到 UNO,因此我们得到“lcd.begin(16, 2);”。对于 16x1,我们得到“lcd.begin(16, 1);”。

在本说明中,我们将告诉电路板我们连接引脚的位置。连接的引脚需要依次表示为“RS、En、D4、D5、D6、D7”。这些引脚要正确表示。由于我们已将 RS 连接到 PIN0 等,如电路图中所示,我们将板的引脚号表示为“LiquidCrystal lcd(13, 12, 5, 4, 3, 2);”。需要在LCD上显示的数据应该写成“lcd.print("hello, world!");”。使用此命令,LCD 会显示“hello, world!”。

如您所见,我们无需担心任何其他事情,只需进行初始化,UNO 就可以显示数据了。我们不必在这里编写一个程序循环来逐个字节地发送数据。

试试这个,如果你觉得它有用,请尊重!

如果您在项目中遇到任何问题,请发表评论并告诉我!我通常会在 24 小时内回复。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'在Arduino上使用16x2 LCD',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);