HT1621B液晶驱动(附电路图)

2023-11-18

最近做了一个项目用到了HT1621,电路图+datasheet+code


HT1621B datasheet


#include "ht1621.h"


void ht1621_send_high_order_data(UCHAR data, UCHAR len)
{
	UCHAR i;

	for (i=0; i<len; i++)
	{
		if((data&0x80) == 0)
		{
			Set_Port_Val(HT_DATA, 0);	
		}
		else
		{
			Set_Port_Val(HT_DATA, 1);
		}
		
		Set_Port_Val(HT_WR, 0);
		Delay(4);
		Set_Port_Val(HT_WR, 1);	
		
		data <<= 1;
	}
}

void ht1621_send_low_order_data(UCHAR data, UCHAR len)
{
	UCHAR i;
	
	for (i=0; i<len; i++)
	{
		if((data&0x01) == 0)
		{
			Set_Port_Val(HT_DATA, 0);	
		}
		else
		{
			Set_Port_Val(HT_DATA, 1);
		}
		
		Set_Port_Val(HT_WR, 0);
		Delay(4);
		Set_Port_Val(HT_WR, 1);	
		
		data >>= 1;
	}
}

void ht1621_send_cmd(UCHAR command)
{
	Set_Port_Val(HT_CS, 0);	
	ht1621_send_high_order_data(0x80, 4);
	ht1621_send_high_order_data(command, 8);
	Set_Port_Val(HT_CS, 1);	
}

void ht1621_write(UCHAR addr, UCHAR data)
{
	Set_Port_Val(HT_CS, 0);
	ht1621_send_high_order_data(0xA0, 3);
	ht1621_send_high_order_data(addr<<2, 6);
	ht1621_send_low_order_data(data, 8);
	Set_Port_Val(HT_CS, 1);
}

void ht1621_write_all(UCHAR addr, UCHAR *p, UCHAR len)
{
	UCHAR i;
	
	Set_Port_Val(HT_CS, 0);
	ht1621_send_high_order_data(0xA0, 3);
	ht1621_send_high_order_data(addr<<2, 6);
	
	for (i=0; i<len; i++, p++)
	{
		ht1621_send_low_order_data(*p, 8);
	}
	
	Set_Port_Val(HT_CS, 1);	
}



void ht1621_clr_all_display()
{
	UCHAR i;
	UCHAR addr = 0;
	
	for (i=0; i<16; i++)
	{
		ht1621_write(addr, 0x00);
		addr += 2;
	}
}

void ht1621_all_display()
{
	UCHAR i;
	UCHAR addr = 0;
	
	for (i=0; i<16; i++)
	{
		ht1621_write(addr, 0xFF);
		addr += 2;
	}	
}

void ht1621_init()
{
	ht1621_send_cmd(HT_SYS_EN);
	ht1621_send_cmd(HT_RCOSC);
	ht1621_send_cmd(HT_BISA_COM);
	ht1621_send_cmd(HT_LCD_ON);
}


void set_lcd_on()
{
	ht1621_send_cmd(HT_LCD_ON);
}

void set_lcd_off()
{
	ht1621_send_cmd(HT_LCD_OFF);
}

#ifndef _HT1621_H
#define _HT1621_H


#define HT_BISA_COM			0x52		//(1<<1) | (0<<3) | (1<<4) | (0<<5) | (1<<6) | (0<<7) | (0<<8) | (0<<9) | (0<<10) | (1<<11)
#define HT_LCD_OFF			0x04		//(0<<1) | (1<<2) | (0<<4) | (0<<5) | (0<<6) | (0<<7) | (0<<8) | (0<<9) | (0<<10) | (1<<11)
#define HT_LCD_ON			0x06		//(1<<1) | (1<<2) | (0<<4) | (0<<5) | (0<<6) | (0<<7) | (0<<8) | (0<<9) | (0<<10) | (1<<11)
#define HT_WRITE_CMD		0x80		//(0<<0) | (0<<1) | (1<<2)  | (0<<3) | (1<<4) | (0<<5) | (1<<6) | (0<<7) | (1<<8)
#define HT_WRITE_DATA		0xA0
#define HT_SYS_EN			0x02
#define HT_RCOSC			0x30


#endif




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HT1621B液晶驱动(附电路图) 的相关文章

  • PID的积分抗饱和

    目录 1 什么是积分饱和 2 实际的例子 3 负面影响 4 如何防止积分饱和 5 PID算法 抗饱和 1 什么是积分饱和 积分饱和 Integral windup或integrator windup 是指PID控制器或是其他有积分器的控制器
  • linux中KVM桥接网卡br0

    在redhat Eenterprise 6或者CentOS 6以上版本在使用KVM虚拟化的时 会需要配置到桥接网卡 下面就非常简单的讲一下桥接的方法 真的很简单 查看eth0的现有状态 root localhost cd etc sysco

随机推荐

  • Spring Boot开发时Java对象和Json对象互转

    作者简介 练习时长两年半的Java up主 个人主页 程序员老茶 ps 点赞 是免费的 却可以让写博客的作者开兴好久好久 系列专栏 Java全栈 计算机系列 火速更新中 格言 种一棵树最好的时间是十年前 其次是现在 动动小手 点个关注不迷路
  • 安卓手机玩游戏卡顿怎么解决_安卓手机卡顿,都是在桌面上卸载软件,这样是没用的!...

    现在的时代手机对我们来说已经是必不可少的了可以说是情人一样走哪都带着 智能手机尤其是这几年 随着国产手机的迅猛发展 其实我们可以看到无论男女老少 基本上都有自己的手机 现在学生都用手机了 我记得我上学那会没家长没给买手机我初3才买手机的 现
  • Composer自动加载(一)

    我的个人博客 逐步前行STEP Composer是PHP的基于项目的依赖管理工具 它本身集成一个autoloader 支持PSR 4 PSR 0 classmap files 四种自动加载方式 首先介绍一下PSR 4与PSR 0 介绍这两种
  • Qt中csv文件的导入与导出

    CSV 1 简介 全称 Comma Separated Values 是 逗号分隔值 的英文缩写 通常是纯文本文件 一般用wordWPS或是记事本打开 2 规则 1 开头不留空 以行为单位 2 可含或不含列名 含列名则居文件第一行 3 一行
  • Lombok插件注解详解

    Lombok主要常用的注解 Data注解 在JavaBean或类JavaBean中使用 这个注解包含范围最广 它包含getter setter NoArgsConstructor注解 即当使用当前注解时 会自动生成包含的所有方法 Gette
  • 如何使用纯js导出Excel+export2Excel.js的图片导出(包教包会)

    需求背景 有一天突发奇想 如果把导出excel放到前端去做会不会更加的简单一些呢 这样对数据库的访问也会比较少 然后就开始前端导出excel的探索 后来发现 如果业务量大 需求变更频繁 兼容问题 好像前端处理并不合适 但是还是记录下来 js
  • 【caffe-windows】 caffe-master 之 cifar10 超详细

    本教程尽量详细 大多步骤都有图 如果运行出错 请先对照自己的文件是否和图上的一样 包括标点啊 空格啊 斜杠 反斜杠啊之类的小细节 本例程是在 win10 64位 caffe master vs2013下进行的 并且已经配置GPU版本 若用C
  • fivem服务器文件,云梦YumVGTA5 FiveM 服务器插件管理器

    转载自云梦 yumy net YumV 是云梦开发的一个 GTA5 FiveM 服务器插件管理器 它的主要功能有 自动安装各种插件 载具 地图 人物 脚本以及工具等 自动更新插件到新版本 一键卸载指定的插件 支持自动更新自身插件到新版本 从
  • python 计算置信区间,Python求解正态分布置信区间

    Python求解正态分布置信区间 正态分布和置信区间 正态分布 Normal Distribution 又叫高斯分布 是一种非常重要的概率分布 其概率密度函数的数学表达如下 f x frac 1 sqrt 2 pi sigma e frac
  • 2. 前端基本知识笔记:HTML&CSS&JavaScript&Vue&ElementUI

    HTML CSS JavaScript三剑客 Web前端 1 HTML基本知识 1 1 HTML HyperText Markup Language 1 2 W3C标准 1 3 HTML 结构标签 1 4 1 基础标签 1 4 2 图片 音
  • 中文 Appium API 文档

    该文档是Testerhome官方翻译的 源地址 https github com appium appium tree master docs cn 官方网站上的 http appium io slate cn master ruby ab
  • 调用“抱抱脸团队打造的Transformers pipeline API” && 通过预训练模型,快速训练和微调自己的模型

    本文章根据官方文件总结而成 根据第三方库Transformers and pytorch快速搭建自己的神经网络架构 可以直接下载预训练模型 涉及的数据集包括音频 文字 图像等 实用性非常强 官方链接直达 GitHub huggingface
  • Qt的信号与槽

    引入 在GUI编程中 组件组件如何实现通信是核心的技术内容 Qt使用了信号与槽的机制 为此Qt引入了一些关键字slots signals emit 这些都是Qt特有的关键字 然后这些关键字会被Qt的moc转换位标准的C 语句 Qt 的部件类
  • Linux下的代码编辑器

    2023年5月16日 周二早上 昨天晚上和今天早上捣鼓了一行Linux下的代码编辑器 踩了几个坑 现在写篇博客记录一下 我使用的是Centos Linux下的代码编辑器有哪些 在Linux中 有很多代码编辑器可以供选择 以下是其中一些主要的
  • (二)Java 虚拟机具体是怎样运行 Java 字节码的?

    Write Once Run Anywhere Java 祖师爷就是由于发现用 C 开发的过程中会花大量的时间处理内存 不同的指令架构等的问题 所以才有高 移植性 的Java 诞生 采访Java 祖师爷的报道链接 And there are
  • sql 优化

    sql 优化 1 mysql 基础架构 1 1 mysql 的组成 2 mysql 存储引擎 2 1MyISAM 2 2 InnoDB 2 3 MyISAM 和 InnoDB 的对比 3 mysql 索引 3 1 Hash 索引 3 2 B
  • QT 中的延时函数和精准定时器的用法

    一 QT中的延时函数比较常用的三种方法 第一种 void MainWindow Delay int msec 这个最准 非阻塞方式延时 现在很多人推荐的方法 QEventLoop loop QTimer singleShot msec lo
  • 知识点——初识java中File类

    1 1 什么是File类 SUN公司提供给开发者操作文件和文件夹的一个类对象 Java中万物皆对象 计算机中万物皆文件 获取File类有三种方式 Constructor 构造方法 File String pathName 根据对应的文件路径
  • 95-31-020-ChannelGroup-DefaultChannelGroup

    1 拓扑图
  • HT1621B液晶驱动(附电路图)

    最近做了一个项目用到了HT1621 电路图 datasheet code HT1621B datasheet include ht1621 h void ht1621 send high order data UCHAR data UCHA