基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示功能菜单应用

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示功能菜单应用

  • STC12C5A60S2系列1T 8051单片机管脚图
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍
  • 液晶显示器LCD1602简单介绍
  • IIC通信简单介绍
  • 掉电保存数据芯片24C02简单介绍
    • 通过液晶显示器LCD1602显示功能菜单

STC12C5A60S2系列1T 8051单片机管脚图

在这里插入图片描述在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置

在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍

在这里插入图片描述在这里插入图片描述

液晶显示器LCD1602简单介绍

在这里插入图片描述在这里插入图片描述
DDRAM : 数据显示随机存储器 液晶显示器显示数据是来于数据显示随机存储器
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
CGRAM:字符生成随机存储器 用户自定义字符会存储在字符生成存储器
在这里插入图片描述
CGROM:字符库只读存储器 只提供字符 用液晶显示器显示这些字符

总结:不管是CGRAM(字符生成随机存储器)自定义的字符 还是CGROM(字符库只读存储器)原有的字符 写进DDRAM(数据显示随机存储器)内存地址上 才能在液晶显示器屏幕显示出来
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

IIC通信简单介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

掉电保存数据芯片24C02简单介绍

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

通过液晶显示器LCD1602显示功能菜单

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

#include <stc12c5a60s2.h>
#include <intrins.h>
#include <stdio.h>
#define uchar unsigned char//自定义无符号字符型为uchar
#define uint unsigned int//自定义无符号整数型为uint 
#define LCD1602PinMode1 0x38//自定义液晶显示器LCD1602八位数据接口的两行5*8点阵 
#define LCD1602PinMode2 0x28//自定义液晶显示器LCD1602四位数据接口的两行5*8点阵
#define LCD1602CleanScreen 0x01//自定义液晶显示器LCD1602清屏变量
#define LCD1602CursorRst 0x02//自定义液晶显示器LCD1602光标复位 
#define LCD1602DisplayCursorGlint 0x0f//自定义液晶显示器LCD1602开显示开光标开光标闪烁 
#define LCD1602DisplayCursorNoGlint 0x0e//自定义液晶显示器LCD1602开显示开光标不开光标闪烁  
#define LCD1602DisplayNoCursorNoGlint 0x0c//自定义液晶显示器LCD1602开显示不开光标不开光标闪烁  
#define LCD1602NoDisplayCursorNoGlint 0x08//自定义液晶显示器LCD1602不开显示不开光标不开光标闪烁  
#define LCD1602CursorRightMoveDisplayNoMove 0x06//自定义液晶显示器LCD1602光标右移 显示不移动
#define LCD1602CursorLeftMoveDisplayNoMove 0x04//自定义液晶显示器LCD1602光标左移 显示不移动
#define LCD1602PictureLeftMove 0x07//自定义液晶显示器LCD1602画面左移 AC自增
#define LCD1602PictureRightMove 0x05//自定义液晶显示器LCD1602画面右移 AC自减
#define LCD1602CursorRightMove 0x10//自定义液晶显示器LCD1602光标右移
#define LCD1602CursorLeftMove 0x14//自定义液晶显示器LCD1602光标左移
#define LCD1602DisplayRightMove 0x18//自定义液晶显示器LCD1602显示右移
#define LCD1602DisplayLeftMove 0x1c//自定义液晶显示器LCD1602显示左移
#define LCD1602DisplayData P0//自定义液晶显示器LCD1602显示数据为单片机P0组引脚
#define KeyPressDeshakeTime 10//自定义按键按下消抖时间为10ms
#define KeyLongPressDelayTime 500//自定义按键长按延时时间为500ms
#define KeyLongPressIntervalChangeTime 25//自定义按键长按间隔变化时间为25ms
uchar AddKeyLockFlag;//声明增加按键锁定标志位变量
uchar DecKeyLockFlag;//声明减少按键锁定标志位变量
uchar BackKeyLockFlag;//声明返回按键锁定标志位变量
uchar AlarmKeyLockFlag;//声明警报按键锁定标志位变量
uchar KeyNumber;//声明按键键值
uchar MenuNumber;//声明菜单数字变量
uchar AddKeyLongPressAddIntervalTime;//声明增加按键长按连增间隔时间变量
uchar DecKeyLongPressDecIntervalTime;//声明减少按键长按连减间隔时间变量
uchar BackKeyLongPressIntervalTime;//声明返回按键长按间隔时间变量
uchar AlarmKeyLongPressIntervalTime;//声明警报按键长按间隔时间变量
uint AddKeyPressDelayTime;//声明增加按键按下延时时间变量
uint DecKeyPressDelayTime;//声明减少按键按下延时时间变量
uint BackKeyPressDelayTime;//声明返回按键按下延时时间变量
uint AlarmKeyPressDelayTime;//声明警报按键按下延时时间变量
uint DataCache[125,126,127,223,224,225,226,334,335,336,337,421,422,423,424];//声明数据缓存变量数组
sbit LCD1602RS P2^5;//位定义液晶显示器LCD1602数据指令变量为单片机P2.5引脚
sbit LCD1602RW P2^6;//位定义液晶显示器LCD1602读写变量为单片机P2.6引脚 
sbit LCD1602EN P2^6;//位定义液晶显示器LCD1602使能变量为单片机P2.7引脚 
sbit AddKey = P3^0;//定义增加按键为单片机P3.0引脚
sbit DecKey = P3^1;//定义减少按键为单片机P3.1引脚
sbit BackKey = P3^2;//定义返回按键为单片机P3.2引脚
sbit AlarmKey = P3^3;//定义警报按键为单片机P3.3引脚 void LCD1602Init()//液晶显示器初始化函数
{LCD1602WriteCommand(LCD1602PinMode1);//液晶显示器LCD1602八位数据接口的两行5*8点阵 LCD1602WriteCommand(LCD1602DisplayNoCursorNoGlint);//液晶显示器LCD1602开显示不开光标不开光标闪烁LCD1602WriteCommand(LCD1602CursorRightMove);//液晶显示器LCD1602光标右移LCD1602WriteCommand(LCD1602CleanScreen)

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

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

相关文章

Lattice-Based Blind Signatures: Short, Efficient, and Round-Optimal

目录 摘要引言 Lattice-Based Blind Signatures: Short, Efficient, and Round-Optimal CCS 2023 摘要 我们提出了一种基于随机预言机启发式和标准格问题&#xff08;环/模块SIS/LWE和NTRU&#xff09;的2轮盲签名协议&#xff0c;签名大小为22KB。该协议是全面优化的&#xf…

企业网盘在医疗行业资料管理中的应用与优势

随着企业网盘的广泛应用&#xff0c;医疗行业正逐渐实现资料安全存储和智能化管理。海量应用的推动下&#xff0c;医院管理正朝着线上化、智能化发展迈进。然而&#xff0c;医疗行业仍面临着诸多挑战。 医疗行业的痛点在于病例、档案、药品资料繁多且保存周期长。这些资料的整理…

服务注册发现 配置中心 springcloud alibaba nacos

文章目录 0100 系统环境0200 nacos安装0201 下载0202 安装 0300 工程说明0301 结构说明0302 运行效果 0400 代码说明0401 服务提供者&#xff08;Provider Service&#xff09;0402 服务消费者&#xff08;Consumer Service&#xff09;服务提供者SDK&#xff08;Provider Serv…

Mapper文件夹在resource目录下但是网页报错找不到productMapper.xml文件的解决

报错如下&#xff1a; 我的Mapper文件夹在resourse目录下但是网页报错找不到productMapper.xml。 结构如下&#xff1a;代码如下&#xff1a;<mappers><mapper resource"com/dhu/mapper/productMapper.xml" /> </mappers> 这段代码是在mybatis-co…

5G承载网和大客户承载的演进

文章目录 移动4/5G承载网联通和电信4/5G承载网M-OTN&#xff08;Metro-optimized OTN&#xff09;&#xff0c;城域型光传送网PeOTN&#xff08;packet enhanced optical transport network&#xff09;&#xff0c;分组增强型OTN板卡增强型PeOTN集中交叉型PeOTN VC-OTN&#x…

Hdoop学习笔记(HDP)-Part.11 安装Kerberos

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

ASP.NET Core 使用IIS调试出现505.24错误

最近一直再学习asp.net 相关的东西&#xff0c;主要是为前端app提供一个webapi接口。在使用iis调试程序时出现HTTP Error 500.24 - Internal Server Error错误&#xff0c;搞了好久才最终解决。 1.在项目中增加web.config配置文件 2.将配置文件改为如下内容 <?xml version…

C++模版

文章目录 C模版1、泛型编程2、函数模版2.1、函数模版概念2.2、函数模版格式2.3、函数模版原理2.4、函数模版的实例化2.5、模板参数的匹配原则 3、类模版3.1、类模版概念3.2、类模版格式3.3、类模板的实例化 C模版 1、泛型编程 泛型编程&#xff08;Generic Programming&#x…

003、应用程序框架-UIAbility

之——UIAbility 目录 之——UIAbility 杂谈 正文 1.UIAbility 2.基本使用 2.1 创建Ability工程 2.2 添加基础功能 2.3 新建页面 2.4 页面间的跳转 3.生命周期 总结 杂谈 UIAbility&#xff0c;其中的页面创建、页面间的跳转、数据传递、生命周期。 正文 1.UIAbil…

【数据结构】环形队列

环形队列 1. 定义 环形队列就是将队列在逻辑上看作环形结构、物理上仍是数组形式存储的一种数据结构。 其实现主要分为两种情况&#xff1a; 浪费空间法记录空间法 2. 实现 实现要考虑的是成员变量 2.1 记录空间法 使用used标识当前存储了多少元素&#xff0c;如果为空&a…

基于ASP.NET MVC技术的图书管理系统的设计与实现

基于ASP.NET MVC技术的图书管理系统的设计与实现 摘要&#xff1a;图书管理系统是一套高新科学技术和图书知识信息以及传统历史文化完美结合的体现。它改变了传统图书收藏的静态书本式图书服务特征&#xff0c;实现了多媒体存取、远程网络传输、智能化检索、跨库无缝链接、创造…

type-c充电器输出电压5V9V12V15V20V PD协议诱骗快充应用方案

Type-C接口的PD充电器&#xff08;如iPhone的20W充电器&#xff09;默认是没有电压输出的&#xff0c;想要让Type-C的充电器输出5V、9V、12V、15V、20V&#xff0c;只需要在产品上使用一颗快充取电芯片XSP08即可。 工作原理&#xff1a; 各类小家电产品如平板电脑、智能穿戴产…

什么是Ros(二)- 结构和通讯概述

目录 1.架构 2.通讯 参考文献 上接&#xff1a;什么是Ros&#xff08;一&#xff09;-CSDN博客 1.架构 共三层&#xff1a;OS 层&#xff0c;中间层&#xff0c;应用层。 OS 层&#xff1a;OS 层是操作系统层也就是我们现在使用的ubuntu&#xff08;linux&#xff09;&…

win10下在Qt中使用VTK(安装VS2017+安装QT5.9.9+编译配置VTK8.2.0)

目录 前言一、安装Visual Studio20171&#xff09;官网下载可执行的安装程序2&#xff09;安装3&#xff09;启动 二、安装Qt 5.9.91&#xff09;下载可执行的安装程序2&#xff09;安装3&#xff09;配置环境变量 三、安装Cmake1&#xff09;下载可执行的安装程序2&#xff09…

【深度优先】LeetCode1932:合并多棵二叉搜索树

作者推荐 动态规划LeetCode2552&#xff1a;优化了6版的1324模式 题目 给你 n 个 二叉搜索树的根节点 &#xff0c;存储在数组 trees 中&#xff08;下标从 0 开始&#xff09;&#xff0c;对应 n 棵不同的二叉搜索树。trees 中的每棵二叉搜索树 最多有 3 个节点 &#xff0…

一种excel多线程并发写sheet的方案

一、背景 有一次项目的需求要求导出excel&#xff0c;并且将不同的数据分别写到不同的sheet中。 二、 方案概述 首先一开始使用easyexcel去导出excel&#xff0c;结果发现导出时间需要3秒左右。于是想着能不能缩短excel导出时间&#xff0c;于是第一次尝试使用异步线程去查询数…

人工智能原理复习--确定性推理

文章目录 上一篇推理概述自然演绎推理合适公式 归结演绎推理归结原理归结反演 提升归结效率下一篇 上一篇 人工智能原理复习–知识表示&#xff08;二&#xff09; 推理概述 推理就是按某种策略由已知判断推出另一判断的思维过程 分类&#xff1a; 演绎推理、归纳推理、默…

kafka 集群 ZooKeeper 模式搭建

Apache Kafka是一个开源分布式事件流平台&#xff0c;被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序 Kafka 官网&#xff1a;Apache Kafka 关于ZooKeeper的弃用 根据 Kafka官网信息&#xff0c;随着Apache Kafka 3.5版本的发布&#xff0c;Zookeeper现…

Christmas is Coming,一起来DIY雪花灯啦

亲爱的朋友们&#xff0c;圣诞节即将到来&#xff01;是不是很期待和家人、朋友一起欢度圣诞夜呢&#xff1f;KCC深圳联合立创开源特别为大家精心挑选了一款氛围感满满的雪花灯&#xff0c;让我们一起创造自己的圣诞礼物~ 彩色丝印PCB版的触摸无极调光雪花灯 哇&#xff0c;立创…

VL53-400激光测距传感器

一、产品简介 先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器&#xff0c;被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器&#xff0c;因此它能检测极其微弱的光信号。记录并…