首页 > 其他分享 >LQB焊接超声波部分原理图和焊接说明(勘误)

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

时间:2024-10-25 17:18:43浏览次数:13  
标签:P2 勘误 void 原理图 unsigned char 焊接 nop


1、自制的板子的原理图,有一个错误的地方,导致超声波不能正常使用。

下图是实物的原理图存在错误,不小心,自我批评一下。

图中的C6电容330pF的一端接到了VCC,是错误的。

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


蓝桥杯的原理图是下图,接到GND

LQB焊接超声波部分原理图和焊接说明(勘误)_数码管_02


因此。焊接的时候需要额外处理。二、焊接说明

下图是实际的PCB图。存在错误。因此需要如下处理。

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



LQB焊接超声波部分原理图和焊接说明(勘误)_开发语言_04


LQB焊接超声波部分原理图和焊接说明(勘误)_数码管_05


3、超声模发送头和接收头的焊接说明

买的超声波有两个规格,一个大的一个小的。

大的超声波头,看背后引脚那面,有一个引脚有个大黑色的圆圈。是负极。不管是发送的还是接收的都是如此。

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

电路板的焊接的时候,建议焊接小的那个超声波头。可以直接焊接上去也可以焊接个排母,后面需要就插上去。

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


4、CX20106的焊接

注意VCC是第八个引脚,可以直接焊进去。

LQB焊接超声波部分原理图和焊接说明(勘误)_开发语言_07


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


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


测试代码

#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);
	}
}


标签:P2,勘误,void,原理图,unsigned,char,焊接,nop
From: https://blog.51cto.com/u_1355431/12362751

相关文章

  • 分享一个手机充电电路,原理图详解
    在现代生活中,手机充电器无处不在,但它们的质量参差不齐,常常会出现故障。面对这种情况,了解充电器的工作原理对于维修和改进是非常有帮助的。下面,我将为你详细解析手机充电器的工作原理。我们从充电器的电源输入端开始分析。首先,充电器接收220V的交流电,其中一端通过一个4007......
  • 51单片机的超声波水位检测【proteus仿真+程序+报告+原理图+演示视频】
    1、主要功能 该系统由AT89C51/STC89C52单片机+LCD1602显示模块+超声波传感器+继电器+按键、LED、蜂鸣器等模块构成。适用于超声波液位监测与控制等相似项目。可实现功能:1、LCD1602显示水位信息2、超声波传感器采集水位信息3、如果水位低于阈值,声光报警,同时加水继电器......