TM7705、TM7707使用

news/2024/11/15 5:15:15/

TM7705、TM7707的硬件电路

      TM7705和TM7707的是PIN对PIN(管脚)兼容的,因此在硬件电路上完全兼容。
      外围电路中,TM7705和TM7707内部没有振荡器和基准电压,需要外接晶振电路和基准电路,一般接1M或者2.4576M晶振;基准电压范围为GND~VDD,一般推荐1/2的VDD, 基准电压是模拟信号的参考电压,所以基准电压要保持稳定,不波动。输入电压与放大倍数有关,输入电压范围:0 ~ (基准电压/增益倍数)。

 

 

图1 硬件电路图

 

 

 通讯时序 

     通讯上TM7705和TM7707基本相同,只是具体的指令TM7707与TM7705不同,时序上TM7707和TM7705相同,都是五线通讯但是可以通过改变程序和硬件电路连接到SPI总线上进行通讯。

void write_byte_TM7705(uchar dat1)	//将数据dat1写入TM7705
{uchar i;SCLK_TM7705=1;for(i=0;i<8;i++){SCLK_TM7705=0;delay_us();if(dat1&0x80) DIN_TM7705=1;	   //先写高位else        DIN_TM7705=0;delay_us();SCLK_TM7705=1;delay_us();dat1<<=1;}SCLK_TM7705=1;DIN_TM7705=1;
}unsigned char read_byte_TM7705()   //从TM7705寄存器读数据
{uchar i,dat2=0;SCLK_TM7705=1;for(i=0;i<8;i++){SCLK_TM7705=0;delay_us();dat2=(dat2<<1)|DOUT_TM7705;	  // 高位先读delay_us();SCLK_TM7705=1;delay_us();}SCLK_TM7705=1;return dat2;
}

       在写程序时SCLK管脚的高、低电平的延时都要大于2US,程序流程大致上电40个时钟用于软件复位,然后发寄存器配置指令,在自校准后需要200MS的延时后才能接收到有效的输出数据,且每次通道切换都要进行自校准(即每次切换都要等待200MS)。

void TM7705_init()
{uchar i;SCLK_TM7705=1;DIN_TM7705=1;DOUT_TM7705=1;DRDY_TM7705=1;for(i=0;i<40;i++){SCLK_TM7705=0;delay_us();SCLK_TM7705=1;delay_us();}delay_us();delay_us();}
void main()
{unsigned char n,temp1,temp2;UART_init();TM7705_init();delay_nms(50);write_byte_TM7705(0x20);  	//通道1和2共用(0 0 1 0 0 0 0 0),写通讯寄存器下一步写时钟寄存器write_byte_TM7705(0x04);  	//50HZ(0 0 0 0 0 1 0 0)	 若晶振为2.4576MHZ需设置CLKDIV=0,CLK=1//write_byte_TM7705(0x08);  	//20HZ(0 0 0 0 1 0 0 0)	 若晶振为2MHZ需设置CLKDIV=1,CLK=0while(1){write_byte_TM7705(0x10); 	//通道1(0 0 0 1 0 0 0 0),写通讯寄存器下一步写设置寄存器//write_byte_TM7705(0x44);	//写入设置寄存器(0 1 0 0 0 1 0 0),自校准模式0 1,1倍增益0 0 0,单极性B/U=1,buf串联设置为0,FSYNC=0;//write_byte_TM7705(0x40);	   //写入设置寄存器(0 1 0 0 0 0 0 0),自校准模式0 1,1倍增益0 0 0,双极性B/U=0,buf串联设置为0,FSYNC=0;write_byte_TM7705(0x58);	   //写入设置寄存器(0 1 0 0 0 0 0 0),自校准模式0 1,16倍增益0 0 0,双极性B/U=0,buf串联设置为0,FSYNC=0;delay_nms(200);for(n=0;n<6;n++){write_byte_TM7705(0x38);	//读通道1while(DRDY_TM7705==1);delay_nms(1);temp1=read_byte_TM7705();  //先读高8位temp2=read_byte_TM7705();  //再读低8位delay_nms(10);}write_byte_TM7705(0x11); 	//通道2(0 0 0 1 0 0 0 1),写通讯寄存器下一步写设置寄存器//Write_byte_TM7705(0x44);	//写入设置寄存器(0 1 0 0 0 1 0 0)自校准模式0 1,1倍增益0 0 0,单极性B/U=1,buf串联设置为0,FSYNC=0;write_byte_TM7705(0x40);	   //写入设置寄存器(0 1 0 0 0 0 0 0),自校准模式0 1,1倍增益0 0 0,双极性B/U=0,buf串联设置为0,FSYNC=0;delay_nms(200);for(n=0;n<6;n++){write_byte_TM7705(0x39);	//读通道2while(DRDY_TM7705==1);delay_nms(1);temp1=read_byte_TM7705();	//先读高8位temp2=read_byte_TM7705();	//再读低8位delay_nms(10);}}
}

输出的电压转换

    TM7705、TM7707输出的都是16进制的数据,需要转换后才能得到有效的电压值

单极性公式

 

 

双极性公式

http://www.ppmy.cn/news/166149.html

相关文章

Nginx的讲解

Nginx的讲解 关于Nginx编译安装Nginx服务1.关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下2.安装依赖包3.创建运用用户、组4.编译安装Nginx5、检查、启动、重启、停止 nginx服务6.添加 Nginx系统服务 Nginx服务的主配置文件 nginx.conf1.全局配置2.I/O 事件配置3.…

国产AIGC大模型汇总

“ 随着ChatGPT和GPT-4的出现&#xff0c;直接引爆了全球的AIGC大模型市场&#xff01;为了赶上这一波热潮&#xff0c;国内的大厂和创业公司也纷纷内卷起来&#xff0c;相继发布了自己的大模型。但是到目前为止&#xff0c;没有一个大模型能与ChatGPT相提并论&#xff0c;更比…

Mac 必备清理神器 CleanMyMac X4.13,新功能你了解多少?

macOS平台的知名系统清理应用 CleanMyMac X4.13.4 对比之前的老版本CleanMyMac X 不管是在外观还是功能上 新版本的系统清理工具CleanMyMac X都焕然一新 除了UI 设计焕然一新&#xff0c;采用了完全不同的风格&#xff0c; 功能方面&#xff0c;CleanMyMac X 在保留了之前…

【算法系列之二叉树III】leetcode236. 二叉树的最近公共祖先

617.合并二叉树 力扣题目链接 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新二叉树。合并的规则是&…

基于状态的系统和有限状态机FSM

基于状态的系统和有限状态机FSM 介绍 基于模型进行测试。模型可能是规格或描述感兴趣的属性。 该模型通常是一个抽象概念&#xff0c;应该相对容易理解。 测试补充了白盒方法。 测试通常是黑盒&#xff1a;不考虑实际系统的结构。 如果模型具有形式语义&#xff0c;则可实现的…

联想V310重装win10系统(待完善)

1、制作U盘 2、安装系统 3、使用设置 3-1显示我的电脑 3-2磁盘分区 3-3程序下载 chrome、QQ、网易云音乐、百度网盘、WPS

联想笔记本v110_联想V110系列笔记本如何设置u盘启动教程

联想V110系列笔记本如何设置u盘启动?联想V110系列笔记本是一款多数用户都赞叹的性价比超高的商务办公本本&#xff0c;但是小伙伴想要重装系统时却发现不懂设置u盘启动&#xff0c;今天快启动小编带大家详细了解下联想V110系列笔记本设置u盘启动教程。 注意事项&#xff1a; 联…

联想拯救者R9000p 双系统亮度调节解决方案

联想拯救者R9000p 双系统亮度调节解决方案 问题描述&#xff1a;在联想拯救者R9000p安装双系统时ubuntu系统的亮度无法调节&#xff0c;一直保持在最大亮度 解决方案&#xff1a;更新显卡驱动并修改配置信息 Ubuntu版本&#xff1a;20.04.5 LTS ubuntu-drivers devices # 查…