超声波测距论文(8)
时间:2026-01-22
时间:2026-01-22
天津电子技术学院2012级超声波测距报告
7第7页共13页
3软件设计
3.1软件设计
1)主程序首先对系统环境初始化,设置定时器TCCR1X工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用8MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器TCCR1X中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为
340m/s则有:d=(C*T0)/2=170*T0/10000cm(其中distance_data为计数器TCNT1的计数值)
测出距离后结果将以十进制传送给LCD显示屏,然后再发超声波脉冲重复测量过程。
2)超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过PB0作为超声波传感器的Trig端口发送8个左右的超声波信号频率约40KHz的方波,脉冲宽度为20us左右,同时把计数器TCNT1
打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号PD2(INT0)作为超声波传感器的Echo端,立即进入中断程序。进入该中断后就立即关闭计时器TCNT1停止计时,并将测距成功标志字赋值1。
上一篇:园林景观照明工程的电气设计