实验室培训总结1这个寒假有幸参与到了学校的实验室培训,真的是受益良多,也学习到了芯片的使用。先讲以下首先学习到了1602的液晶屏的使用,驱动一个模块无非就是通过根据所给的时序图进行一系列的编写,下面是1602的时序图的历程![在这里插入图片描述](https://img-blog.csdnimg.cn/20200814200352987.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4NzMzMDQw,size_16,color_FFFFFF,t_70#pic_center)

驱动一个芯片最重要的是学会看时许图,首先是1602有三个主要的IO口引脚,通过驱动这个三个IO口的高低电平和高低电平的时间,一般来说,驱动一个芯片分为三个步骤, 一是对芯片的初始化设置,二是对芯片进行写命令操作,三是对芯片所反馈的数值进行显示。
驱动这个1602的基本代码是对芯片进行写入三条语句
LCD1602Init()
{
write_com(0x38); //设置16 * 2显示 ,5 * 7 点阵,八位数据口
write_com(0x0e); //设置开启显示,不显示光标
write_com(0x06); 写入一个字符后地址指针加一
write_com(0x01); //进行清屏操作,将上一次残留
的显示删除掉
}

上面四条指令就是1602的初始化代码,对于芯片的驱动要严格遵守时序图进行读写,否则会出现显示乱码和无法显示的诸多问题,由于仅仅只是因为高低电平的延时不足导致的显示问题,进行错误排查是极为困难,所以每一次驱动芯片要严格遵守时序图所给的信号周期进行高低电平的切换。
按照上面那个时序图进行写命令的代码如下
void write_com(uint com)
{
E = 0;
RS = 0;
RW = 0;
P0 = com;
E = 1;
nop();
E = 0;

}
上面这一小段就是就是按照所给的时序图进行写命令的函数,由于硬件问题,所给的写命令所需要的延时有所差异,因为切不可以死记住如何写命令的代码,我们应该根据芯片的使用手册进行对代码的写入。
以下函数是对1602进行写函数
void Write_data(uchar dat)
{
check_busy(); //检查忙信号
E = 0;
RS= 1;
RW = 0;
P0 = dat;
E = 1;
nop();
E = 0;
}

从上面两端代码我们可以看出其实写命令和写数据仅仅是有一行不同而已,就是写命令的时候,RS = 0;
写数据的时候是 RS = 1;
我们应该掌握一些代码的相同点和不同点,进行深度的思考学习,同时在Keil软件中要特别注意变量的定义
我曾经定义一个变量 为 uchar data ; 结果老是进行报错
,原因是因为data是一个关键字,但是在keil软件中这个关键字又没有变成蓝色,导致编译不能通过。因为要特别注意关键字的定义,我们定义变量名尽量选择
有意义的变量名字,比如说com ,data 之类的。
其实驱动1602和12864的代码相差不大,12864就是多一个并行模式和串行模式的选择,12864和1602最大的区别是12864可以显示中文汉字,驱动的代码驱动都差不多的。
但是经过多次使用12864和1602液晶显示屏,12864显示比较多那些硬件问题,比如说你要显示中文,按照位置的偶数位置进行写入,因为一个汉字占两个字节,如果你在第二个字节进行汉字的写入的话会出现乱码,可能是芯片的内部是按照相邻的两个字节进行读取的。
以上就是分析小结,LCD1602液晶模块的作用就是显示作用,既然是显示,无非就是显示什么内容,在哪个位置进行显示,那么如何知道哪一个位置呢?无非就是多看一下使用手册

我们通过单片机控制LCD1602液晶模块的时候,也就是两个不同的对象进行沟通,一定要打招呼嘛,打招呼无非就是初始化设置,如何初始化呢?直接看使用手册就行了。
以上仅仅是LCD1602简单的使用,具体更多的功能实现还是需要看使用手册的。如果能够仅仅看使用手册就可以编写出代码,那是真正掌握了器件的使用了。

LCD1602和12864简单的介绍相关推荐

  1. LCD1602和12864显示器-第1季第17部分-朱有鹏-专题视频课程

    LCD1602和12864显示器-第1季第17部分-3539人已学习 课程介绍         本课程是<朱有鹏老师单片机完全学习系列课程>第1季第17个课程,主要讲解LCD1602和LC ...

  2. matlab整型和浮点的区别,技术帖 | 心理学MATLAB初学者教程--简单数据类型介绍(逻辑型数据,整型/浮点型数据,字符型)......

    1.2.1 什么是变量和变量名 变量这个词似乎在许多地方都有出现,在计算机中变量是指是一段有名字的连续存储空间(摘自百度百科),而这个所谓的名字就叫做变量名.举个例子说现在我们再MATLAB的命令窗口 ...

  3. 拨测工具_您可以拨多少钱? 快速简单地介绍有用的工具。

    拨测工具 by Miguel Bustamante 通过Miguel Bustamante 您可以卷曲多少? 快速简单地介绍有用的工具. (How much can you cURL? A quick ...

  4. tcpdump的简单选项介绍

    tcpdump采用命令行方式,它的命令格式为: tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ] [ -C file_size ] [ -F file ] ...

  5. eve模拟器华为镜像_EVE-NG简单入门介绍

    此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 一.导入镜像 D ...

  6. linux学习-简单命令介绍及安装VMware Tools

    常用简单命令介绍 ethernet以太网 pts:模拟终端 图形界面: Ctrl+Alt+F1 字符界面:Ctrl+Alt+F2-F6 切换虚拟终端:(本机操作) # chvt 1-6 关闭图形界面, ...

  7. CSS实验案例02简单专业介绍网页

    文章目录 CSS实验案例02简单专业介绍网页 2.1CSS 2.2HTML CSS实验案例02简单专业介绍网页 2.1CSS body {/* 主体*/font-size: 24px;text-ali ...

  8. linux下录音识别成文字软件,如何将录音转换成文字?录音转文字简单方法介绍...

    如何将录音转换成文字?录音转文字简单的方法是什么?很多小伙伴对录音转文字,文字阿欢语音方便的需求还是蛮大的,因为它对我们的帮助还是蛮大的,可以快速把录制好的录音转换成文字,并且还有实时翻译功能,下面给 ...

  9. PDF是如何在线分割的?简单方法介绍

    PDF在线分割的简单方法介绍,我们是怎么在线分割的呢?在PDF文件中我们可以进行文件的分割,下面小编就简单给打击介绍一下将PDF文件在线分割的方法. PDF文件在线分割的简单方法是直接在线分割,可以进 ...

最新文章

  1. 使用思科路由器防御DDOS
  2. tuxedo文件ubbconfig配置说明
  3. 自定义消息编码绑定实现
  4. Microbit-高温报警系统
  5. 微信公众号Java开发-笔记02【开发接入准备、开发接入】
  6. maven工程导入项目打开404_Maven依赖配置和依赖范围
  7. 【渝粤教育】国家开放大学2018年春季 0234-21T公务员制度讲座 参考试题
  8. BIEE 目录迁移(文件夹)方式
  9. CSS 兼容浏览器的方法 CSS Hack
  10. POJ NOI0101-08 字符三角形
  11. 问题及解决 —— 浏览器问题
  12. paip.discuz x2.5 用户及积分账户的接口attilax总结
  13. 仿写淘宝页面css+html+js
  14. windows性能监视器基本指标
  15. RT-Thread (3) 为RTT增加SP485驱动||RTT UART设备
  16. 常用的浏览器及其内核
  17. 保罗·奥兰德:预测金融市场走势
  18. 渲染02-内置Uniform
  19. 搜索引擎网站:网络和安全规划一个都不能少
  20. Docker镜像的优化

热门文章

  1. 再读德鲁克#1-信息挑战
  2. Android手机如何修改DPI触发平板模式
  3. Detecting Holes in Point Set Surfaces 笔记
  4. python 远程操作Sqlite3
  5. 服务器灾备解决方案--两地三中心(图文详解)
  6. 16岁男孩发布病毒“小兔子” 与熊猫烧香类似
  7. ios开发者添加开发测试机
  8. 干支纪年法简便算法_传感智库丨流速面积法测量明渠断面流量
  9. 应急响应入侵排查之第三篇常见的 Webshell 在线查杀工具
  10. vue-购物车小球抛物线