LQB焊接超声波部分原理图和焊接说明(勘误)

news2024/10/12 10:15:53

1、自制的板子的原理图,有一个错误的地方,导致超声波不能正常使用。
下图是实物的原理图存在错误,不小心,自我批评一下。
图中的C6电容330pF的一端接到了VCC,是错误的。
在这里插入图片描述
蓝桥杯的原理图是下图,接到GND
在这里插入图片描述
因此。焊接的时候需要额外处理。

二、焊接说明
下图是实际的PCB图。存在错误。因此需要如下处理。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
3、超声模发送头和接收头的焊接说明
买的超声波有两个规格,一个大的一个小的。
大的超声波头,看背后引脚那面,有一个引脚有个大黑色的圆圈。是负极。不管是发送的还是接收的都是如此。

小的超声波的头,正的那个引脚有个+号。

电路板的焊接的时候,建议焊接小的那个超声波头。可以直接焊接上去也可以焊接个排母,后面需要就插上去。
在这里插入图片描述
4、CX20106的焊接
注意VCC是第八个引脚,可以直接焊进去。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试代码

#include "stc15.h"
#include "intrins.h"

sbit TX = P1^0;
sbit RX = P1^1;
unsigned int Time = 0;
unsigned int dis = 0;
#define somenop() {_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
//共阳数目管段码
unsigned char month = 0;	 //定义一个变量让其变化显示
//0-f  0xbf代表 -
unsigned char code SMG_Duan[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
															   0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xbf};


//---------------------------------简单延时函数-------------------------
void delay(unsigned int t)
{
 	while(t--);
}


void Delay12us()                  //@12.000MHz 延时12us
{
	unsigned char i;
 
	_nop_();
	_nop_();
	i = 33;
	while (--i);
}

//-------------------------------74HC138初始化---------------------------
void Init_74HC138(unsigned char n)
{
 	switch(n)
	{
	 	case 4:P2 = P2| 0x1f; P2 = 0x80; break;
		case 5:P2 = P2| 0x1f; P2 = 0xa0; break;
		case 6:P2 = P2| 0x1f; P2 = 0xc0; break;
		case 7:P2 = P2| 0x1f; P2 = 0xe0; break;
		case 0:P2 = P2| 0X1f; P2 = 0x00; break; //所有锁存器都不选择
	}
}

//----------------------------------系统初始化---------------------------
void InitSystem(void)
{
 	 Init_74HC138(5);
	 P0 = 0x00;			 //关闭继电器与蜂鸣器
	 Init_74HC138(4);
	 P0 = 0xff;   //关闭led
}



//---------------------------------数码管安位显示--------------------------
void SMG_DisplayBit(unsigned char pos ,unsigned char dat)
{
 		Init_74HC138(6);
		P0 = 0x01 << pos ;//位选
		Init_74HC138(7);
		P0 = dat;        //段码
}


//-------------------------------关闭所有数码管----------------------
void SMG_CLOSEALL(unsigned char dat)
{
	 Init_74HC138(6);
	 P0 = 0xff; //选中所有数码管
	 Init_74HC138(7);
	 P0 = dat; //关闭
}

void SMG_Display_Dynamic(void)
{
		SMG_DisplayBit(0,0xff);
		delay(200);
		SMG_DisplayBit(1,0xff);
		delay(200);
		SMG_DisplayBit(2,0xff);
		delay(200);
		SMG_DisplayBit(3,0xff);
		delay(200);
		SMG_DisplayBit(4,0xff);
		delay(200);
		SMG_DisplayBit(5,SMG_Duan[dis/100]);
		delay(200);
		SMG_DisplayBit(6,SMG_Duan[dis/10%10]);
		delay(200);
		SMG_DisplayBit(7,SMG_Duan[dis%10]);
		delay(200);
		SMG_CLOSEALL();
		delay(200);
}


//--------------------------------------发出声波----------------------------------
void SendWave(void)
{
	unsigned char i;
	for(i = 0; i < 8;i++)
	{
		TX = 1;
		somenop();
		TX = 0;
	 	somenop(); 	
	}
}
//------------------------------------超声波测距----------------------------------
void Ultrasonic_Dis(void)
{
	TMOD &= 0x0f; //定时器1模式0 13位最大值8192
	TH1 = 0x00;
	TL1 = 0x00;
	TF1  = 0; //溢出标志位
	TR1 = 0;
	SendWave();	 //发送声波信号
	TR1 = 1;//启动定时
	while(RX == 1 && TF1 == 0);	//等待超声波信号返回或者等到测量超出范围  返回RX = 0
	TR1 = 0;//停止计时
	if(TF1 == 1) //溢出了还没有返回信号
	{
	 	TF1 = 0;
		dis = 999;
	}
	else
	{
	 	 //接收到了返回信号 将定时时间合成16位
		 Time = (TH1 << 8) | TL1; //总时间
		 //dis = ((Time / 10) * 17) / 100 + 3;
		 dis = Time * 0.0172;	
	}
}
//------------------------------------------------------------------------------------
void Delay_SMG(	unsigned char t)
{
 	while(t--)
	{
		SMG_Display_Dynamic();
	}
}


void main(void)
{
	InitSystem();
 	while(1)
	{
		 Ultrasonic_Dis();
		 Delay_SMG(50);
	}
}

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

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

相关文章

【机器学习(十三)】机器学习回归案例之股票价格预测分析—Sentosa_DSML社区版

文章目录 一、背景描述二、Python代码和Sentosa_DSML社区版算法实现对比(一) 数据读入(二) 特征工程(三) 样本分区(四) 模型训练和评估(五) 模型可视化 三、总结 一、背景描述 股票价格是一种不稳定的时间序列,受多种因素的影响。影响股市的外部因素很多,主要有经济因素、政治因…

51单片机数码管循环显示0~f

原理图&#xff1a; #include <reg52.h>sbit dulaP2^6;//段选信号 sbit welaP2^7;//位选信号unsigned char num;//数码管显示的数字0~funsigned char code table[]{ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};//定义数码管显…

CDN服务支持多种应用场景,包括图片、大文件下载、流媒体等

中国联通国际公司产品之 CDN&#xff08;内容分发网络&#xff09; 在当今这个信息爆炸的时代&#xff0c;内容分发网络&#xff08;CDN&#xff09;已成为提升用户体验和保障数据快速传输的重要工具。中国联通国际公司凭借其全球领先的通信技术和广泛的网络覆盖&#xff0c;推…

Qualitor checkAcesso.php 任意文件上传漏洞复现(CVE-2024-44849)

0x01 漏洞概述 Qualitor 8.24及之前版本存在任意文件上传漏洞,未经身份验证远程攻击者可利用该漏洞代码执行,写入WebShell,进一步控制服务器权限。 0x02 复现环境 FOFA:app="Qualitor-Web" 0x03 漏洞复现 PoC POST /html/ad/adfilestorage/request/checkAcess…

第十一章 RabbitMQ之消费者确认机制

目录 一、介绍 二、演示三种ACK方式效果 2.1. none: 不处理 2.1.1. 消费者配置代码 2.1.2. 生产者主要代码 2.1.3. 消费者主要代码 2.1.4. 运行效果 2.2. manual&#xff1a;手动模式 2.3. auto&#xff1a;自动模式 一、介绍 消费者确认机制&#xff08;Consume…

物流大数据底盘建设方案

1、现状及目标 1.1、离线数仓现状及目标 1.2、实时数仓现状及目标 2、建设方向 2.1、建设概览 2.2、数仓架构重建 2.3、数据架构 2.4、作业优化 2.5、具体作业优化-运营 2.6、具体作业优化-财经 2.7、数据血缘依赖重构 2.8、事实表建设思路 2.9、公共维表建设思路 2.10、数据…

springboot-网站开发-使用slf4j实现网站异常错误的及时跟踪定位

springboot-网站开发-使用slf4j实现网站异常错误的及时跟踪定位&#xff01;项目部署&#xff0c;开发好后&#xff0c;部署到远程服务器上面了&#xff0c;运行过程中&#xff0c;难免会遇到一些错误和异常情况&#xff0c;我们需要借助一些插件来帮助我们及时捕捉这类错误和异…

【中文版】深度学习 deep learning 花书 pdf下载 2017.09.04

中文版pdf&#xff1a;https://pan.baidu.com/s/1s93yluQGSly5uBDAIVAlNg?pwdx6xy github&#xff1a;https://github.com/exacity/deeplearningbook-chinese 目录 第一章 前言第二章 线性代数第三章 概率与信息论第四章 数值计算第五章 机器学习基础第六章 深度前馈网络第七…

一道Fortran题(Fortran)

题目 代码 选择排序法 结果 我勒个&#xff01;

【项目管理】如何根据 PV、EV、AC 计算 CPI 和 SPI?

【项目管理】如何根据 PV、EV、AC 计算 CPI 和 SPI&#xff1f; 一、PV&#xff08;计划价值 - Planned Value&#xff09;二、EV&#xff08;挣值 - Earned Value&#xff09;三、AC&#xff08;实际成本 - Actual Cost&#xff09;四、CV&#xff08;成本偏差 - Cost Varianc…

C# WPF 仿 Android Toast 效果

转载请注明出处: https://blog.csdn.net/hx7013/article/details/142860084 主职Android, 最近需要写一些WPF的程序作为上位机&#xff0c;目前WPF的MessageBox过于臃肿&#xff0c;且想找一个内置的非阻塞的简单提示一直找不到&#xff0c;想到了Android的Toast所以写了这个扩…

Kafka之生产者

本章内容将整理下Kafka体系结构中的生产者相关的一些知识。 1. 生产者客户端 生产者客户端在Kafka的发展历程当中一共有两个重大版本&#xff1a; 一个是基于Scala语言开发的版本&#xff0c;称为Old Producer或Scala版的生产者客户端。一个是Kafka0.9.x版本之后以Java语言开发…

《深度学习》OpenCV 光流估计 原理、案例解析

目录 一、光流估计 1、什么是光流估计 2、原理 3、光流估计算法 1&#xff09;基于局部方法 2&#xff09;和基于全局方法 4、光流估计的前提 1&#xff09;亮度恒定 2&#xff09;小运动 3&#xff09;空间一致 二、案例实现 1、读取视频 2、特征检测 3、处理每…

Python | Leetcode Python题解之第474题一和零

题目&#xff1a; 题解&#xff1a; class Solution:def findMaxForm(self, strs: List[str], m: int, n: int) -> int:count10 []for s in strs:count10.append([0,0])for c in s:if c 0: count10[-1][0]1else: count10[-1][1]1dp [[0]*(n1) for _ in range(m1)]for i …

十一、数据库的设计规范

文章目录 1. 为什么需要数据库设计2. 范式2.1 范式介绍2.2 范式都包括哪些2.3 键和相关属性的概念2.4 第一范式(1st NF)2.5 第二范式(2nd NF)2.6 第三范式(3rd NF)2.7 小结3. 反范式化3.1 概述3.2 应用举例3.3 反范式的新问题3.4 反范式的使用场景3.4.1 增加冗余字段的建议3.…

windows系统更新升级node指定版本【避坑篇!!!亲测有效】(附带各版本node下载链接)一定看到最后!不用删旧版!

Node.js 是一个开源、跨平台的 JavaScript 运行时环境&#xff0c;广泛应用于服务器端和网络应用的开发。随着 Node.js 版本的不断更新&#xff0c;我们可能需要升级到特定版本以满足项目需求或修复安全漏洞。又或者是学习开发另外一个新项目&#xff0c;新项目对Node版本要求更…

上交大全华班复现o1旅程式学习下的深思考

因篇幅限制不重复原研究内容&#xff0c;建议访问原技术报告链接精读&#xff0c;这里主要向大伙表示我对上交大本此研究所涉三方面的价值认同及更进一步的延展思考。 价值认同&#xff1a; ① 深刻洞察&#xff1a;系统性研究并阐释旅程式学习&#xff1b; ② 行业促进&…

SQL Injection | MySQL 数据库概述

关注这个漏洞的其他相关笔记&#xff1a;SQL 注入漏洞 - 学习手册-CSDN博客 0x01&#xff1a;MySQL 数据库简介 MySQL 是一个流行的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它基于 SQL &#xff08;Structured Query Language&#xff09;进行操作。My…

Django项目的创建及说明(详细图解版)

Django项目的创建及说明 1、安装Django2、创建项目2.1、利用终端创建项目2.2、利用Pycharm企业版创建项目 3、默认文件介绍 1、安装Django 在终端输入下述命令行。 pip install django安装成功后执行如下命令查看Django是否安装好&#xff0c;若正确显示出Django版本号则安装…

[实时计算flink]应用场景

本文将以部门场景和技术领域场景为例&#xff0c;为您介绍实时计算Flink版的大数据是实时化场景。 背景信息 作为流式计算引擎&#xff0c;Flink可以广泛应用于实时数据处理领域&#xff0c;例如ECS在线服务日志&#xff0c;IoT场景下传感器数据等。同时Flink还能订阅云上数据…