《STM32单片机开发实例——基于Proteus虚拟仿真与HALLL库》第5篇 拓展篇.pptxVIP

《STM32单片机开发实例——基于Proteus虚拟仿真与HALLL库》第5篇 拓展篇.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;能力目标: 掌握LCD1602显示器的驱动方法,能编写简单的LCD1602驱动程序。 任务要求: 仿真电路如图所示,要求在屏幕第一行显示“Hello world!”。;5.1.1 液晶显示屏与LCD1602 为了能够显示更加丰富的信息,单片机电路设计中往往会使用到液晶显示屏。这里我们为大家介绍一种极具性价比的单色液晶显示屏——LCD1602,如图所示。这种液晶显示屏能够显示2行、16字符/行,共计32个5×7或者5×11的点阵字符,目前市面上大多数LCD1602显示屏都是采用了HD44780液晶显示芯片,当然无论采用了哪种液晶显示芯片,操作方式大同小异。;(1)LCD1602的引脚定义 LCD1602采用标准的16脚接口,详见表。;(2)LCD1602的存储器 LCD1602内置DDRAM(Display Data RAM,显示数据随机存储器)、CGRAM(Character Generator RAM,字符发生随机存储器)和CGROM(Character Generator ROM,字符发生只读存储器)。 其中DDRAM用于指定显示字符的位置,只需将需要显示的字符送至相应的DDRAM地址即可在屏幕上显示,详见下表。; CGRAM用于由用户自定义字模,而CGROM则已经内置了160个常用字模,包括ASCII码、日文假名和希腊字母。由于本书只涉及到ASCII码的显示,具体编写程序的时候无须了解CGRAM和CGROM的知识,因此本节不作过多的介绍。 (3)LCD1602的控制指令 LCD1602共有11条控制指令,如表所示。;序号;● 指令3:置输入模式指令,其中I/D位为光标移动方向,0表示左移,1表示右移,S位为所有字符是否左移或者右移,0表示否,1表示是; ● 指令4:显示开/管控制指令,其中D位控制所有字符是否显示,0表示关显示,1表示开显示,C位控制光标是否显示,0表示关显示,1表示开显示,B位控制光标是否闪烁,0表示不闪烁,1表示闪烁; ● 指令5:光标和字符移位指令,位S/C为光标和字符移位控制位,0表示仅光标移动,1表示光标和字符都移动,位R/L为移动方向控制位,0表示左移,1表示右移; ● 指令6:功能设置指令,位DL为总线模式控制位,0表示8位总线模式,1表示4位总线模式,N为显示行数控制位,0表示单行显示,1表示双行显示,F为字符点阵模式控制位,0表示5×7点阵字符,1表示5×11点阵字符; ● 指令7:CGRAM地址设??指令,设置6位的CGRAM地址以读写数据; ● 指令8:DDRAM地址设置指令,设置7位的DDRAM地址以读写数据;;● 指令9:读忙信号与地址计数器返回值指令,BF返回液晶屏当前状态,返回0时表示液晶屏正忙,返回1时表示液晶屏就绪可以进一步操作,D6~D0共计7位为读取的地址计数器的内容; ● 指令10:CGRAM/DDRAM写数据指令,用于向CGRAM写入用户自定义字模,或者用于向指定DDRAM地址写入显示字符从而在液晶屏相应位置进行显示; ● 指令11:CGRAM/DDRAM读数据指令,读取CGRAM或者DDRAM中的数据。;5.1.2 任务程序的编写 本次任务用到的GPIO引脚比较多,为避免混淆不妨给每个GPIO引脚添加用户标签(User Label)。; 考虑到代码的可移植性,这里将LCD1602相关的功能代码全部封装成函数并归入头文件“LCD1602.h”,然后在主文件“main.c”中进行调用。 (现场操作演示…) 技能训练: 修改程序,在液晶屏第二行以0.5秒周期循环递增显示0~99。;To be continued...;;能力目标: 在了解I2C总线通信规则的基础上,掌握读写E2PROM芯片AT24C02一个字节的使用方法,并能编写相应的STM32程序。 任务要求: 仿真电路如图所示,STM32单片机能将由串口收到的1个字节数据存入到AT24C02的首地址;按下按钮BTN1,单片机将存储在AT24C02首地址的1个字节数据通过串口发送。串口通信参数是波特率19200bps、无校验。;5.3.1 I2C总线简介 (1)概述 I2C(Inter-Integrated Circuit)总线是目前主流的芯片间总线接口技术之一。 I2C总线属于多主总线,每一个节点都可以设定唯一的地址,I2C总线连接示意图如图所示。向总线发送数据的设备作为发送器,而从总线接收数据的设备则作为接收器,通过冲突检测和仲裁可以防止总线上数据传输发生错误。目前I2C总线具有三种传输速率,①标准模式(1980年提出)为100kbps、②快速模式(1992年提出)为400kb

文档评论(0)

扬州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档