STM32使用HAL库驱动TA6932数码管驱动芯片

news2024/9/24 11:25:00

TA6932介绍

在这里插入图片描述
8段16位,支持共阴共阳LED数码管。

2、STM32CUBEMX配置引脚

在这里插入图片描述
推挽配置即可。

3、头文件

/********************************************************************************************
* TA6932:8段16位数码管驱动
*********************************************************************************************/

#ifndef __TA6932_H
#define __TA6932_H

#include "main.h"

typedef enum
{
	LEV_0 = 0x80,
	LEV_1 = 0x88,
	LEV_2 = 0x89,
	LEV_3 = 0x8a,
	LEV_4 = 0x8b,
	LEV_5,
	LEV_6,
	LEV_7,
	LEV_8,
}lightLevType_E;

void TA6932_Init(void);
void TA6932_LightLevel(lightLevType_E _eLev);
void TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth);
#endif

4、C文件

#include "ta6932.h"

/********************************************************************************************
* 共阴极数码管段码
*********************************************************************************************/
const uint8_t SEG_CODE[23] = 
{
	0x3f,/*0*/
	0x06,/*1*/
	0x5b,/*2*/
	0x4f,/*3*/
	0x66,/*4*/
	0x6d,/*5*/
	0x7d,/*6*/
	0x07,/*7*/
	0x7f,/*8*/
	0x6f,/*9*/
	
	0xBf,/*0.*/
	0x86,/*1.*/
	0xDb,/*2.*/
	0xCf,/*3.*/
	0xE6,/*4.*/
	0xEd,/*5.*/
	0xFd,/*6.*/
	0x87,/*7.*/
	0xFf,/*8.*/
	0xEf,/*9.*/	
	
	0x00,/*熄灭*/
	0X40,/*-*/
	0X61,/*℃*/	
};

#define TA6932_CLK(x)	HAL_GPIO_WritePin(TA6932_CLK_GPIO_Port,TA6932_CLK_Pin,(GPIO_PinState)(x))
#define TA6932_DIN(x)	HAL_GPIO_WritePin(TA6932_DIN_GPIO_Port,TA6932_DIN_Pin,(GPIO_PinState)(x))
#define TA6932_STB(x)	HAL_GPIO_WritePin(TA6932_STB_GPIO_Port,TA6932_STB_Pin,(GPIO_PinState)(x))


static void TA6932_WriteByte(uint8_t _ucData)
{
	uint8_t i;
	
	for(i=0; i<8; i++)
	{
		TA6932_CLK(1);
		if(_ucData & 0x01)
		{
			TA6932_DIN(1);
		}
		else
		{
			TA6932_DIN(0);
		}
		TA6932_CLK(0);
		_ucData >>= 1;
	}
	TA6932_CLK(1);
}

/********************************************************************************************
* 说明:TA6932初始化
*********************************************************************************************/
void TA6932_Init(void)
{
	TA6932_CLK(1);
	TA6932_STB(1);
	TA6932_DIN(1);
	HAL_Delay(10);
	
	TA6932_STB(0);
	TA6932_WriteByte(0x40);/*地址自增模式*/
	TA6932_STB(1);
	
	TA6932_STB(0);
	TA6932_WriteByte(0x8f);/*亮度最大*/
	TA6932_STB(1);
	
}

/********************************************************************************************
* 说明:TA6932亮度设置
* 输入:_eLev
*********************************************************************************************/
void TA6932_LightLevel(lightLevType_E _eLev)
{
	TA6932_STB(0);
	TA6932_WriteByte(_eLev);/*亮度设置*/
	TA6932_STB(1);	
}

/********************************************************************************************
* 说明:TA6932显示一串字符,从地址00开始
*********************************************************************************************/
void TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth)
{
	uint8_t i;
	TA6932_STB(0);
	TA6932_WriteByte(0x40);/*地址自增模式*/
	TA6932_STB(1);
	
	TA6932_STB(0);
	TA6932_WriteByte(0xc0);/*设置起始地址为0x00*/
	for(i=0; i<_ucLenth; i++)
	{
		TA6932_WriteByte(SEG_CODE[*_ucPtr]);/*显示段码*/
		_ucPtr++;
	}
	TA6932_STB(1);
}


5、使用注意

1、使用TA6932_Init进行初始化
2、使用TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth)进行显示,_upPtr指针指向段码,_ucLenth为显示长度,不超过16位。

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

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

相关文章

【AI视野·今日CV 计算机视觉论文速览 第264期】Tue, 10 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Tue, 10 Oct 2023 (showing first 100 of 188 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers FLATTEN: optical FLow-guided ATTENtion for consistent text-to-video editing Au…

盲盒商城源码 盲盒开箱源码 潮物盲盒商城源码 仿CSGO盲盒开箱源码

百度seo的要求对于网页内容的伪原创是相对严格的,需要进行一定的修改使其符合百度seo的标准 根据您的要求,我们将对后面的这段话进行伪原创修改,只修改文字符号,不对字数进行调整: 盲盒商城源码、盲盒开箱源码、潮物盲盒商城源码、仿CSGO盲盒开箱源码 带有Vue源代码,前端…

睿趣科技:抖音开网店怎么开通

在当前的数字时代&#xff0c;电子商务已经成为一种主流的商业模式。抖音作为中国最大的短视频平台&#xff0c;也提供了这种能力&#xff0c;让商家能够在平台上开设自己的网店。那么&#xff0c;如何在抖音上开通网店呢?下面是详细的步骤&#xff1a; 注册抖音账号 首先&…

BCYD-A10-33-L85、BCYD-A16-21-S150电比例先导阀放大器

BCYD-A16-31-L150、BCYD-A10-33-L85、BCYD-A16-21-S150、BCYD-A25-23-L320是先导式电液比例换向阀&#xff0c;导阀和主阀都没有阀芯位置反馈&#xff0c;通过比例电磁铁驱动作为功率级的先导阀芯工作。此类阀工作时是通过电子放大器提供功率级的先导阀比例电磁铁的驱动电流&am…

项目1-基于STM32制作T12洛铁(更新中)

视频补充处&#xff08;待补充。。。。&#xff09; 一、简介 当使用STM32来制作T12型号的烙铁&#xff0c;并集成OLED-0.96寸显示器时&#xff0c;你将进入一个令人兴奋的嵌入式系统开发领域。这个项目将涉及硬件和软件的复杂工作&#xff0c;以实现一个功能强大的烙铁控制器…

交流回馈老化测试负载的应用

交流回馈老化测试负载的应用非常重要&#xff0c;老化测试是一种对产品进行长时间运行和负载测试的方法&#xff0c;旨在模拟产品在实际使用中的长期稳定性和可靠性。在老化测试过程中&#xff0c;负载是指对产品施加的工作负荷&#xff0c;可以是CPU、内存、硬盘等资源的使用情…

vue3学习(四)--- watch和watchEffect监听

文章目录 watchsource侦听源不同类型侦听ref侦听reactive侦听没有响应式的数据侦听多个源 watchEffect清除副作用清除侦听flush用法 watch watch() 默认是懒侦听的初始化不触发&#xff0c;只有在侦听源发生变化时才执行回调函数。 watch的结构&#xff1a; source 侦听源call…

pandas-进阶

apply、transform 分组聚合agg

电商API接口:数据分析,代购商城建站,erp系统商品数据选品,价格监控,品牌维权,商家搬货,店铺铺货

淘宝&#xff08;1688拼多多京东等&#xff09;商品详情API接口&#xff08;item_get-获得taobao商品详情接口&#xff09;&#xff0c;淘宝API接口可获取到商品链接&#xff0c;商品ID&#xff0c;商品标题&#xff0c;商品价格&#xff0c;品牌名称&#xff0c;店铺昵称&…

基于图像识别的迁移学习之一

案例分析 加载数据部分同上一个案例&#xff0c;只需把数据输入到预训练的VGG-16或者ResNet50中。VGG-16的网络结构为右侧图绿色栏所示&#xff0c;其中block1中有2个包含64个卷积核的卷积层&#xff0c;block2包含2个128个卷积核的卷积层&#xff0c;block3有3个包含256个卷积…

SSH Tunneling隧道 - 探究与实践

1.应用场景 主要用于探究与实践SSH Tunneling隧道技术, 在日常开发中能到得心应手,提高工作效率. 2.学习/操作 1.文档阅读 chatgpt & 其他资料 Results for SSH tunneling [medium.com] The power of SSH tunneling. How it can make your developer life easier Connect…

华为、小鹏大定爆单,智驾苦尽甘来,车主终于愿意买单

‍作者|德新 编辑|王博 国庆假期结束&#xff0c;车圈的最大热点事件&#xff0c;当属问界M7卖爆&#xff0c;上市不到一个月时间内&#xff0c;狂揽5万张大定订单。 在华为手机强势回归&#xff0c;改款问界M7大热的高光之下&#xff0c;还有一个重要趋势值得关注&#xff1…

Java程序员要掌握vue2知识

1. Vue 基础 1) 环境准备 安装脚手架 npm install -g vue/cli-g 参数表示全局安装&#xff0c;这样在任意目录都可以使用 vue 脚本创建项目 创建项目 vue ui使用图形向导来创建 vue 项目&#xff0c;如下图&#xff0c;输入项目名 选择手动配置项目 添加 vue router 和 …

计算机网络面试知识点

计算机网络面试知识点 OSI七层模型 为什么网络分层 各层之间相互独立&#xff1b;任务细分&#xff0c;大事化小&#xff1b;提高整体灵活性&#xff1b; TCP/IP TCP面向连接&#xff0c;确认应答机制和超时重传机制&#xff1b;滑动窗口、TCP流量控制、拥塞控制机制实现流…

软件测试工具有什么作用?有哪些好用的测试工具推荐?

软件测试工具是现代软件测试中不可或缺的重要组成部分&#xff0c;指的是一系列在软件开发过程中使用的工具&#xff0c;用于帮助测试人员进行测试活动&#xff0c;提高测试效率&#xff0c;减少测试成本。选择并使用合适的软件测试工具&#xff0c;可提高软件质量和效率。 一…

QT作业三

1、思维导图 https://www.zhixi.com/view/9e899ee0 2、作业 #include <iostream>using namespace std;class Per { private:string name;int age;int *h;int *w; public://构造函数Per(string name,int age,int h,int w):name(name),age(age),h(new int (h)),w(new int…

UI自动化怎么做?不会代码能不能做

UI自动化测试是一种通过编写脚本或使用自动化测试工具对用户界面&#xff08;UI&#xff09;进行自动化测试的方法。它可以模拟用户与应用程序或网站的交互&#xff0c;自动化执行用户界面上的操作&#xff0c;如点击按钮、输入文本、选择选项等&#xff0c;并检查应用程序或网…

Node18.x进阶使用总结(四)

Node18.x进阶使用总结之MongoDB7.x 1、接口1.1、接口的组成1.2、RESTful API1.3、json-server1.4、接口测试工具1.4.1、apipost1.4.2、apifox1.4.3、postman 2、会话2.1、cookie2.1.1、特点2.1.2、cookie的运行流程2.1.3、cookie的代码操作 2.2、session2.2.1、session的运行流…

电容笔什么牌子好?比较好用的ipad手写笔推荐

哪一种电容笔适合学生党&#xff1f;作为一名数字爱好者&#xff0c;我对电容笔还是有所了解的。其实苹果的电容笔&#xff0c;与一般的电容笔最大的不同之处&#xff0c;就是在于压感方面上。因为苹果的电容笔具有独一无二的“重力压感”&#xff0c;所以我们可以在绘图时使用…

Allegro单独更改覆铜焊盘的连接方式

用Allegro进行PCB设计过程中,对于通孔焊盘,为了后续好维修,考虑到散热因素,默认使用的都是花焊盘的连接方式。 但是个别为了过大电流的通孔焊盘,为了增加载流,需要单独设置为全连接的方式。具体设置的方法如下: (1)点击菜单Shape 选择Select Shape or Void/Cavity(选…