STM32 调试TM7711驱动原理图驱动代码

这篇具有很好参考价值的文章主要介绍了STM32 调试TM7711驱动原理图驱动代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文使用工程代码如下

(1条消息) STM32调试TM7711驱动原理图驱动源代码,参考如下博客,有原理图设计资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-795039.html

背景

项目选用TM7711,还是很令人吃惊的,主要是有如下几个理由

第一就是便宜

第二精度高

STM32的ADC精度不够,才12bit,TM7711的精度可以,可以提供单通道 24bit 高精度 ADC。

项目主要是使用TM7711测量热电偶的温度,温度范围要求比较大-99-999读,这里就对ADC的精度要求比较高。

本文不详细探讨热电偶的温度计算过程,只是将TM7711数据读取过程展现出来。热电偶的计算过程比较复杂,有时间需要静下心来好好写这方便的文章。

硬件设计

TM7711的基本资料

特性描述
TM7711 是应用于电子秤低频测量的单通道模拟前端。 该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。利用 Σ-Δ 转换技术实现了 24 位无丢失代码性能。通过选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。片内数字滤波器处理调制器的输出信号,通过通信口发命令可调节滤波器的截止点和输出更新速率,从而对数字滤波器的第一个陷波进行编程。
TM7711 只需 2.6~5.5V 单电源供电。TM7711 是全差分模拟输入,带有一个基准输入。
TM7711 是一款用于高精度电子秤系统的理想产品,由于采用特殊的结构确保器件具有极低功耗,
并且内建有掉电模式以减少待机功耗。该芯片还具有集成度高、响应速度快、抗干扰强等优点,可以大大降低电子秤系统的整机成本,提高整机系统的性能和可靠性。

功能特点
 1 对全差分输入通道的 ADC
 片内直接温度测量和数字输出
 24 位无丢失代码
 片内低噪声放大器,增益为 128
 ±0.001%非线性
 可选 10Hz 和 40Hz 的输出数据速率
 同步抑制 50Hz 和 60Hz 的电源干扰
 内置时钟振荡器无需任何外接器件
 简单的二线串行通信口
 工作电压范围:2.6 ~ 5.5V
 工作温度范围:-40 ~ +85℃
 封装形式:SOP8 /DIP8

典型应用

tm7711买来就有程序吗?,嵌入式系统,stm32,TM7711,热电偶,驱动,温度采集

 管脚电压

tm7711买来就有程序吗?,嵌入式系统,stm32,TM7711,热电偶,驱动,温度采集

串口通信时序

tm7711买来就有程序吗?,嵌入式系统,stm32,TM7711,热电偶,驱动,温度采集

这里只是针对使用到的信息,做一些切割,如果想看详细的数据手册,还是下载一份TM7711的datasheet

原理图设计如下

主要注意的就是TM7711是使用STM32的管脚PB6/PB7

因为STM32是3.3v,TM7711的设计使用了推荐电压5v,所以接口部分需要进行做电平转换。如下图所示

图1处为STM32的管脚PB6/PB7

图2处为TM7711的管脚

tm7711买来就有程序吗?,嵌入式系统,stm32,TM7711,热电偶,驱动,温度采集

 tm7711买来就有程序吗?,嵌入式系统,stm32,TM7711,热电偶,驱动,温度采集

 软件设计

原始数据读取驱动

根据上述原理图实现的驱动

这里说明一下,就是TM7711手册中也提供了一个函数,实际使用还是需要修改的

我这里的读取原始数据函数如下


int Read_TM7711(unsigned char next_select)
{
	unsigned char i = 0;
	unsigned int data_temp = 0;
	int ret;
	for(i = 0;i < 24;i++)
	{
		SET_SCK_H(); //
		data_temp <<= 1;
		delay_us(5); //延时5微妙
		//if(READ_PORT & (1 << PIN_DOUT)) //判断DOUT是否为高电平
		if(TM711_DO != 0)
			data_temp |= 1;
		SET_SCK_L();//
	}
	switch(next_select) //确定下一次数据更新率或者切换通道
	{
		case CH1_10HZ:
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
		break;
		case CH1_40HZ:
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
			delay_1us();
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
			delay_1us();
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
		break;
		case CH2_TEMP:
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
			delay_1us();
			SET_SCK_H();
			delay_1us();
			SET_SCK_L();
		break;
		default:
			break;
	}
	data_temp >>= 7;
	ret = data_temp;
	if(data_temp & 0x10000)//负数的补码,转化为源码
	{
		data_temp &= 0xffff;
		data_temp = ~data_temp;
		data_temp &= 0xffff;
		data_temp += 1;
		ret = - data_temp;
	}
	return(ret); //返回从TM7711中读取的数据
}

转化为温度的关系

这里主要是测试热电偶,转化温度的计算公式和硬件设计相关

void tm7711_test_main(void)
{
	float temperature;

	initTm7711GPIOPin();

	while(1)
	{
		temperature = Read_TM7711(CH1_10HZ) * 3.3 / 128 / 1024 / 1024 / 8;
		printf("the raw value is:%f\n",temperature);
		printf("\n");
		HAL_Delay(500);
	}
}

测试调用

主函数中,进行测试调试


/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
  delay_init();
  tm7711_test_main();
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

本文使用工程代码如下

(1条消息) STM32调试TM7711驱动原理图驱动源代码,参考如下博客,有原理图设计资源-CSDN文库

到了这里,关于STM32 调试TM7711驱动原理图驱动代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【洋桃一号板】STM32F103CBT6标准库函数驱动TM1640点亮数码管

    一、今天介绍如何使用STM32F103CBT6驱动TM1640点亮数码管,硬件用的洋桃开发板,点亮后效果如下,六个数码管依次显示0.1.2.3.4.5.6.7 硬件原理图如下,只用到了单片机的两个IO口即可实现上图的效果,该开发板上用的是PA11和PA12两个IO口,用来模拟IIC通信,其中PA11接SCLK,PA12接D

    2024年02月16日
    浏览(47)
  • ESP32C3 LuatOS TM1650①驱动测试

    合宙TM1650驱动资料 TM1650.lua源码 TM1650 ESP32C3 SCL GPIO5 SDA GPIO4

    2024年02月07日
    浏览(58)
  • TM32F103C8T6(晶振电路,复位电路,调试下载串口详解)

            STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。除了被我们熟知的STM32,ST公司还有SPC5X系列、STM8系列等,具体参数如下:         ARM公司在ARM11以后改用Cortex命名,并分成A、R和

    2023年04月08日
    浏览(53)
  • STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039

    STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 Proteus 仿真小实验: STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 功能: 硬件组成:STM32F103R6单片机 +TM1637驱动4位数码管+4x4矩阵键盘+蜂鸣器 1.有一个开启键,点击后蜂鸣器短响一声,开始抢答。此后4位数码管倒计

    2024年02月08日
    浏览(39)
  • TM1650数码管驱动芯片

    TM1650是一款国产4位共阴数码管驱动芯片,它还带有矩阵按键扫码功能。它的基本参数如下: 工作电压:3~5V 数码管驱动模式:8段x4位共阴数码管 矩阵按键驱动模式:7x4矩阵按键,不支持组合键 通信接口:类IIC,使用了IIC相同的时序,但没有完全遵守IIC的协议,不带从机地址

    2023年04月11日
    浏览(66)
  • TM1650数码管(类IIC驱动)

    目录 一、TM1650简介         1、特性描述         2、功能特点 二、IIC(Inter-Integrated Circuit BUS)结构解析         1、IIC协议介绍         2、多主机IIC总线结构          3、信号概念  三、TM1650数码管的工作 四、编写代码         TM1650 是一种带键盘扫描接口的 LED(发光

    2024年02月16日
    浏览(41)
  • TM1621/HT1621 段码LCD驱动器

    TM1621和HT1621是兼容的,下面统称TM1621。 TM1621是一个32x4的LCD 驱动器,也就是说它最多能驱动 128 段段码。 四线串行接口 一般我们不使用读数据的功能,所以用到的数据引脚只有/WR、/CS、DATA 先定义使用到的引脚 一些命令参数 下图是手册中的写数据时序图 从以上时序同中我们

    2024年02月11日
    浏览(37)
  • 51单片机使用TM1638驱动的数码管键盘模块

    前几天差不多把清翔的视频教程写完了,然后玩了两天,这次准备把以前买的TM1638芯片驱动的数码管按键模块用在51单片机上。 这个模块我在pdd上买的,用了2块的优惠券后付款7元包邮,价格还行吧,对比了下这个价格几乎就是最低价了。TM1638芯片都要1块多,再加上PCB,焊接

    2024年02月03日
    浏览(95)
  • 应广单片机FPS122 驱动TM1652 LED屏

    TM1652 是一款LED(发光二极管、数码管、点阵屏)驱动控制专用芯片,内部集成了数字通讯电路、 解码电路、数据锁存器、震荡器、LED驱动电路。通讯方式采用异步串口通信(UART)协议,因芯片只 接收单片机发来的数据,仅需要单片机的一个TX端口发送数据给芯片即可,实现

    2024年01月20日
    浏览(34)
  • Arduino UNO驱动TM1637四位时钟数码管显示时间

    TM1637 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。  显示模式(8 段×6 位),支持共阳数码管输出  键扫描(8×2bit),增强型抗干扰按键识别电路  辉度调节电路(占空比

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包