江协科技51单片机学习- p14 调试LCD1602显示屏

 前言:

本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。

引用:

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

c51语言变量语句意思,C51中循环语句-CSDN博客

LCD1602链接:

【常用传感器】LCD1602液晶工作原理详解及例程代码_lcd1602工作原理-CSDN博客

正文:

0. 概述

在淘宝上购买了江协科技51单片机开发板套件(普中科技STC51单片机A2型号),就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。

1. LCD1602显示屏调试显示

本节只使用江科大已经写好的LCD1602显示屏显示模块用来在STC51单片机开发板通过LCD1602液晶显示屏显示字符串和数字,不详细介绍LCD1602驱动显示的原理,会在后续可能里介绍STC51单片机如何驱动LCD1602显示屏。

这里我们只要会用别人已经写好的LCD模块,通过单片机在LCD1602显示屏上显示数据就可以了。

1.1 LCD1602简介

LCD1602 显示屏简介,引用自如下链接

【常用传感器】LCD1602液晶工作原理详解及例程代码_lcd1602工作原理-CSDN博客

LCD1602液晶显示屏

LCD ( Liquid Crystal Display 的简称)液晶显示器。能够同时显示16x2,32个字符,是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。该显示屏的优点是耗电量低、体积小、辐射低。

LCD1602主要用来显示数字、字母、图形以及少量自定义字符。可以显示2行16个字符,拥有16个引脚,其中8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节V0和背光源AK。

注:
我们所用的LCD屏的命名,基本都是按照其分辨率来进行命名的 比如lcd1602 就是分辨率为16×2 lcd12864 就是分辨率为128×64

1.2 LCD1602主要参数

  • 显示字符:16×2个字符
  • 工作电压:4.5~5V
  • 工作电流:2.0mA
  • 工作温度:-20°C~70°C
  • 模块最佳工作电压:5.0V
  • 单个字符尺寸2.95×4.35(W×Hmm)
  • 引脚:16脚

1.3  LCD1602引脚接线:

各引脚的功能介绍如下

 

2. 江协科技提供LCD1602 显示屏API接口

本实验所提供的 LCD1602 显示屏打印显示字符的API函数接口如下截图所示:

我使用的普中科技STC51单片机开发板A2型号电路原理图中 LCD1602 的接线如下截图所示,在我使用的普中科技STC51单片机开发板上,LCD1602 占用了单片机的 P0 口和 P2_5,P2_6,P2_7 这3个口。

因为普中科技STC51单片机开发板A2型的8位数码管使用的也是P0接口作为段码,所以在此开发板上 LCD1602 就和数码管显示冲突,使用LCD1602显示的时候数码管显示就不能使用了。

3. 源码编写使用LCD1602显示字符

源码编写使用LCD1602显示字符,本实验使用江协科技已经写好的 LCD 模块,直接调用江协科技LCD模块提供的API接口函数。第一步是在 main.c 函数中调用 LCD_init() 初始化LCD显示屏,然后就可以调用 LCD_ShowString() 显示字符串,LCD_ShowNum()显示无符号数,LCD_ShowChar()显示字符。

源码如下,需要使用将江协科技提供的示例源码里的 lcd.c 和 lcd.h 文件拷贝到本次实验的源码目录里。

#include <REGX52.H>
#include <INTRINS.H>
#include "LCD1602.h"
#include "delay.h"void main()
{unsigned int result = 0;LCD_Init();LCD_ShowChar(1, 1, 'A');LCD_ShowChar(1, 2, 'B');LCD_ShowChar(1, 3, 'C');LCD_ShowChar(1, 4, 'D');LCD_ShowChar(1, 5, 'E');LCD_ShowChar(1, 6, 'F');LCD_ShowChar(1, 7, 'G');LCD_ShowChar(1, 8, 'H');LCD_ShowChar(1, 9,  'I');LCD_ShowChar(1, 10, 'G');LCD_ShowChar(1, 11, 'K');LCD_ShowChar(1, 12, 'L');LCD_ShowChar(1, 13, 'M');LCD_ShowChar(1, 14, 'N');LCD_ShowChar(1, 15, 'O');LCD_ShowChar(1, 16, 'P');LCD_ShowString(2, 1, "Hello World, STC51!");Delay(2000);LCD_Init();LCD_ShowNum(1, 3, 5, 4);Delay(2000);LCD_Init();LCD_ShowSignedNum(1, 12, -66, 2);LCD_Init();while(1){Delay(1000);LCD_ShowNum(1,1,result,6);result++;}
}

使用STC-ISP将编译好的 hex 文件下载到单片机开发板里,显示效果如下,在LCD1602 上下两行全部显示了字符。

4. 总结

本实验使用江协科技已经写好的 LCD 模块,直接调用江协科技LCD模块提供的API接口函数进行LCD1602 屏幕先显示打印调试信息,而先不去分析LCD1602显示屏驱动的原理,在后续可能中会再学习。

LCD1602 显示屏可以显示两行,每行16个字符,共 2 *16 个字符。

4.1 默认插上LCD1602显示屏时显示屏都显示为白色方块

默认插上LCD1602显示屏时显示屏都显示为白色方块,根据哔站视频弹幕的提示需要单片机开发板上液晶显示屏插座位置附件的 103 可调电阻的阻值,调整到一个合适的电阻值,液晶屏默认就不会显示白色方块了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/33017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ消息队列 安装及基本介绍

一.MQ介绍 Message Queue &#xff08;MQ&#xff09;是一种跨进程的通信机制&#xff0c;用于在系统之间进行传递消息。MQ作为消息中间件&#xff0c;可以进行异步处理请求&#xff0c;从而减少请求响应时间和解耦 1.1 应用场景 1.1.1 系统之间通过MQ进行消息通信&#xff0…

leetcode 二分查找·系统掌握 x的平方根

题目&#xff1a; 题解 这题可以使用~01~泛型查找在0~x/2的范围内查找答案。 int mySqrt(int x) {long l0,rx,mid;while(l<r){mid(lr1)>>1;if(mid*mid>x)rmid-1;else lmid;}//因为一定有答案所以不用判定是否查找失败return l;}

Docker构建多平台镜像

docker的多架构镜像构建 目前很多服务器都是基于arm架构的&#xff0c;而现在大多数的docker镜像都是基于x86架构的。一种情况就是同样的代码编译成业务包做成镜像需要部署在不同架构的服务器上&#xff0c;这个时候我们就可以使用docker的多平台构建了。 以下操作是在centos7.…

深入探索 Nuxt3 Composables:掌握目录架构与内置API的高效应用

title: 深入探索 Nuxt3 Composables&#xff1a;掌握目录架构与内置API的高效应用 date: 2024/6/23 updated: 2024/6/23 author: cmdragon excerpt: 摘要&#xff1a;“本文深入探讨了Nuxt3 Composables&#xff0c;重点介绍了其目录架构和内置API的高效应用。通过学习本文&…

pcl::PointXYZRGBA造成点云无法显示

如果pcd文件没有rgba信息&#xff0c;使用pcl::PointXYZRGBA类型打开会提示以下信息&#xff1a; Failed to find match for field rgba另外&#xff0c;显示出来的点云是黑色&#xff0c;如果使用默认背景色为黑色&#xff0c;就无法显示点云了。 如果设置其它背景色&#xf…

视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享

目录 一、视频监控平台介绍 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;视频接入能力介绍 &#xff08;三&#xff09;功能介绍 二、JT/T905协议介绍 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;主要内容 1、设备要求 2、业务功能要求…

[最全]设计模式实战(一)UML六大原则

UML类图 UML类图是学习设计模式的基础,学习设计模式,主要关注六种关系。即:继承、实现、组合、聚合、依赖和关联。 UML类图基本用法 继承关系用空心三角形+实线来表示。实现接口用空心三角形+虚线来表示。eg:大雁是最能飞的,它实现了飞翔接口。 关联关系用实线箭头来表示…

OOM日志分析

目录 1. 日志分析2. MAT 工具2.1 日志打印方式2.1.1 HeapDumpOnOutOfMemoryError&#xff08;推荐&#xff09;2.1.2 jmp 命令 2.2 MAT分析方式2.2.1 饼图分析2.2.2 树形图分析2.2.2 泄漏疑点 3. 优化 首先说一下结论&#xff1a;通过MAT工具分析才是最精准的&#xff0c;直接通…

2025秋招NLP算法面试真题(二)-史上最全Transformer面试题:灵魂20问帮你彻底搞定Transformer

简单介绍 之前的20个问题的文章在这里&#xff1a; https://zhuanlan.zhihu.com/p/148656446 其实这20个问题不是让大家背答案&#xff0c;而是为了帮助大家梳理 transformer的相关知识点&#xff0c;所以你注意看会发现我的问题也是有某种顺序的。 本文涉及到的代码可以在…

C语言中的字符输入/输出和验证输入

在C语言中&#xff0c;字符输入/输出功能允许程序与用户进行交互&#xff0c;读取用户的输入信息并展示输出结果。同时&#xff0c;验证输入的作用在于确保用户输入的数据符合预期&#xff0c;以提高程序的稳定性和可靠性&#xff0c;防止无效输入引发的错误或异常行为&#xf…

JavaWeb——MySQL:DDL操作库

目录 1.DDL&#xff1a;查询数据库&#xff1b; 1.1 查询数据库 1.2 创建数据库 1.DDL&#xff1a;查询数据库&#xff1b; 具体操作&#xff1a;增 删 查 用 &#xff1b; 1.1 查询数据库 SQL语句&#xff1a;show databases; 由于我创建过一些数据库&#xff0c;我查询的…

[Spring Boot]Netty-UDP客户端

文章目录 简述Netty-UDP集成pom引入ClientHandler调用 消息发送与接收在线UDP服务系统调用 简述 最近在一些场景中需要使用UDP客户端进行&#xff0c;所以开始集成新的东西。本文集成了一个基于netty的SpringBoot的简单的应用场景。 Netty-UDP集成 pom引入 <!-- netty --…

计算机专业:昔日万金油,明日科技潮头的弄潮儿

高考后的十字路口&#xff1a;计算机专业&#xff0c;依旧闪耀吗&#xff1f; 随着2024年高考的尘埃落定&#xff0c;数百万青春洋溢的脸庞再次凝视着未来的迷雾&#xff0c;试图在繁星点点的专业宇宙中找到那颗最亮的星——计算机科学与技术。长久以来&#xff0c;计算机专业…

【目标检测】DAB-DETR

一、引言 论文&#xff1a; DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR 作者&#xff1a; IDEA 代码&#xff1a; DAB-DETR 注意&#xff1a; 该算法是对DETR的改进&#xff0c;在学习该算法前&#xff0c;建议掌握多头注意力、Sinusoidal位置编码、DETR等相…

Android jetpack Room的简单使用

文章目录 项目添加ksp插件添加 room 引用开始使用room1. 创建bean2. 创建 dao类3. 创建database类 数据库升级复制数据库到指定路径参考文献 项目添加ksp插件 注意&#xff0c;因为ksp插件 是跟项目中使用的kotlin的版本要保持一致的&#xff0c;否则会报错的 首先我们去 https…

Python18 数据结构与数据类型转换

1.python中的数据结构 在Python中&#xff0c;数据结构是用来存储、组织和管理数据的方式&#xff0c;以便有效地执行各种数据操作。Python提供了几种内置的数据结构&#xff0c;每种都有其特定的用途和操作方法。以下是Python中一些主要的数据结构&#xff1a; 1.列表&#…

攻防世界-2-1

下载附件&#xff0c;发现是一张损坏的png文件&#xff0c;扔winhex里面修改文件头 修改之后发现还是打不开&#xff0c;提示CRC错误&#xff0c;脚本跑一下 循环冗余校验CRC&#xff08;Cyclic Redundancy Check&#xff09;是数据通信领域常用的一种数据传输检错技术。通过在…

记录Nuxt3部署线上pm2启动项目修改端口

看官方文档&#xff1a; TNND&#xff0c;修改这个端口号顶个P用&#xff0c;毛用也没有 实际上应该是这样&#xff1a; 好了&#xff0c;误人子弟&#xff5e;

太速科技-基于AD916X的直流至 12 GHz 矢量信号发生器 FMC子卡

基于AD916X的直流至 12 GHz 矢量信号发生器 FMC子卡 一、DAC 性能指标&#xff1a; ● DAC 型号&#xff1a;AD9163。 ● 分辨率&#xff1a;16bits。 ● DAC 更新速率&#xff1a;12GSPS。 ● 6GSPS 直接 RF 频率合成。 ● 直流至 3GHz&#xff08;不归零 NRZ 模式&…

粉笔1000题——判断推理

目录 一、图形推理1. 位置规律平移旋转、翻转 二、定义判断三、类比推理四、逻辑判断 一、图形推理 1. 位置规律 平移 旋转、翻转 二、定义判断 三、类比推理 四、逻辑判断