K_A35_002 基于STM32等单片机采集TTP223按键模块状态 串口与OLED0.96双显示

news2024/10/7 8:28:53

K_A35_002 基于STM32等单片机采集TTP223按键模块状态 串口与OLED0.96双显示

  • 所有资源导航
  • 一、资源说明
  • 二、基本参数
    • 参数
    • 引脚说明
  • 三、驱动说明
    • 模块工作原理:
    • 对应程序:
  • 四、部分代码说明
    • 1、接线引脚定义
      • 1.1、STC89C52RC+TTP223按键模块
      • 1.2、STM32F103C8T6+TTP223按键模块
  • 五、基础知识学习与相关资料下载
  • 六、视频效果展示与程序资料获取
  • 七、注意事项
  • 八、接线说明
    • STC89C52RC
    • STM32F103C8T6

请添加图片描述
注:按键模式可自行焊接焊点配置

在这里插入图片描述

所有资源导航

其他资料目录 直戳跳转

一、资源说明

单片机型号测试条件模块名称代码功能
STC89C52RC晶振11.0592MTTP223按键模块STC89C52RC驱动TTP223按键模块 串口与OLED0.96双显示
STM32F103C8T6晶振8M/系统时钟72MTTP223按键模块STM32F103C8T6驱动TTP223按键模块 串口与OLED0.96双显示

二、基本参数

参数

模块尺寸:15mmX11MM
供电:2.5v-5.5v

引脚说明

TTP223按键模块引脚说明
VCC(+)正极 3.3/5V供电
GND(-)负极 接GND
I/O数字量输出(默认低电平输出 按下输出高电平)

三、驱动说明

模块工作原理:

默认低电平 按下输出高电平

对应程序:

以51为例

uint8_t TTP223_Read(void)
{
	if(R_TTP223)
	{
		Flag_P=1;
	}
	else
	{
		Flag_P=0;		
	}
	return Flag_P;
}
void main()//主函数模块// 
{ 
	uint8_t i;
  OLED_Init(); //OLED初始化
	UartInit();
	for(i=0;i<5;i++)
	{
		OLED_ShowCN(16*i,0,i);
	}
  while(1) 
  { 
		
			UartSendStr(TTP223_Buf1);
			
			if(TTP223_Read())
			{
				
					UartSendStr(TTP223_Buf2);

					for(i=0;i<2;i++)
					{
							OLED_ShowCN(0+16*i,3,i+5);
					}
			}
			else
			{
//					OLED_Fill(0x00);
					UartSendStr(TTP223_Buf3);
					//OLED_ShowCN(0,3,9);
					for(i=0;i<2;i++)
					{
							OLED_ShowCN(0+16*i,3,i+7);
					}
			}

			
		//  DelayMs(500);
  } 
} 

四、部分代码说明

1、接线引脚定义

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

1.1、STC89C52RC+TTP223按键模块

//TTP223按键模块引脚定义
sbit R_TTP223 = P1^0;
//OLED0.96模块引脚定义
sbit SCL=P1^2; //串行时钟
sbit SDA=P1^3; //串行数据

1.2、STM32F103C8T6+TTP223按键模块

//TTP223按键模块引脚定义 GPIOB_5  
#define R_HC_SR50  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)
//OLED0.96模块引脚定义					
//-----------------OLED IIC端口定义----------------  					   

/*STM32F103C8T6芯片的硬件I2C: PB6 -- SCL; PB7 -- SDA */
GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;//I2C必须开漏输出
GPIO_Init(GPIOB, &GPIO_InitStructure);

五、基础知识学习与相关资料下载

1、STC89C52RC程序下载 直戳跳转

2、STM32F103C8T6程序下载
(1)串口下载 直戳跳转
(2)ST-LINK下载 直戳跳转
(3)J-LINK下载 直戳跳转
(4)DAP-LINK下载 直戳跳转

3、OLED0.96程序说明 直戳跳转

4、串口助手下载与使用
(1)安信可调试助手使用 直戳跳转
(2) sscom33串口调试助手使用 直戳跳转
(3)STC-ISP串口调试助手使用 直戳跳转

六、视频效果展示与程序资料获取

视频连接 直戳跳转
资料获取 ( 滑到最后添加个人号)

七、注意事项

1、VCC GND请勿接反,接反易烧
2、OLED显示异常时,排除接线接触不良

八、接线说明

STC89C52RC

/************************************************************************************

//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : TTP223按键模块测试程序
//  测试条件   : STC89C52RC   晶振11.0592
接线
TTP223按键模块------------------------------------STC89C52RC
VCC-----------------------------------------------5V
GND-----------------------------------------------GND
OUT-----------------------------------------------P1.0


OLED0.96(IIC) ------------------------------------STC89C52RC
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
SCL-----------------------------------------------P1^2
SDA-----------------------------------------------P1^3
*************************************************************************************/

STM32F103C8T6

/************************************************************************************
//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : TTP223按键模块测试程序
//  测试条件   : STM32F103C8T6   晶振8M  系统时钟 72M
接线
TTP223按键模块--------------------------STM32F103C8T6
VCC-------------------------------------5V
GND-------------------------------------GND
OUT-------------------------------------PB_5 

OLED0.96
VCC-- -----------------------------------3.3V
GND- ------------------------------------GND
SCL- ------------------------------------PB_6 //SCL
SDA- ------------------------------------PB_7 //SDA
*************************************************************************************/

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

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

相关文章

两个数组的交集

给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 思路&#xff1a; 由于这道题目&#xff0c;输出结果中的每个元素一定是唯一的&#xff0c;也就是说输出的结果的去重的&#xff0c; 同时可…

栈及其应用

栈 在使用一个东西之前&#xff0c;得清楚它是什么&#xff0c;才能知道它的用途以及该如何使用。 栈的简介 栈&#xff08;stack&#xff09;又名堆栈&#xff0c;它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶(top)&#xff0c;相…

Direct3D 12——计算着色器——线程标识的系统值

1.系统会为每个线程组都分配一个ID,这个ID称为线程组ID ( group ID),其系统值的语义为 SV_GroupID。如果Gx x Gy x Gz&#xff1a;为所分派线程组的个数&#xff0c;则组ID的范围为(0, 0, 0)至(Gx-1,Gy-1,Gz-1)。 2.在线程组中&#xff0c;每个线程都被指定了一个组内的唯一 I…

企企通受邀出席嘉兴产业数字化峰会,助力嘉兴“智”造业发展

近日&#xff0c;2023年嘉兴产业数字化峰会在浙江嘉兴圆满举办&#xff0c;企企通作为采购供应链厂商受邀出席&#xff0c;并与众多信息化领域的专家一起分享心得、总结得失、展望未来&#xff0c;为嘉兴市企业的产业数字化发展探索合适的路径与方向。 01、数字蓄能&#xff0c…

【 Linux命令行与Shell脚本编程】第四章 进程管理 ,磁盘统计信息,挂载新磁盘,数据排序,数据归档

Linux命令行与Shell脚本编程 第四章 更多命令 进程管理 磁盘统计信息 挂载新磁盘 数据排序 数据归档 文章目录 Linux命令行与Shell脚本编程四,更多命令4.1,监测程序4.1.1,ps 探查进程4.1.2,top 实时监测进程4.1.3,kill pkill 结束进程1,kill 命令2,pkill 命令 4.2,检测磁盘空间…

Django+模板引擎+Bootstrap +sqlite3 个人博客管理系统

目录 1.准备工作1.1 参考博客1.2 项目环境与结构预览1.3 项目功能点与预览效果 1.准备工作 1.1 参考博客 1、【python】怎么导出python虚拟环境库以及导入 2、Django之分页功能 主要参考了这篇博客。 1.2 项目环境与结构预览 创建虚拟环境&#xff0c;基于Django版本1.11.2…

25-Maven

目录 1.什么是Maven&#xff1f; PS&#xff1a;关于 jar 包 2.配置并使用Maven 2.1.Maven依赖管理流程 2.2.Maven国内源配置 ①确认右边的两个勾已经都选中。 ②查看自己电脑上settings.xml文件是否存在&#xff0c;进而进行相关配置 ③配置所有新项目配置文件 PS&am…

剑指offer练习日志02:基于矩阵乘法求斐波那契数列通项

目录 一.矩阵乘法与斐波那契数列 1.利用数列的项构造二阶方阵 2.引入矩阵乘法 二.算法实现 1.MatrixFib对象成员变量 2.MatrixFib对象的构造函数 3. MatrixFib对象的成员算法接口 4.对象测试 一.矩阵乘法与斐波那契数列 1.利用数列的项构造二阶方阵 &#x1f604;现定…

【项目实战-CRM】(二:物理模型设计 搭建CRM项目环境)

文章目录 1.物理模型设计2.搭建开发环境2.1 创建crm项目2.2 创建模块2.3 添加jar包2.4 相关配置2.4.1 MyBatis 配置2.4.2 配置数据连接和事务2.4.3 SpringMVC配置文件2.4.4 Spring总配置文件2.4.5 web.xml2.4.6 设置maven对配置文件的编译选项 2.5 添加静态页面资源2.6 将项目部…

在VMmare上安装Windows 2003

今天和大家介绍一下如何使用VMmare安装一个Windows 2003 Enterprise Edition操作系统 首先小陈先下载了一个VMmare 10虚拟软件&#xff0c;将其安装在自己的电脑上。 一、新建虚拟机 然后打开VMmare软件&#xff0c;在窗口的菜单栏里点击“文件”-->“新建虚拟机” 这边让…

c++验证用户输入合法性的示例代码

c验证用户输入合法性的示例代码 本文介绍c验证用户输入合法性&#xff0c;用于检测限定用户输入值。包括&#xff1a;1、限定用户输入为整数&#xff08;正负整数&#xff09;&#xff1b;2、限定用户输入为正整数&#xff1b;3、限定用户输入为正数&#xff08;可以含有小数&…

AI算力碎片化:矩阵乘法的启示

尽管AI的发展取得了巨大进步&#xff0c;但编译器LLVM之父Chris Lattner认为&#xff0c;AI技术应用并不深入&#xff0c;远远没有发挥出已有机器学习研究的所有潜力。而AI系统和工具的单一化和碎片化正是造成这一问题的根源。 为了让AI发挥其真正的潜力&#xff0c;计算碎片化…

Oracle中实现恢复删除的表或表数据内容

一、需求说明 在我们进行项目开发或运维过程中,由于操作不当,引起的误删Oracle数据库表或指定表的数据内容,导致程序出现故障;而我们又没有对数据库进行备份,此时,如果不能及时恢复数据库内容将会导致严重的事故。我们需要一种能够补救的方法来挽回损失,恢复被误删的表或…

WEB攻防-弱口令暴力破解(包含工具、字典下载地址)

目录 一、弱口令概述 二、Web类-加密&验证码后台猜解 三、服务类-SSH&RDP远程终端猜解 四、应用类-ZIP&Word文件压缩包猜解 一、弱口令概述 弱口令(weak password) 没有严格和准确的定义&#xff0c;通常认为容易被别人&#xff08;他们有可能 对你很了解&#…

025:Mapbox GL加载栅格高程模型raster-dem文件

第025个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载image图像文件。栅格 DEM 源。 仅支持 Mapbox Terrain-DEM,您可以将 Terrain-DEM 用于各种视觉和分析应用程序,从样式化地形坡度和山体阴影到为视频游戏生成 3D 地形网格。 直接复制下面的 vue+mapbo…

记录一个dpdk 19.11 hello world 跑不起来问题(编译和权限)

下载dpdk 源码后: git clone gitgithub.com:DPDK/dpdk.git 切到 19.11 git checkout v19.11 用usertool下的dpdk_setup.sh 选择 [38] x86_64-native-linuxapp-gcc 进行编译: 结果者是build 不过: Build kernel/linux/igb_uio Build kernel/linux/kni CC [M] /home/t…

Linux查看GPU信息和使用情况

1.Linux查看显卡信息 lspci | grep -i vga 2.使用nvidia GPU lspci | grep -i nvidia 个人感觉看不出什么信息&#xff0c;除了显存大小&#xff0c;另外就是可以通过加入前面的显卡编号&#xff0c;显示更加详细的信息。 lspci -v -s 00:0f.0 3.Linux查看Nvidia显卡信息及使…

软件测试之学习测试用例的设计(等价类法、边界值法、错误猜测法、场景法、因果图法、正交法)

文章目录 1. 测试用例的概念2. 为什么在测试前要设计测试用例3. 基于需求进行测试用例的设计1&#xff09;功能性需求测试2&#xff09;非功能性需求测试 4. 具体的测试用例设计方法1&#xff09;等价类2&#xff09;边界值3&#xff09;错误猜测法4&#xff09;场景法5&#x…

Python入门教程+项目实战-11.1节: 元组的基础概念

目录 11.1.1 理解元组类型 11.1.2 元组的类型名 11.1.3 元组的定义 11.1.4 元组的解包 11.1.5 遍历可迭代对象 11.1.6 本节知识要点 11.1.7 系统学习python 11.1.1 理解元组类型 元组与列表有着相同的数据结构&#xff0c;区别在于&#xff0c;元组是静态的数据类型&am…

本地如何搭建一个Stable Diffusion 的AI绘画工具?

实现AI绘画自由指南 前期准备安装1.安装 Homebrew 工具2. 安装Python33.下载 Stable Diffusion -webui4.下载大模型5. 安装 GFPGAN&#xff08;神坑&#xff09;5. 允许 stable diffusion-webui 如何使用效果图 最近看到网上各种AI工具很是火爆&#xff0c;心里也是有点痒痒&am…