51单片机超声波测距用超声波模块程序卡死,是什么原因?

51单片机超声波模块测试程序怎样写?_百度知道
51单片机超声波模块测试程序怎样写?
提问者采纳
//晶振=8M//MCU=STC10F04XE//P0.0-P0.6共阳数码管引脚//Trig
= P1^0//Echo
= P3^2#include &reg52.h&
//包括一个52标准内核的头文件#define uchar unsigned char //定义一下方便使用#define uint
unsigned int#define ulong unsigned long//***********************************************sfr
CLK_DIV = 0x97; //为STC单片机定义,系统时钟分频
//为STC单片机的IO口设置地址定义sfr
= 0X93;sfr
= 0X94;sfr
= 0X91;sfr
= 0X92;sfr P2M1
= 0X95;sfr P2M0
= 0X96;//***********************************************sbit Trig
= P1^0; //产生脉冲引脚sbit Echo
= P3^2; //回波引脚sbit test
= P1^1; //测试用引脚uchar code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//数码管0-9uint distance[4];
//测距接收缓冲区uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i;
//自定义寄存器bit succeed_
//测量成功标志//********函数声明void conversion(uint temp_data);void delay_20us();//void pai_xu();void main(void)
// 主程序{
uint distance_data,a,b;
uchar CONT_1;
CLK_DIV=0X03; //系统时钟为1/8晶振(pdf-45页)
//将io口设置为推挽输出
P0M0 = 0XFF;
P1M0 = 0XFF;
P2M0 = 0XFF;
flag=0; test =0; Trig=0;
//首先拉低脉冲输入引脚 TMOD=0x11;
//定时器0,定时器1,16位工作方式 TR0=1;
//启动定时器0
//由高电平变低电平,触发外部中断 ET0=1;
//打开定时器0中断 //ET1=1;
//打开定时器1中断 EX0=0;
//关闭外部中断 EA=1;
//打开总中断0 while(1)
//程序循环 {
delay_20us();
//产生一个20us的脉冲,在Trig引脚
while(Echo==0); //等待Echo回波引脚变高电平
succeed_flag=0; //清测量成功标志
//打开外部中断
//定时器1清零
//定时器1清零
//启动定时器1
while(TH1 & 30);//等待测量的结果,周期65.535毫秒(可用中断实现)
//关闭定时器1
//关闭外部中断
if(succeed_flag==1)
distance_data=outcomeH;
//测量结果的高8位
distance_data&&=8;
//放入16位的高8位
distance_data=distance_data|outcomeL;//与低8位合并成为16位结果数据
distance_data*=12;
//因为定时器默认为12分频
distance_data/=58;
//微秒的单位除以58等于厘米
//为什么除以58等于厘米,
Y米=(X秒*344)/2
// X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58
if(succeed_flag==0)
distance_data=0;
//没有回波则清零
//测试灯变化
distance[i]=distance_ //将测量结果的数据放入缓冲区
distance_data=(distance[0]+distance[1]+distance[2]+distance[3])/4;
distance_data=distance[1];a=distance_
if(b==a) CONT_1=0;
if(b!=a) CONT_1++;
if(CONT_1&=3)
{ CONT_1=0;
conversion(b);
}}//***************************************************************//外部中断0,用做判断回波电平INTO_()
interrupt 0
// 外部中断是0号 {
outcomeH =TH1;
//取出定时器的值
outcomeL =TL1;
//取出定时器的值
succeed_flag=1;
//至成功测量的标志
//关闭外部中断
}//****************************************************************//定时器0中断,用做显示timer0() interrupt 1
// 定时器0中断是1号
TH0=0 //写入定时器0初始值
switch(flag)
{case 0x00:P0= P2=0flag++;
case 0x01:P0=P2=0flag++;
case 0x02:P0=P2=0flag=0;
}//*****************************************************************/*//定时器1中断,用做超声波测距计时timer1() interrupt 3
// 定时器0中断是1号
{TH1=0;TL1=0;
}*///******************************************************************//显示数据转换程序void conversion(uint temp_data)
uchar ge_data,shi_data,bai_
bai_data=temp_data/100 ;
temp_data=temp_data%100;
//取余运算
shi_data=temp_data/10 ;
temp_data=temp_data%10;
//取余运算
ge_data=temp_
bai_data=SEG7[bai_data];
shi_data=SEG7[shi_data];
ge_data =SEG7[ge_data];
EA=0; 缉耿光际叱宦癸为含力
bai = bai_
shi = shi_
EA=1; }//******************************************************************void delay_20us() {
for(bt=0;bt&100;bt++); }/*void pai_xu()
if (distance[0]&distance[1])
{t=distance[0];distance[0]=distance[1];distance[1]=t;} /*交换值
if(distance[0]&distance[2])
{t=distance[2];distance[2]=distance[0];distance[0]=t;} /*交换值
if(distance[1]&distance[2])
{t=distance[1];distance[1]=distance[2];distance[2]=t;} /*交换值
提问者评价
谢谢,大侠帮忙
采纳率100%
其他类似问题
您可能关注的推广
51单片机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁英语翻译我们设计的这个超声波测距仪基于AT89C51单片机为系统核心控 制各模块,以基于555芯片模块发射超声波信号,信号遇到障碍物后返回,通过以四个LM324芯片为主的电路接收声波信号,从而使单片机测出发射和接_百度作业帮
英语翻译我们设计的这个超声波测距仪基于AT89C51单片机为系统核心控 制各模块,以基于555芯片模块发射超声波信号,信号遇到障碍物后返回,通过以四个LM324芯片为主的电路接收声波信号,从而使单片机测出发射和接
我们设计的这个超声波测距仪基于AT89C51单片机为系统核心控 制各模块,以基于555芯片模块发射超声波信号,信号遇到障碍物后返回,通过以四个LM324芯片为主的电路接收声波信号,从而使单片机测出发射和接收回波的时间差t,然后求出距离S=Ct/2,(式中的C为超声波波速),最后通过8位数码管显示测量结果.各模块中发射模块以自制12V直流电源供电,其他模块以5V电源供电.
This ultrasonic range finder that we designed controls every module keyly for the system on the basis of AT89C51 one-chip computer,in order to transmit the ultrasonic signal on the basis of 555 chip module,return after the signal meets barriers,through receive the acoustic signal with four LM324 chip as the circuit of the main fact,thus make the one-chip computer examine and set out to penetrate and receive time difference t of the return waves echo,then ask,appear from S=Ct/2,(whether C of type ultrasonic wave speed),in charge of,reveal result of measuring through 8 number finally.Every module launch module in order to make by oneself 12V direct current source supply power,other module supply power so as to 5V power.
您可能关注的推广HC-SR04 51单片机超声波测距程序,包括报警电路,及1602的显示 SCM 开发 234万源代码下载-
&文件名称: HC-SR04& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 4304 KB
&&上传时间:
&&下载次数: 25
&&提 供 者:
&详细说明:51单片机超声波测距程序,包括报警电路,及1602的显示程序-51 single ultrasonic ranging program, including alarm circuits, and the 1602 display program
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&1.c&&HC-SR04超声波测距资料&&.....................\HC-SR04超声波_原理图.pdf&&.....................\HC-SR04超声波测距模块.pdf&&.....................\HC-SR04超声波测距模块说明书.pdf&&.....................\超声波PIC单片机C程序&&.....................\超声波PIC单片机C程序.rar&&.....................\....................\HC-SR04PIC.txt&&.....................\超声波模块参考.pdf&&.....................\超声波测距51C程序&&.....................\超声波测距51C程序.rar&&.....................\.................\51.C&&.....................\超声波测距C程序.doc&&.....................\超声波测距LC1602显示&&.....................\超声波测距LC1602显示.rar&&.....................\....................\脉宽测量&&.....................\....................\脉宽测量.c&&.....................\....................\脉宽测量.hex&&.....................\....................\脉宽测量.lnp&&.....................\....................\脉宽测量.LST&&.....................\....................\脉宽测量.M51&&.....................\....................\脉宽测量.OBJ&&.....................\....................\脉宽测量.Opt&&.....................\....................\脉宽测量.plg&&.....................\....................\脉宽测量.Uv2&&.....................\....................\脉宽测量_Opt.Bak&&.....................\....................\脉宽测量_Uv2.Bak&&.....................\超声波测距LCD12864显示&&.....................\超声波测距LCD12864显示.rar&&.....................\......................\测距程序&&.....................\......................\测距程序.C&&.....................\......................\测距程序.hex&&.....................\......................\测距程序.lnp&&.....................\......................\测距程序.LST&&.....................\......................\测距程序.M51&&.....................\......................\测距程序.OBJ&&.....................\......................\测距程序.Opt&&.....................\......................\测距程序.plg&&.....................\......................\测距程序.Uv2&&.....................\......................\测距程序_Opt.Bak&&.....................\......................\测距程序_Uv2.Bak&&.....................\超声波测距串口显示&&.....................\超声波测距串口显示.rar&&.....................\..................\串口接线方式.jpg&&.....................\..................\测距程序&&.....................\..................\测距程序.C&&.....................\..................\测距程序.hex&&.....................\..................\测距程序.lnp&&.....................\..................\测距程序.LST&&.....................\..................\测距程序.M51&&.....................\..................\测距程序.OBJ&&.....................\..................\测距程序.Opt&&.....................\..................\测距程序.plg&&.....................\..................\测距程序.Uv2&&.....................\..................\测距程序_Opt.Bak&&.....................\..................\测距程序_Uv2.Bak&&.....................\超声波测距原理图.pdf&&.....................\超声波测距数码管显示&&.....................\超声波测距数码管显示.rar&&.....................\....................\数码管接线方式.jpg&&.....................\....................\脉宽测量&&.....................\....................\脉宽测量.c&&.....................\....................\脉宽测量.hex&&.....................\....................\脉宽测量.lnp&&.....................\....................\脉宽测量.LST&&.....................\....................\脉宽测量.M51&&.....................\....................\脉宽测量.OBJ&&.....................\....................\脉宽测量.Opt&&.....................\....................\脉宽测量.plg&&.....................\....................\脉宽测量.Uv2&&.....................\....................\脉宽测量_Opt.Bak&&.....................\....................\脉宽测量_Uv2.Bak&&.....................\超声波测距系统.doc
&[]:和说明完全不符
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站234万海量源码库中尽情搜索:
&[] - 51单片机超声波测距毕业论文,很好的文章
&[] - 51单片机为主控芯片,1602液晶为显示的超声波测距程序,能精确到0.1cm。
&[] - 51单片机的LCD+超声波测距的模块,包括在显示屏上显示距离(所测的)
&[] - 单片机实现的超声波测距程序,验证过了,很不错!
&[] - 用单片机实现的超声波测距程序,采用中断加定时方式测距,测量误差可以达到在0.5CM之内
&[] - 超声波测距完整资料包,包含原理图,多个例程,2011全国大学生电子设计竞赛原件清单里有超声波模块,欢迎大家下载。。
&[] - 一个超声测距程序,基于c51系列的c语音源代码,有一定的参考价值
&[] - STM8 驱动超声波测距模块,可用测试测量距离求大神指导,用51控制超声波模块测距程序…_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:68,911贴子:
求大神指导,用51控制超声波模块测距程序…收藏
想用超声波测距离然后再用数码管显示…求吧里大神指导一下…51的简单功能多少能整懂点…
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或基于51单片机的超声波测距系统的设计--《电子世界》2011年10期
基于51单片机的超声波测距系统的设计
【摘要】:详细介绍了超声波测距原理以及基于51单片机的测距原理。以HC-SR04超声波测距模块为核心实现超声波的发射与接收,采用LCD12864显示所测距离。为了避开超声波从发射探头到接收探头的"敏感时间",采用了"延时接收"的方法。
【作者单位】:
【关键词】:
【分类号】:TP274.53【正文快照】:
一、设计任务和性能指标(一)设计任务利用单片机及外围接口电路设计制作一个超声波测距仪器,用液晶显示器将测出的距离显示出来。要求画出系统的电路原理图,实物图,绘出程序流程图,并给出程序清单。(二)性能指标距离显示:用LCD液晶显示器进行显示(单位是米)。测距范围:10cm到4
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
赵旭;;[J];才智;2011年23期
马景乐;郎正荣;米群;王建英;;[J];电子技术;1989年11期
李红霞;;[J];软件导刊;2010年02期
宋敬国;李元宗;徐玉华;;[J];机械工程与自动化;2007年04期
屈召贵;;[J];中小企业管理与科技(下旬刊);2009年03期
赵珂;施琴红;;[J];南昌航空工业学院学报(自然科学版);2006年02期
,解韶峰;[J];电子产品世界;2005年06期
王自强,杨景常;[J];西华大学学报(自然科学版);2004年S1期
翟玲;王才;;[J];科技信息(科学教研);2007年18期
陈海松;李益民;;[J];黄石理工学院学报;2011年03期
中国重要会议论文全文数据库
杨峰;;[A];1999中国控制与决策学术年会论文集[C];1999年
李丹;王景中;;[A];2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(上册)[C];2007年
孙晓晴;王渝;;[A];先进制造技术论坛暨第三届制造业自动化与信息化技术交流会论文集[C];2004年
李萍;李亚荣;;[A];2009中国仪器仪表与测控技术大会论文集[C];2009年
娄莹;王雪洁;程万胜;;[A];1998中国控制与决策学术年会论文集[C];1998年
朱坚民;周福章;庞全;;[A];1995年中国控制会议论文集(上)[C];1995年
谢德民;周俊思;王龙;郭行闯;;[A];'2001全国荷电粒子源、粒子束学术会议论文集[C];2001年
陈旸;张阿卜;陈伟;;[A];2003中国控制与决策学术年会论文集[C];2003年
丁靖;叶桦;;[A];2009年中国智能自动化会议论文集(第三分册)[C];2009年
马宏伟;尚利歌;冯伟;;[A];第六届全国信息获取与处理学术会议论文集(1)[C];2008年
中国重要报纸全文数据库
吴建平;[N];电子报;2001年
李春玲;[N];电子报;2005年
苏成富;[N];电子报;2008年
深圳创索佳电子有限公司供稿;[N];电子报;2001年
深圳 郭学提;[N];电子报;2009年
赵宁;[N];电子报;2005年
湖北 汪礼刚;[N];电子报;2009年
辛文;[N];科技日报;2008年
李春玲;[N];电子报;2002年
李春玲;[N];电子报;2004年
中国博士学位论文全文数据库
姚骏;[D];上海大学;2006年
章小兵;[D];东南大学;2006年
史云;[D];河北农业大学;2009年
林韶峰;[D];浙江大学;2005年
陈国平;[D];电子科技大学;2009年
史志存;[D];中国科学院电子学研究所;2000年
燕学智;[D];吉林大学;2008年
叶涛;[D];中国农业科学院;2006年
蒋林;[D];哈尔滨工业大学;2008年
吴伟;[D];东北大学;2006年
中国硕士学位论文全文数据库
张勇;[D];山东科技大学;2005年
邢晓敏;[D];武汉理工大学;2006年
王兵;[D];华中科技大学;2005年
崔艳;[D];天津工业大学;2003年
郑君;[D];北京交通大学;2008年
李郁峰;[D];太原理工大学;2005年
牛胜锁;[D];华北电力大学(河北);2005年
李应松;[D];西安理工大学;2005年
王宝昌;[D];东北林业大学;2006年
吴高楼;[D];南京理工大学;2007年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备74号}

我要回帖

更多关于 单片机isp是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信