找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2332|回复: 4
打印 上一主题 下一主题
收起左侧

我是初学者,现在在做一个超声波测距系统。然后要进行串口通讯,有几个问题。

[复制链接]
跳转到指定楼层
楼主
ID:486250 发表于 2019-3-22 12:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在做一个超声波测距系统。有两个部分 一个是红外控制小车运动,还有一个部分是超声波测距系统。现在需要将两个部分进行串口通讯。当超声波测距系统测得距离小于危险距离时控制小车停止运动。该如何实现呢?希望各位大佬 指点一二。给个方向也好。现在不知道串口如何设置,用串口助手设置的TMOD=0x20而我的测距系统定时器又是TMOD=0x01。






测距程序.docx

15.42 KB, 下载次数: 13

小车程序.docx

14.25 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:69072 发表于 2019-3-22 13:07 | 只看该作者
一个用定时器0 一个用定时器1 无不干扰 没有什么影响 只要 波特率的定时器 不要开中断就可以了
回复

使用道具 举报

板凳
ID:405033 发表于 2019-3-22 13:16 | 只看该作者
你将测的的距离返回给小车,单片机接收到数据,判断是否为危险距离,是的话就控制电机停止运行,如果你不会传距离的数据回去,那你在测得的距离数据为危险距离的时候,通过串口发回一个字符给单片机,当单片机收到这个字符的时候,单片机控制电机停止运行。串口设置就看源程序,学会自己去配置那些参数先。
回复

使用道具 举报

地板
ID:234075 发表于 2019-3-22 13:50 | 只看该作者
使用多个定时器在初始化设置中使用“或”运算符,如:TMOD|=0x01;和TMOD|=0x20;互相之间不会产生冲突和覆盖写入;
超声波测距信号返回的时间语句
while(Echo_2);                // 等待超声波模块的返回脉冲结束
增加一个等待时间的限制(例如反推距离超过100cm的用时),超过这个时段不再等待。
测得的信号返回TH0/TL0的值,根据主频和声音的传播速度(340m/S)计算出距离,判断距离超过临界值就停车
回复

使用道具 举报

5#
ID:339080 发表于 2019-3-22 14:29 | 只看该作者
单片机接收到数据,判断是否为危险距离,是的话就控制电机停止运行,如果你不会传距离的数据回去,那你在测得的距离数据为危险距离的时候,通过串口发回一个字符给单片机,当单片机收到这个字符的时候,单片机控制电机停止运行。串口设置就看源程序,学会自己去配置那些参数先。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表