体脂秤Flash MCU:HT45F75 入坑手册

一、认识HT45F75

  • 一句话简介

HT45F75是Holtek专为人体脂肪秤应用而设计的。

  • 详细描述

该单片机集成了体脂秤电路,是一款A/D 型具有8 位高性能精简指令集的Flash 单片机,内置的多通道20-bit Delta-Sigma 型A/D(ΔΣA/D)转换器专门为需要 具有低噪声高准确度A/D 转换的产品而设计。该单片机具有一系列功能和特性,其Flash 存储器可多次编程的特性给用户提供了极大的方便。存储器方面,还包含了一个RAM 数据存储器和一个可用于存储序号、校准数据等非易失性数据的True EEPROM 存储器

在模拟特性方面,该单片机包含一个多通道20-bit ΔΣA/D 转换器和一个可编程增益放大器PGA。还带有多个使用灵活的定时器模块,可提供定时功能、脉冲产生功能及PWM 产生功能。另外,内部LDO功能为内部和外部设备提供了各种电源选项。内部看门狗定时器低电压复位低电压检测等内部保护特性, 外加优秀的抗干扰和ESD 保护性能,确保单片机在恶劣的电磁干扰环境下可靠地运行。

该单片机提供了多种内部和外部振荡器功能选项,且内建完整的系统振荡器,无需外接元件。其在不同工作模式之间动态切换的能力,为用户提供了一个优化单片机操作和减少功耗的手段。

  • 测量技术和测量电路

测量人体脂肪使用的技术是,测量流经人体的交流电流,然后将其用于计算人体脂肪值。

重量测量电路使用一个外部称重传感器输出信号,该信号在通过OPA放大后,再通过ADC进行转换,然后读取相应的值计算体重。

脂肪测量电路使用交流信号通过电极片流过人体。在通过内部OPA进行放大后,再通过ADC进行转换之后,测量值就是一个代表人体阻抗的值,用于计算相应的人体脂肪值。

  • 功能描述

CPU功能

  • 工作电压
    f SYS = 8MHz:2.2V〜5.5V
    f SYS = 12MHz:2.7V〜5.5V
    f SYS = 20MHz:4.5V〜5.5V
  • 在V DD = 5V时,使用20MHz系统时钟时,指令周期高达0.2μs
  • 提供暂停和唤醒功能,以降低功耗。
  • 4 种振荡模式:
    - 外部高频晶振 – HXT
    - 外部32.768kHz晶振 – LXT
    - 内部高频RC – HIRC
    - 内部32kHz RC – LIRC
  • 多种工作模式:正常、低速、空闲和休眠
  • 内建4.8MHz,4.8×2MHz和4.8×3MHz振荡器,无需外部元件
  • 所有指令都可在1~3个指令周期内完成
  • 查表指令
  • 115 条功能强大的指令系统
  • 8级子程序嵌套(8 层堆栈)
  • 位操作指令

外围功能

  • Flash程序存储器:4K×16
  • RAM数据存储器:256x8
  • True EEPROM存储器:64×8
  • IAP 功能
  • 看门狗定时器功能
  • 27 个双向I/O 口
  • 2 个引脚与外部中断口共用
  • 多个定时器模块,用于时间测量,捕捉输入,比较匹配输出,PWM输出或单脉冲输出功能
  • 双时基功能,可提供固定时间的中断信号
  • 2 组差分通道20 位分辨精度的Delta-Sigma型A/D转换器
  • 低压复位功能
  • 低压检测功能
  • 内建一组带旁路功能的LDO,可提供电源给PGA、A/D 转换器或外部传感器
  • 串行接口模块 – SIM,用于SPI 或 I2C 通信
  • 带IR载波的UART 模块
  • 内置体脂电路
  • Flash程序存储器烧录可达100,000 次
  • Flash程序存储器数据保留> 10年
  • True EEPROM数据存储器烧录可达1,000,000 次
  • True  EEPROM数据存储器数据保留> 10年
  • 封装类型:48-pin LQFP

上述资料详情均来自Holtek官方网站---->HT45F75产品介绍


二、开发入门

(一)硬件环境搭建

1、开发工具准备

  • HT45F75开发板

注意:若是需要能够在线调试功能的话,需要换成HT45V75芯片。

Holetk的可在线调试的芯片基本都是V系列的(内置在线调试电路),F系列的适合用于量产。

  • e-Link 在线侦错调试器

每台e-Link初次使用之前需要经过启用程序才能开始使用

也支持ICP刻录功能(在线调试:eLink + HT45V75)。不支持脱机烧录,仅适用于工程验证,不适用于量产。

  • e-WritePro 通用型可离线OTP/Flash MCU烧录器 

对于HT45F75适合用什么工具开发,官网上也给出了说明,不同的MCU使用的开发工具和环境可能不同。

请参考MCU工具索引

2、自制HT45F75开发板

自己准备HT45F75开发板,首先第一步要做的就是在官网上找相关资料,从绘制原理图开始。

查找HT45F75相关资料可以直接在Holtek官网上搜索--->HT45F75搜索结果

我找到的HT45FV75典型应用外围电路图如下,可按照此电路图来制作自己的HT45F75开发板。


(二)软件环境搭建

1、软件工具准备

  • e-Link (仿真器)搭配HT-IDE3000软件(提供客户直接在应用板上侦错的MCU开发工具)。下载链接
  • e-WritePro (烧录器)搭配HOPE3000 /HOPE3000 For HT8051软件。下载链接

2、仿真器的使用与开发环境的搭建

因为我采用的是 e-link+HT45V75 (可在线调试)的模式。

所以我主要介绍我在初次使用e-LinkHT-IDE3000中的相关做法。

在初次使用e-Link 工具HT-IDE3000 软件中我参考的文件如下,可按照我提供的文件顺序搭建环境。

  • e-Link注册步骤说明
  • e-Link使用问题及解决办法
  • e-Link for 8-Bit MCU ICP使用手册
  • Holtek Flash MCU快速入门手册
  • HT-IDE3000使用手册
  • Holtek e-Link for 8-bit MCU OCDS User’s Guide

可在 MCU工具说明文件查找更多说明文件。

注意:如果是买的新的e-Link,可以询问下卖家是否已经注册,如果已经注册可以不用再注册一次。

如果上述文档在官网上没有全部找到,可以在我的资源下载。

其中关于HT-IDE3000 软件的使用,在文档中HT-IDE3000使用手册 从安装到新建工程已经调试的方法图文描述的很清楚,直接参考文档中的操作即可,不同版本的HT-IDE3000可能有些微的不同。


(三)配置HT45F75串口

在自己写代码之前,我在官网上找到一个同类型芯片BH66F2650的工程下载链接)。

通过阅读其中的代码,了解到Holtek单片机的控制代码都是直接对寄存器进行操作,因为BH66F2650的寄存器配置和HF45F75的寄存器配置有所不同,所以并不能直接使用BH66F2650的样例工程对HT45F75进行开发。但是可以在编写的过程中进行相关的参考,以检查自己配置的完整性。

所以在实际进行编写代码的过程中,更多的是参考数据手册simHT45F75V110(下载链接文档中对相关寄存器的描写。

下面以常用的串口配置举例说明。

找到simHT45F75V110文档中对串口部分的说明

  带 IR 载波的 UART 模块串行接口

UART 模块特性

  •  全双工通用异步接收器 / 发送器
  • 8 位或 9 位传输格式
  • 奇校验、偶校验或无校验
  •  1 位或 2 位停止位
  • 8 位预分频的波特率发生器
  • 奇偶、帧、噪声和溢出检测
  • 支持地址匹配中断(最后一位 =1)
  • 独立的发送和接收使能
  • 2-byte FIFO 接收缓冲器
  •  发送和接收中断源:
  •  发送器为空
  • 发送器空闲
  •  接收完成
  • 接收器溢出
  •  地址匹配

 其中在串口初始化的过程中,我们需要配置的寄存器有UCR1寄存器和UCR2寄存器(用于配置串口的功能)以及BRG寄存器(用于配置串口波特率)。

在具体的寄存器解释说明中,每一位(Bit)的名字都是用英文大写描述的,我们在代码中则是直接下划线+对应的小写字母即可给该位进行赋值操作。参照寄存器说明文档,具体的HT45F75串口的初始化配置代码如下:

/********************************************************************
Function: Uart_Init 串口初始化
INPUT	:
OUTPUT	:
NOTE	:
********************************************************************/
void Uart_Init(void)
{
	//设置引脚为RX/TX
	_txen = 1;
	_rxen = 1;
	//UCR1 寄存器
	_uarten = 1;//使能串口
	_bno = 0;//8位数据位
	_pren = 0;//无奇偶校验 
	//_prt = 1;//奇校验
	_stops = 1;//一位停止位
	_txbrk = 0;//没有暂停字发送
	//UCR2寄存器
	_brgh = 0;//低速波特率
	_txen = 1;//串口发送使能
	_rxen = 1;//串口接收使能
	//BRG寄存器
	_brg = 0x1E;//设置波特率2400
}

注意:在直接配置寄存器的情况下写相关代码,一定要仔细阅读数据手册呀!!! 


Tip:

本篇博客主要记录我入坑HT45F75的过程,其中大部分资料文档均来自Holtek官方网站,只是按照我喜欢的顺序和方式整理编辑,仅供大家参考。如有不妥或错误之处烦请热心指出,我定及时改正。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微芯供氧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值