基于51单片机的12864液晶演示器驱动

2023-05-16

#include <reg52.h>

/*	CMD begin*/
#define LCD1602_SET			writeCD_1602(0x38, 0)		//	1602设置
#define LCD1602_CLOSE		writeCD_1602(0x01, 0)		//	显示清屏
#define LCD1602_ENTER		writeCD_1602(0x02, 0)		//	显示回车
#define LCD1602_LMOVE		writeCD_1602(0x18, 0)		//	屏幕左移
#define LCD1602_RMOVE		writeCD_1602(0x1c, 0)		//	屏幕右移
#define LCD1602_LCURSOR		writeCD_1602(0x10, 0)		//	光标左移
#define LCD1602_RCURSOR		writeCD_1602(0x14, 0)		//	光标右移
/*	CMD end*/

/*	CMD 0x08 begin*/ 
#define LCD1602_08(CMD)		writeCD_1602(0x08 | CMD, 0)
//	指令
#define LCD1602_SHOW		0x04	//	屏幕显示开关
#define LCD1602_CURSOR		0x02	//	光标显示开关
#define LCD1602_TWINKLE		0x01	//	光标闪烁开关
//	预设
#define LCD1602_08PRESET LCD1602_SHOW
/*	CMD 0x08 end*/

/*	CMD 0x04 begin*/
#define LCD1602_04(CMD)		writeCD_1602(0x04 | CMD, 0)
//	指令
#define LCD1602_DIRECTION	0x02	//	地址增减方向
#define LCD1602_MSTATE		0x01	//	屏幕写入状态
//	预设
#define LCD1602_04PRESET LCD1602_DIRECTION
/*	CMD 0x04 end*/

// 1602 接口定义
sbit LCDen = P3 ^ 4;
sbit LCDrs = P3 ^ 5;
sbit LCDrw = P3 ^ 6;

/*
功能	:阻塞延时
参数	:<unsigned int>每毫秒每单位
返回值	:<void>
*/
void blockDelay(unsigned int ms) {
	unsigned char number;
	while (ms--) {
		number = 110;
		while (number--);
	}
}

/*
功能	:将指令/数据写入1602液晶
参数	:<unsigned char>数据<unsigned char>0为写指令 1为写数据
返回值	:<void>
*/
void writeCD_1602(unsigned char dat, unsigned char cmd) {
	LCDrs = cmd;
	LCDrw = 0;
	P0 = dat;
	LCDen = 1;
	blockDelay(32);
	LCDen = 0;
}

/*
功能	:1602液晶初始化
参数	:<void>
返回值	:<void>
*/
void lcdInit_1602() {
	LCD1602_SET;
	LCD1602_08(LCD1602_08PRESET);
	LCD1602_04(LCD1602_04PRESET);
	LCD1602_CLOSE;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于51单片机的12864液晶演示器驱动 的相关文章

  • 自动化测试框架知识,读这一篇就够了!怎么构建属于自己的自动化测试框架

    已剪辑自 https segmentfault com a 1190000022693251 自动化测试因其节约成本 提高效率 减少手动干预等优势已经日渐成为测试人员的 潮流 xff0c 从业人员日益清楚地明白实现自动化框架是软件自动化项目
  • 代理模型优化算法

    已剪辑自 https zhuanlan zhihu com p 99609634 微信公号 xff1a Mat物语科研数据分析 阅读本文最好需要提前了解 xff08 一点点 xff09 的一些知识点 xff08 不懂也可以阅读 xff09
  • Maven常用知识梳理总结

    一 xff0e Maven简介 Maven的本质是一个项目管理工具 xff0c 将项目开发和管理过程抽象成一个项目对象模型 POM 将java项目看成是一个对象来进行管理 POM Project Object Model xff1a 项目对
  • 让数据变得更直观:10款常用的可视化工具(解决99%的可视化大屏需求)

    不管是跟上司汇报工作 xff0c 还是向客户介绍项目 xff0c 在工作中各种与 汇报 有关的事情 xff0c 都离不开图表 漂亮而有视觉冲击力的图表可以给你的工作大大加分 xff0c 让对方直观理解你想表达的内容 xff0c 而大屏能将图
  • CMake 编译选项设置

    在CMakeLists txt中可以通过修改CMake内置的环境变量来改变C或C 43 43 的编译选项 编译选项相关的CMake 变量如下 xff1a CMAKE C FLAGS span class token operator 61
  • 阿里云服务器盘镜像备份恢复到本地VMware

    步骤如下 xff1a 1 阿里云创建镜像并下载镜像文件到本地 xff1b 2 使用qemu img工具转换镜像文件为vmdk 格式 3 将转换后的文件挂载到VMware上然后运行 xff1b 4 运行后修改账号密码 IP等信息 xff1b
  • 树莓派系统入门教程(一)—— 烧录系统镜像,配置系统信息

    烧录系统镜像 一 准备工作二 烧录镜像2 1 格式化内存卡2 2 烧录镜像 xff08 Raspberry Pi Imager xff09 2 3 烧录镜像 xff08 Win32DiskImager xff09 一 准备工作 1 材料准备
  • LCD1602按下复位后乱码的问题

    1602按下后会有乱码的问题 xff0c 其实根本上是硬件引起的 某些最小系统板的复位电路没做好 xff0c 按下复位键后 xff0c 就会产生乱码 但是出现这种现象 xff0c 是可以用软件后期修正的 由于LCD复位后默认是8线输入 xf
  • Linux VNC server 安装配置

    一 服务端操作 0 打开终端 xff0c 切换到目标账户 su xie 1 打开终端使用yum命令安装vnc sever yum install tigervnc server y 2 设置 vnc server 开机启动 chkconfi
  • IDEA出现 java.lang.NoSuchMethodError 错误的原因及解决方法

    出现 java lang NoSuchMethodError 错误的原因及解决方法 问题分析 xff1a 出现这种情况 xff0c 一般是存在jar冲突 xff0c 简单的说就是导入了两个相同名称的jar xff0c 系统不知道用哪个 解决
  • VNC 桌面没有图标解决办法

    VNC 桌面没有图标解决办法 安装 sudo apt get install gnome core xfce4 打开xstartup文件 xff08 前提已安装VNC xff09 命令 xff1a vim vnc xstartup 操作 x
  • DELL R730服务器安装centos7.3教程

    服务器安装centos7 3系统分为两步 第一步 xff0c 对磁盘进行分组并部署raid 第二步 xff0c 通过系统安装程序安装操作系统 xff0c 并进行系统安装配置 第一步 xff0c RADI的分组部署 将服务器开机 xff0c
  • 访问控制ACL

    ACL访问控制列表可以对具体的用户或组设置权限 root 64 localhost useradd tony tom root 64 localhost passwd tony root 64 localhost passwd tom ro
  • NFS与自动挂载

    1 NFS共享文件server端的配置 xff08 server ip xff1a 172 16 8 11 xff09 root 64 localhost getenforce Enforcing root 64 localhost set
  • SAP主题改变方法

    背景 xff1a SAP7 6有很多主题 xff0c 然后按以下的方法可以改变 xff08 我比较习惯blue这个主题目 xff0c 7 6版本现在默认不是这个主题目 xff09 文章目录 方法一 通过登录后设置步骤1步骤2 方法二 通过程
  • SMB文件共享

    1 windows server端配置 C Users wll gt net share 共享名 资源 注解 C C 默认共享 D D 默认共享 IPC
  • swap空间扩容

    1 查看现有swap空间大小 root 64 centos7 free total used free shared buff cache available Mem 2028116 389108 1266584 12644 372424
  • Linux 卸载及删除磁盘分区

    1 卸载分区 root 64 centos7 df Th Filesystem Type Size Used Avail Use Mounted on dev mapper centos root xfs 17G 4 0G 14G 24 d
  • 磁盘阵列raid5的创建及管理

    1 在虚拟机上添加4个磁盘 xff0c 其中主用盘3个 xff0c 热备盘1个 root 64 centos7 fdisk l Disk dev sda 21 5 GB 21474836480 bytes 41943040 sectors
  • Keil关于.axf文件报错

    项目场景 xff1a 熟悉Keil C51的同学在使用Keil MDK编译STM32系列单片机时会更容易上手 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统 xff0c 与汇编相比 xff0c

随机推荐

  • 《java核心技术卷1》部分章节读书笔记

    目录 3 java基本的程序设计结构3 1 命名规范3 2 数据类型3 3 运算符3 4 枚举类型 3 5 字符串3 6 大数值 BigInteger和BigDecimal3 7 数组 4 对象与类4 1 识别类4 2 类之间的关系4 3
  • linux 问题-——退出vi编辑器 wq失效

    退出linux的vi编辑器时 xff0c 先按左上角的esc按键 xff0c 再输出输入命令 保存不退出w强制保存但不退出w 保存并退出wq强制保存并退出wq xff01 不保存退出q不保存并强制退出q 出现以下问题 xff1a esc退出
  • SUMO中车辆类型的定义及路由文件的写法

    车辆类型的定义 在SUMO中 xff0c 通过vType标签来定义车辆的类型 xff0c 一般可以写成如下形式 xff1a span class token operator lt span vType id span class toke
  • 为什么c语言允许直接访问物理地址?

    C语言允许直接访问物理地址 xff0c 是因为它是一种面向底层的语言 xff0c 提供了底层的硬件操作和系统调用的能力 在C语言中 xff0c 可以通过指针变量直接访问内存地址 xff0c 从而对硬件进行底层控制和操作 在一些应用场景下 x
  • TortoiseGit 安装和使用

    TortoiseGit是一款适用于Windows系统的开源的git版本控制客户端 xff0c 其优点是使用图像化界面操作 xff0c 而不需要记住或使用Git命令 xff0c 从而增加开发效率 xff0c 对不熟悉命令的使用者比较友善 下面
  • 解放拖动屏幕的双手——用xrandr配置多屏显示

    操作系统 xff1a Arch Linux 桌面系统 xff1a Xfce 又是一次会议的结束 xff0c 待我回办公室把大屏幕接上 xff0c 准备继续干 等等 xff0c 这是怎么回事 xff1f 打开系统的Display设置一看 xf
  • 深入浅出BGP

    文章目录 深入浅出BGP说明一 BGP的产生1 1 动态路由的分类1 2 BGP概述 二 与IGP的区别三 BGP核心3 1 属性3 1 1 属性特点 3 2 选路规则3 3 对等体 深入浅出BGP 说明 此篇主要对BGP的产生 与IGP的
  • LVM跨主机迁移

    LVM跨主机迁移 虚拟机 实验环境 两台Centos 7 8虚拟机 xff0c IP xff1a 192 168 221 199 200 查看lv test中的数据 使用命令lsblk xff0c 确认逻辑卷vg下挂有两个分区均为sdb磁盘
  • CodeBlocks 20.03安装&汉语化&找不到编译器

    一 CodeBlocks下载 下载地址 xff1a https www codeblocks org downloads binaries 到如下界面选择下载codeblocks 20 03mingw setup exe xff0c 这个里
  • 【FreeRTOS】从0写简易RTOS实现任务切换

    1 RTOS引入 单片机性能越来越强 xff0c 很多Linux程序在单片机上也可以运行了 xff1a 这需要RTOS 我们要开发的单片机产品 xff0c 功能也越来越丰富 xff1a 这也需要RTOS 就个人技术发展来说 xff0c 单片
  • java中的抽象类与接口(面试常考,重要)!!

    目录 抽象类语法规则注意事项 重要 xff0c 全部掌握 抽象类的作用 接口语法规则注意事项提示类实现多个接口 接口使用实例 Comparable 接口与Comparator接口 xff09 Comparable接口Comparator接口
  • Tensorflow2.0学习(十) — 基础张量、微分操作及自定义层

    因为再后面一些分享的章节的内容很多是基于经典论文的复现了 xff0c 里面会牵扯到很多自定义的模型及其变换 而这些内容有些是我们的Keras API 无法完成的 例如Resnet的residual block 因此这一节课我们有必要去学习一
  • 数据加解密时Base64异常:Illegal base64 character 3a

    现象 用base64工具类对中文进行处理时出现异常 xff0c 在数据加解密场景中经常使用 java lang IllegalArgumentException Illegal base64 character 3a at java uti
  • HTML5学习资料

    xff08 一 xff09 HTML5的原型设计模板平台 http www zzfriend com xiazai moban http www ke01 com html5cmsmuban http www ui92 com down 2
  • centOS7安装图形化界面

    三步 1 yum groupinstall y 34 Server with GUI 34 这一步是下载图形化界面 2 reboot 重启一下 3 init 5 这一步是进入图形化界面模式 xff0c 如果配置文件里已经默认的是init 5
  • PHPExcel下载excel文件正常,打开报错:'break' not in the 'loop' or 'switch' context

    其实 xff0c thinkphp的报错已经很明显了 39 break 39 not in the 39 loop 39 or 39 switch 39 context错误位置FILE private var www backend Thi
  • ubuntu 系统出现 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu xenial Release“ 没有Release文件

    Ubuntu系统在执行sudo apt get update 后出现仓库 http ppa launchpad net fcitx team nightly ubuntu xenial Release 没有Release文件的错误 解决办法
  • Docker bridge网络模式搭建

    提示 xff1a 在 docker 中新建网络后 xff0c 容器绑定在新建网络上的容器可以用容器名ping其他的容器 xff0c 但是在默认网络上的容器是无法直接使用容器名ping通的 bridge网络搭建 1 安装brctl yum i
  • 【Python】python读取excel超链接

    前言 表格存在两种格式 xls 和 xlsx xff0c 所以python存在两种库分别读取这两种格式表格超链接 openpyl针对 xlsx格式 xff0c xlrd针对 xls文件 示例如下 xff1a 1 openpyl coding
  • 基于51单片机的12864液晶演示器驱动

    span class token macro property span class token directive keyword include span span class token string lt reg52 h gt sp