B超检查是怎么做的

B超检查是怎么做的,第1张

大家都应该知道B超检查是孕期检查项目之一,但是 B超检查是怎么做的 大家又是否知道呢?下面就详细为大家介绍一下相关的内容。

孕期B超检查的程序

B超检查通常是经腹部进行扫描的,但有时也会经阴道进行扫描。进行腹式扫描时,医务人员会让孕妇躺在诊断床上,露出肚子来,B超 *** 作人员先把一种凉凉的胶状体(可以促进声波的传导)抹在孕妇的腹部。然后,在孕妇的肚子上来回滑动传感器(它看起来有一点像电话听筒)来发射声波。最后计算机将反射回来的声波转化为电视监控器上的图像,宝宝就会呈现在眼前了!

在扫描过程中,B超 *** 作人员会纪录胎儿的测量值,拍下照片和录像,以便医生通过这些了解宝宝的情况。虽然孕妇可能很想知道B超 *** 作人员究竟看到了什么,但往往得等到医生看过结果后才会和孕妇讨论。

基本的超声波检查需要15~20分钟。更仔细的检查(第二水平)需要更精密的仪器,大概需要30~90分钟或更长时间。

目前,怀孕前3个月的B超有可能使用一种特别的探头,来通过阴道进行。这种方法可能会让孕妇感到有点不舒服,但在怀孕早期,它可以提供比腹式扫描更好的图像,在诊断宫外孕及胚胎畸形方面也非常有效。

B超检查前是否需要憋尿

如果在孕早期进行腹式超声波扫描,医生可能会让孕妇提前喝几杯水,使其膀胱膨胀起来,但这可能会令孕妇感到非常的不舒服。

如果担心因为检查前不能成功憋尿而耽误了检查,孕妇可以适当喝点碳酸饮料。有些准妈妈说,喝水后多走动也会有帮助。

过了怀孕前3个月,再做产科B超检查时一般就不需要憋尿了。去做B超检查的时候,最好穿宽松的衣服,这样比较方便检查。

B超检查是否有危险或副作用

在过去35年的研究中,没有发现证据可以证明B超会伤害发育中的胎儿,或者多次扫描会有累积的伤害作用。虽然有一些小范围的研究显示,B超会增加宝宝出生体重低、出现语言和听力问题及左撇子的可能性,但并没有更严格的研究证明它的准确性。了解关于B超检查是否安全的更多内容。

精彩推荐:

月经不调

痛经怎么缓解

月经量少

月经推迟

静脉曲张

相关资料,请参考

超声波测距仪设计及其应用分析

[摘要] 本文利用超声波传输中距离与时间的关系,采用AT89C51单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波测距仪。该测距仪主要由超声波发射器电路、超声波接收器电路、单片机控制电路、环境温度检测电路及显示电路构成。利用所设计出的超声波测距仪,对不同距离进行了测试,并进行了详尽的误差分析。

[关键词] 超声波测距 单片机 温度传感器

随着社会的发展,人们对距离或长度测量的要求越来越高。超声波测距由于其能进行非接触测量和相对较高的精度,越来越被人们所重视。本设计的超声波测距仪,可以对不同距离进行测试,并可以进行详尽的误差分析。

一、设计原理

超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。 通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。基本的测距公式为:L=(△t/2)*C

式中 L——要测的距离

T——发射波和反射波之间的时间间隔

C——超声波在空气中的声速,常温下取为340m/s

声速确定后,只要测出超声波往返的时间,即可求得L。

二、超声波测距仪设计目标

测量距离: 5米的范围之内通过LED能够正确显示出两点间的距离误差小于5%。

三、数据测量和分析

1.数据测量与分析

由于实际测量工作的局限性,最后在测量中选取了一米以下的30cm、50cm、70cm、80cm、90cm、100cm 六个距离进行测量,每个距离连续测量七次,得出测量数据(温度:29℃),如表所示。从表中的数据可以看出,测量值一般都比实际值要大几厘米,但对于连续测量的准确性还是比较高的。

对所测的每组数据去掉一个最大值和最小值,再求其平均值,用来作为最终的测量数据,最后进行比较分析。这样处理数据也具有一定的科学性和合理性。从表中的数据来看,虽然对超声波进行了温度补偿,但在比较近的距离的测量中其相对误差也比较大。特别是对30cm和50cm的距离测量上,相对误差分别达到了5%和4.8%。但从全部测量结果看,本设计的绝对误差都比较小,也比较稳定。本设计盲区在22.6cm左右,基本满足设计要求。

2.误差分析

测距误差主要来源于以下几个方面:

(1)超声波发射与接收探头与被测点存在一定的角度,这个角度直接影响到测量距离的精确值(2)超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发(3)由于工具简陋,实际测量距离也有误差。影响测量误差的因素很多,还包括现场环境干扰、时基脉冲频率等等。

四、应用分析

采用超声波测量大气中的地面距离,是近代电子技术发展才获得正式应用的技术,由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘)具有一定的适应能力。因此,用途极度广泛。例如:测绘地形图,建造房屋、桥梁、道路、开挖矿山、油井等,利用超声波测量地面距离的方法,是利用光电技术实现的,超声测距仪的优点是:仪器造价比光波测距仪低,省力、 *** 作方便。

超声测距仪在先进的机器人技术上也有应用,把超声波源安装在机器人身上,由它不断向周围发射超声波并且同时接收由障碍物反射回波来确定机器人的自身位置,用它作为传感器控制机器人的电脑等等。由于超声波易于定向发射,方向性好,强度好控制,它的应用价值己被普遍重视。

总之,由以上分析可看出:利用超声波测距,在许多方面有很多优势。因此,本课题的研究是非常有实用和商业价值。

五、结论

本设计的测量距离符合市场要求,测量的盲区也控制在23cm以内。针对市场需求,本设计还可以加大发射功率,让测量的距离更加的远。在显示方面,也可以对程序做适当改动,使开始发射超声波时LED显示出温度值,到超声波回波接收到以后通过计算得出距离值时,LED自动切换显示距离值,这样在视觉效果上得到更加直观的了解。

参考文献:

[1]MCS一51/96系列单片机原理及应用(修订版)[M].北京:北京航空航天大学出版社.2002.46-170

[2]金篆芷王明时:现代传感器技术[M].电子工业出版社.1995.331—335

[3]MCS一51/96系列单片机原理及应用(修订版)[M].北京:北京航空航天大学出版社.2002.46-170

[4]超声波测距仪的设计[J].传感器技术.2002

//晶振=8M

//MCU=STC10F04XE

//P0.0-P0.6共阳数码管引脚

//Trig = P1^0

//Echo = P3^2

#include <reg52.h>//包括一个52标准内核的头文件

#define uchar unsigned char //定义一下方便使用

#define uint unsigned int

#define ulong unsigned long

//***********************************************

sfr CLK_DIV = 0x97//为STC单片机定义,系统时钟分频

//为STC单片机的IO口设置地址定义

sfr P0M1 = 0X93

sfr P0M0 = 0X94

sfr P1M1 = 0X91

sfr P1M0 = 0X92

sfr P2M1 = 0X95

sfr P2M0 = 0X96

//***********************************************

sbit Trig = P1^0//产生脉冲引脚

sbit Echo = P3^2//回波引脚

sbit test = P1^1//测试用引脚

uchar code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}//数码管0-9

uint distance[4] //测距接收缓冲区

uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i //自定义寄存器

bit succeed_flag //测量成功标志

//********函数声明

void conversion(uint temp_data)

void delay_20us()

//void pai_xu()

void main(void) // 主程序

{ uint distance_data,a,b

uchar CONT_1

CLK_DIV=0X03//系统时钟为1/8晶振(pdf-45页)

P0M1 = 0 //将io口设置为推挽输出

P1M1 = 0

P2M1 = 0

P0M0 = 0XFF

P1M0 = 0XFF

P2M0 = 0XFF

i=0

flag=0

test =0

Trig=0 //首先拉低脉冲输入引脚

TMOD=0x11 //定时器0,定时器1,16位工作方式

TR0=1 //启动定时器0

IT0=0 //由高电平变低电平,触发外部中断

ET0=1 //打开定时器0中断

//ET1=1 //打开定时器1中断

EX0=0 //关闭外部中断

EA=1//打开总中断0

while(1) //程序循环

{

EA=0

Trig=1

delay_20us()

Trig=0//产生一个20us的脉冲,在Trig引脚

while(Echo==0)//等待Echo回波引脚变高电平

succeed_flag=0//清测量成功标志

EX0=1 //打开外部中断

TH1=0 //定时器1清零

TL1=0 //定时器1清零

TF1=0 //

TR1=1 //启动定时器1

EA=1

while(TH1 <30)//等待测量的结果,周期65.535毫秒(可用中断实现)

TR1=0 //关闭定时器1

EX0=0 //关闭外部中断

if(succeed_flag==1)

{

distance_data=outcomeH //测量结果的高8位

distance_data<<=8 //放入16位的高8位

distance_data=distance_data|outcomeL//与低8位合并成为16位结果数据

distance_data*=12 //因为定时器默认为12分频

distance_data/=58 //微秒的单位除以58等于厘米

} //为什么除以58等于厘米, Y米=(X秒*344)/2

// X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58

if(succeed_flag==0)

{

distance_data=0 //没有回波则清零

test = !test //测试灯变化

}

/// distance[i]=distance_data//将测量结果的数据放入缓冲区

///i++

/// if(i==3)

/// {

/// distance_data=(distance[0]+distance[1]+distance[2]+distance[3])/4

///pai_xu()

///distance_data=distance[1]

a=distance_data

if(b==a) CONT_1=0

if(b!=a) CONT_1++

if(CONT_1>=3)

{ CONT_1=0

b=a

conversion(b)

}

/// i=0

/// }

}

}

//***************************************************************

//外部中断0,用做判断回波电平

INTO_() interrupt 0 // 外部中断是0号

{

outcomeH =TH1 //取出定时器的值

outcomeL =TL1 //取出定时器的值

succeed_flag=1 //至成功测量的标志

EX0=0 //关闭外部中断

}

//****************************************************************

//定时器0中断,用做显示

timer0() interrupt 1 // 定时器0中断是1号

{

TH0=0xfd//写入定时器0初始值

TL0=0x77

switch(flag)

{case 0x00:P0=geP2=0xfdflag++break

case 0x01:P0=shiP2=0xfeflag++break

case 0x02:P0=baiP2=0xfbflag=0break

}

}

//*****************************************************************

/*

//定时器1中断,用做超声波测距计时

timer1() interrupt 3 // 定时器0中断是1号

{

TH1=0

TL1=0

}

*/

//******************************************************************

//显示数据转换程序

void conversion(uint temp_data)

{

uchar ge_data,shi_data,bai_data

bai_data=temp_data/100

temp_data=temp_data%100 //取余运算

shi_data=temp_data/10

temp_data=temp_data%10 //取余运算

ge_data=temp_data

bai_data=SEG7[bai_data]

shi_data=SEG7[shi_data]

ge_data =SEG7[ge_data]

EA=0

bai = bai_data

shi = shi_data

ge = ge_data

EA=1

}

//******************************************************************

void delay_20us()

{ uchar bt

for(bt=0bt<100bt++)

}

/*

void pai_xu()

{ uint t

if (distance[0]>distance[1])

{t=distance[0]distance[0]=distance[1]distance[1]=t} /*交换值

if(distance[0]>distance[2])

{t=distance[2]distance[2]=distance[0]distance[0]=t} /*交换值

if(distance[1]>distance[2])

{t=distance[1]distance[1]=distance[2]distance[2]=t} /*交换值

}

*/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7831111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存