电平时才有可能点亮数码管,记得要三极管驱动,9012就可以了。9012的C加个限流电阻接电源,B接单片机,E接1,2,3,4。单片机给高电平时选中。 a,b,c,d,e,f,g,dp是段码,低电平有效,一般也送单片机控制
4.外围电路设计
4.1.1超声波发射电路:
超声波发射电路设计:在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。经过电阻分压后到达基极通过集电极输出后经过中周变压器组成谐振回路,最终将频率为40KHZ的信号作用于发射探头上,使其产生共振后,发射出超声波。 4.1.2超声波接收电路:
超声波检测接收电路:对于本系统的设计,其难点在于40KHz信号的产生。由于超声波传感器的中心工作频率为40KHz,当偏离这个频率时,其接收器的灵敏度将明显降低,具体可以从超声波传器的特性曲线中得知。当发送40KHz的频率时,接收到的信号最强,因此距离也就最大,而当偏离时,探测距离也将缩短,这一点是本设计总的设计思路。对于产生40KHz的驱动信号,方法有多种,可以选用电感、电容振荡元件来完成驱动信号的发生器,但是其频率稳定性较差,不容易调准,因此制作成功的可能性相对较小。参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。
启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能便记录超声波的发射时间与受到反射波时间。每当收到一个超声波反射波的时侯,接收电路的输出端产生出一个负跳变,并在或端产生出一个中断的请求信号,单片机响应这个外部中断请求,自动执行外部中断的服务子程序,并读取时间差与计算距离。
接收超声波换能器用ucm-r40k1,发送超声波换能器用ucm-t40k1,超声波接收集成电路用CX20106A芯片,发送端用6非门(反相器)HD74LS04P
图1-2发射与接收电路原理图
5 页 第
图1-3发射与接收电路PCB印刷图
4.1.3报警电路设计方案
系统报警电路由一个运算放大器(9012三极管)、一个发光二极管和一个5V有源蜂鸣器组成。用9012 pnp 是因为主芯片刚通上电的时候,引脚会产生瞬间高电平,用pnp的话,就不会一开始蜂鸣器就蜂鸣了。
图1-5 报警电路
4.1.4 电源电路设计
由自锁开关、DC电源插口、和两个电容组成。
图1-6 电源电路
6 页 第
3.2.5系统复位电路设计
单片机复位全靠外部电路实现,每当在时钟电路工作后时,一旦在单片夹中的RST引脚上表现出24个时钟振荡脉冲以上高电平,单片机就会实现初始化状态的复位。为了保证并可靠复位,在设计复位电路时,RST须高电平。只要RST电平不变,单片机就循环复位。 考虑本设计结构简单,干扰小,故采用上电自动复位。
在通电瞬间,由于R?C电路充电过程中,RST端出现正脉冲,从而使单片机复位。
图1-7 上电复位电路
3.2.6超声波测距电路图汇总(不包含发射和接收电路)
7 页 第
3.3.1超声波测距仿真
用Proteus进行超声波测距仿真
图1-8 超声波测距仿真原理图
图1-9 超声波测距仿真实现
注意事项:1.因为在我的protues软件中没有stc89c52,所以我用80c51代替,虽然各引脚分布不一样,但是具有的功能基本上是一样的,只要把它们相应功能的引脚接上就可以了,之后就要给主芯片导入程序。2.这个问题也是我刚开始最纠结的问题,就是在仿真中他如何实现发送超声波和接收超声波呢?带着这个疑问我在网上看了好多资料。原来如此,,由于仿真软件中没有超声波发射、接收头的仿真模型,这给单片机超声波测距仿真带来困难,为验证单片机超声波测距系统单片机部分及相应程序的正确与否,在单片机发出超声波信号后,用555时基电路产生一个延时信号,来模拟超声波头发送后遇到回波返
8 页 第
射回来的这阶段时间,来对单片机超声波测距单片机系统进行模拟。或者用芯片加程序来实现接收信号经过时延后再返回信号来实现,这就是这次仿真使用的方法,在第二部分使用时延程序来实现。左边两个按键是用来控制时延程序的时延间隔(加·减),这样间接达到了测量距离的加减。还有个问题是:在protues默认的电源电压是5v,所以不用设置。 3.3.2 PCB印刷电路板图(不含发射和接收模块)
经过仿真后能实现了预定功能所以电路和程序应该没什么大问题,接下来就是印制电路版。
总的原件清单:7*9万用板、HC-SR04超声波模块、STC89C51单片机、74hc573、40P IC座、20P IC座、4p母座、四位一体共阴数码管、9012三极管*5、2.2k电阻*5、220Ω电阻*8、10k电阻、5V有源蜂鸣器、103排阻、10uf电解电容、30pf瓷片电容*2、12MHZ晶振、按键*3、自锁开关、DC电源插口、导线若干、焊锡若干、USB电源线或电池盒+DC电源插头、接收超声波换能器ucm-r40k1、发送超声波换能器ucm-t40k1,超声波接收集成CX20106A芯片,6非门(反相器)HD74LS04P 外部中断入口3.3.2软件部分:
运用keil软件进行C语言编程超
进入外部中断0声波发生子程序的作用是通过
INT1端口发送两个左右的超声波脉冲信号(频率约40KHz的方波),读取THO*256时间值+TLO脉冲宽度为12μs左右,同时把计
Y数器T0打开进行计时。
超声波测距器主程序利用外计算距离中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0
结果送显示并报警提示引脚出现低电平),立即进入超声
波接收中断程序。就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时开外部中断还未检测到超声波返回信号,则定 时器T0溢出中断将外中断0关闭,
返回并将测距成功标志字赋值2,
图1-10主程序流程图 以表示本次测距不成功。
图1-11 超声波子程序流程图
9 页 第