基于单片机的超声波倒车雷达设计内容摘要:

cjne A00hnn1 mm1 MOV A42h cjne A00h1 ajmp mm2 1cjne a05hnn1 mm2 MOV A41h cjne A01h2 lcall BJ1 2cjne a02hnn1 lcall bj1 nn1 setb et0 mov th000h mov tl000h SETB TR1 重新开启测距定时器 SETB EA SJMP Start1 BJ1 clr p16 40KHZ lcall DELAY20MS lcall DELAY20MS lcall DELAY20MS lcall DELAY20MS lcall DELAY20MS setb p16 RET 其他的硬件电路 复位开关电路 第三章 主程序 主程序首先是对系统环境初始化设置定时器 TO工作模式为 16位定时计数器模式置位总中断允许位 EA 并给显示端口 PO 和 P2 清 O 然后调用超声波发生子程序送出一个超声波脉冲为了避免超声渡从发射器直接传送到接收器引起的直射渡触发需要延时约 0 l ms 这也就是超声波测距器会有一个最小可测距离的原因 后才打开外中断 0接收返回的超声波信号由于采用的是 12MHz的晶振计数器每计一个数就是 1μ s 当主程序检测到接收成功的标志位后将计数器 T0 中的数 即超声波来回所用的时间 按式 4- 2 计算即可得被测物体与测距器之间的距离设计时取 20℃时的声速为 344m/ s 不同温度下超声波产波速率不同则有 D c t / 2 172TO/ 10 000 cm 4- 2 其中 TO 为计数器 T0 的计数值 测出距离后结果将以十进制 BCD 码方式送往 LED 显示约 05 s 然后再发超声波脉冲重复测量过程为了有利于程序结构化和容易计算出距离主程序采用 c 语言编写下图为主程序流程图 主程序流程图 31 主程序如下 主 程 序 START MOV SP4FH MOV R040H 40H43H 为显示数据存放单元 40H 为最高位 MOV R70BH CLEARDISP MOV R000H INC R0 DJNZ R7CLEARDISP MOV 20H00H MOV TMOD11H T1 为 T0 为 16 位定时器 MOV TH000H 65 毫秒初值 MOV TL000H MOV TH100H MOV TL100H MOV P00FFH MOV P10FFH MOV P20FFH MOV P30FFH MOV R404H 超声波肪冲个数控制为赋值的一半 SETB PX0 SETB ET1 SETB EA SETB TR1 开启测距定时器 start1 LCALL DISPLAY JNB 00HSTART1 收到反射信号时标志位为 1 CLR EA LCALL WORK 计算距离子程序 clr EA MOV R232h64H 测量间隔控制约 4100 400MS LOOP LCALL DISPLAY DJNZ R2LOOP CLR 00H setb et0 mov th000h mov tl000h SETB TR1 重新开启测距定时器 SETB EA SJMP Start1 3. 2 超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过 P1 O端口发送 2个左右超声波脉冲信号 频率约 40kHz的方波 脉冲宽度为 12μ s左右同时把计数器 T0打开进行计时超声波发生子程序较简单但要求程序运行时间准确所以采用汇编语言编程下图所示流程图 超声波测距器主程序利用外中断 O 检测返回超声波信号一旦接收到返回超声波信号 即 INT0 引脚出现低电平 立即进入中断程序进入该中断后就立即关闭计时器 T0 停止计时并将测距成功标志字赋值 1 如果当计时器溢出时还未检测到超声波返回信号则定时器 T0 溢出中断将外中断 0 关闭并将测距成功标志宇赋值 2 以表示本次测距不成功 程序如下 超声波测距器 IC AT89C51 OSCCAL XT 12M display 共阳 LED 显示 测距范围 04CM4M 堆栈在 4FH 以上 20H 用于标志 显示缓冲单元在 40H43H 使用内存 44H45H46H 用于计算距离 VOUT EQU P10 红外脉冲输出端 speak equ p11 中断入口程序 ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH reti ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI 中断程序 T1 中断发超声波用 T1 中断 65 毫秒中断一次 INTT1 CLR EA CLR TR0 clr ex0 MOV TH000H MOV TL000H MOV TH100H MOV TL100H SETB ET0 SETB EA SETB TR0 启动计数器 T0 用以计 intt11CPL VOUT 40KHZ nop nop nop nop nop nop nop nop nop DJNZ R4intt11 超声波发送完毕 MOV R404H lcall delay_250 延时避开发射的直达声波信号 SETB EX0 开启接收回波中断 RETIOUT RETI 外中断 0 收到回波时进入 PINT0 nop jb p32pint0_exit CLR TR0 关计数器 CLR EA CLR EX0 MOV 44HTL0 将计数值移入处理单元 MOV 45HTH0 mov th000h mov tl000h job p32 SETB 00H 接收成功标志 pint0_exitRETI 安装调试及 分析 41 硬件部分 由于本项目规模较大时间紧张加之我们经验不足我们的第一套方案不顺利CAD 设计制版后组装的实验板没能调出正确结果也没有资金和时间再做一块板我们采用了第二套备用方案根据自己原有的电路图通过专业技术员的改动做成了一块板子这样性能比较稳定我们通过软件编程和调试完成了设计课题要求的任务及系统要求的功能 一个系统要良好运行就需每一个模块或每一个部分都要调试正确它可以进行单独调试将程序下载入 89S52 芯片将所测距离显示在数码管上采用数码管显示的是障碍物到超声波探头的距离.可以很直观地显示出距离的大小. 与实际调试时完全相符效果良好直观且精确符合标准 超声波测距仪的制作和调试其中超声波发射和接收采用Φ 15 的超声波换能器 TCT4010F1T 发射和 TCT4010S1R 接收中心频率为 40kHz 安装时应保持两换能器中心轴线平行并相距 4~ 8cm 其余元件无特殊要求若将超声波接收电路用金属壳屏蔽起来则可提高抗干扰能力根据测量范围要求不同可适当调整与接收换能器并接的滤波电容 C4 的大小以获得合适的接收灵敏度和抗干扰能力 这个板不管前面有无遮挡物总是显示 27 这是因为标有 T 字样的超声波接收头没有收到正确的回波信息导致 工作异常引起的我们发现接收头比较娇嫩轻微的磕碰就会导致内部器件错位影响正常工作但是只要稍稍旋转或者上下拨动一下接收头很多情况就会排除故障又能正常工作了最小检测距离为 27 厘米为了防止超声波发射传感器发出超声波沿电路板或者外壳直接进。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。