1、课程数电设计题目超声波测距仪评价内容评价指标评分权值评定成绩业务水平有扎实的基础理论知识和专业知识;能正确设计实验方案(或正确建立数学模型、机械结构方案);独立进行实验工作;能运用所学知识和技能去发现与解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论50论文(设计说明书、图纸)质量综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值;图纸绘制符合国家标准,质量符合要求;计算及测试结果准确;工作中有创新意识;对前人工作有改进或突破,或有独特见解工作
2、量、工作态度按期完成规定的任务,工作量饱满,难度较大;工作努力,遵守纪律;工作作风严谨务实合计100指导教师评语1 设计任务与要求 2 1.1 基本功能2 1.2 扩展功能22 超声波测距设计原理23 电路设计2 3.1 显示部分设计2 3.2 发射部分设计3 3.3 接收部分设计5 3.4单片机最小系统 54 程序设计6参考资料7超声波测距仪的设计1 设计任务与要求1.1 基本功能 完成2米以内的距离测量并通过数码管显示1.2 扩展功能 接收部分采用CX20106A红外接收芯片,使回波更容易被接收,使实验省去了繁琐的调试。2 超声波测距仪设计原理超声波测距仪的总体框图如图1所示,主体电路完成
3、超声波(40KHZ)的发射,接收及距离的显示。 图1 超声波测距仪总体框图3各部分的电路设计 3.1显示部分 3.1.1 74HC138译码器的工作原理(如真值表所示) 表1 译码器器的真值表3.1.2 译码电路与显示电路的工作原理 单片机控制段选,译码器控制位选,来完成显示部分3.2 发射部分 3.2.1 波形的产生 利用单片机的T2定时中断产生40KHZ的脉冲,通过软件产生的脉冲,频率比较准确,易于驱动超生波的发出。 3.2.2发射部分输出的 40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极。另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波
4、换能器两端 。可以提高超声波的发射强度。输出端采用两个反向器并联。用以提 高驱动能力。上拉电阻 R10、R20一方面可以提高反向器74LS04输出高电平的驱动 能力。另一方面可以增加超声波换能器的阻尼效果 ,缩短其自由振荡的时间。3.3 接收部分使用CX20106A集成电路对接收探头受到的信号进行放大、滤波。其总放大增益80db。电路如下图所示CX20106A的引脚注释。1管脚:遥控信号输入端,该脚和地之间连接PIN光电二极管,该脚的输入阻抗约为40k。2管脚:该脚与地之间连接 RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R1或减小
5、C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7,C1=1F。3管脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3f。4管脚:接地端。5管脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200k时,f042kHz,若取R=220k,则中心频率f038kHz。6管脚: 该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大
6、,会使探测距离变短。7管脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22k,没有接受信号是该端输出为高电平,有信号时则产生下降。8脚:电源正极,4.55V。最初,我们直接用7脚输出,但用示波器发现无信号是其输出高电平的同时夹杂这少量的低电平。因此,我们在此处再加一个旁通电容,平均华其电压输出,以去除低电平信。3.4 单片机最小系统 最小系统由复位部分和晶振部分组成,原理图如下所示。4 程序设计本设计采用T0定时器控制20条脉冲的输出,用T2的捕获功能来完成回波信号的接收和时间的计算。程序流程图如下所示: N Y Y N N Y Y5参考资料 数
7、字电路第五版; 单片机及应用系统设计;程序如下: #include#define uchar unsigned char#define uint unsigned int uchar code duma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit a=P30;sbit b=P31;sbit c=P32;sbit fa=P10;sbit z=P14;uchar sign_failure;uchar sign_success;uchar qian,bai,shi,ge;uint s,t,count;void delay(uchar
8、x);void init();void measure();void display();void main() init(); /程序初始化 while(1) measure(); /测量函数 qian=s/1000; /为显示计算数值 bai=(s/100)%10; shi=(s/10)%10; ge=s%10; display(); /显示函数 void delay(uchar x) /延时函数 uchar i,j; for(i=x;i0;i-) for(j=110;jj-);void init() fa=0; count=0; z=1; /指示灯亮 s=0; t=0; EA=1; TM
9、OD=0x02; /T0工作在方式1 T2CON=0x09; /T2工作在捕获模式 ET0=1; ET2=1;void T0_0() interrupt 1 /T0中断函数 if(TH0=(256-12) TH0=256-13; else TH0=256-12; fa=!fa; count+;void T2_2() interrupt 5 /T2中断函数 if(TF2) TF2=0; /T2溢出也没检测到波 sign_failure=1; /测量失败位置1 else EXF2=0; t=RCAP2H*256+RCAP2L; /计算时间 sign_success=1; /测量成功位置1void
10、measure() /测量函数 sign_failure=0; sign_success=0; TR0=1; /开T0中断 TR2=1; /开T2中断 TH0=(256-12); TL0=(256-13); TH2=TL2=0; /T2初值设为零 while(count16); TR0=0; /停止发射 /关闭T0 while(sign_success=0) if(sign_failure) TR2=0; /关闭T2计时 z=0; /指示灯灭 s=t*0.157; /计算距离void display() /显示函数 a=b=c=0; P2=dumaqian;/显示第一位 delay(10); a=1; b=c=0; P2=dumabai;/显示第二位 a=c=0; b=1; P2=dumashi;/显示第三位 a=b=1; c=0; P2=dumage;/显示第四位
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1