//************************************************************************************
//0、本程序配套视频教程《人人学会单片机》
// 自学网址1:https://www.acfun.cn/v/ac15187311
// 自学网址2:https://www.bilibili.com/video/BV1Jx411Z7yC?p=1
// 自学网址3:https://www.yuanzige.com/course/detail/80163
//1、STC15W系列单片机可以直接使用本代码测量,测量精度最高可以1mm(精度由模块决定)
//2、因STC89速度太慢,只能丢弃mm级别的测量精度,测量精度最高10mm(精度由模块决定)
//************************************************************************************
#include "all.h"
u16 xdata Timer1_Plus; //定时触发
u16 xdata Acoustic_Distance=0; //测距结果
//声音的速度是340米/秒=340mm/ms,那么,往返1mm需要的时间就是1000us÷346*2mm=5.8us。既1T模式下,多少个定时器中断就表示多少mm
//声音的速度是340米/秒=340mm/ms,那么,往返10mm需要的时间就是1000us÷346*20mm=58us。既12T模式下,多少个定时器中断就表示多少cm
void Timer1_INT1_Init()
{
AUXR &= 0xBF; //适合STC89,定时器时钟12T模式,可测量10mm
TL1 = 0x6F; //适合STC89,设置定时初值,定时58us, @ 30MHz
TH1 = 0x6F; //适合STC89,设置定时初值,定时58us, @ 30MHz
//AUXR |= 0x40; //适合STC15W,定时器时钟1T模式,可测量1mm
//TL1 = 0x52; //适合STC15W,设置定时初值,定时5.8us, @ 30MHz
//TH1 = 0x52; //适合STC15W,设置定时初值,定时5.8us, @ 30MHz
TMOD &= 0x0F; //设置定时器模式,8位自动重装模式,GATE置1
TMOD |= 0xA0; //设置定时器模式,8位自动重装模式,GATE置1
TF1 = 0; //清除TF1标志
TR1 = 0; //定时器暂时不计时,P33脚高电平时才开始计时
ET1=1;
EA=1;
}
void Acoustic_Init() //初始化
{
Timer1_INT1_Init();
Pulse=0;
}
void Timer1_Routine() interrupt 3
{
Timer1_Plus++; //定时器中断次数
if(Timer1_Plus>500) //大于500mm
{
TR1=0;
}
}
void Acoustic_Amount_Ser()
{
static xdata u16 count=0;
count++;
switch(count)
{
case 1:Pulse=1;TR1=1;Timer1_Plus=0;break; //拉高 触发超声波模块工作,并且清零变量
case 3:Pulse=0;break; //50us后 拉低 触发完成 //超过一定的时间后
case 2000:Acoustic_Distance=Timer1_Plus;count=0;break; //超过一定的时间后,读出定时器中断次数,既测距距离
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
14 超声波测距 STC89 STC15W(WQX06 51单片机 源代码).rar
共29个文件
h:6个
obj:5个
lst:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 91 浏览量
2023-02-06
12:22:05
上传
评论
收藏 53KB RAR 举报
温馨提示
WQX06 51单片机入门 源代码免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
14 超声波测距 STC89 STC15W(WQX06 51单片机 源代码).rar (29个子文件)
14 超声波测距 STC89 STC15W
c_and_h
HC595_Drive.c 1KB
SMG_Ser.c 2KB
HC595_Drive.h 966B
STC89.H 4KB
STC15.h 13KB
SMG_Ser.h 603B
Acoustic_Drive.c 2KB
Acoustic_Drive.h 801B
main.c 2KB
all.h 1KB
project
超声波测距.uvopt 8KB
Objects
SMG_Ser.obj 6KB
超声波测距 25KB
Acoustic_Drive.obj 7KB
HC595_Drive.obj 6KB
超声波测距.build_log.htm 1KB
STARTUP.obj 838B
超声波测距.hex 2KB
超声波测距.lnp 216B
main.obj 7KB
STARTUP.A51 6KB
Listings
Acoustic_Drive.lst 5KB
SMG_Ser.lst 4KB
main.lst 5KB
超声波测距.m51 15KB
STARTUP.lst 14KB
HC595_Drive.lst 4KB
超声波测距.uvgui.wangqixu 90KB
超声波测距.uvproj 16KB
共 29 条
- 1
资源评论
大富大贵7
- 粉丝: 396
- 资源: 8870
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功