微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > hc-sr04超声波测距程序老是跑飞,求助。

hc-sr04超声波测距程序老是跑飞,求助。

时间:10-02 整理:3721RD 点击:
我用51单片机做芯片,数码管在中断中动态显示,经测试,数码管显示正常,数据处理函数正常。
但下面的程序老是跑飞,开机数码管显示几次就跑飞了。是整个程序跑飞,跑飞后中断是进不去的。
求解答
void HC_SR04(unsigned char *buffer)
{
        if(Flag_HC_SR04_Set == 1)
        {
                uint32 distance;
                Flag_HC_SR04_Set = 0;
                               
                Trig = 1;
                delay();
                Trig = 0;
               
                Echo = 1;
                while(!Echo)
                {
                }
                TR1 = 1;
                while(Echo)
                {
                }       
                TR1 = 0;
                distance = ((TH1 * 256) + TL1) * 1.87 / 100;
                SEG_LED_Dispose(distance,buffer);                //将数据转成数码管显示数据
                TH1 = 0;
                TL1 = 0;
        }
}

                Echo = 1;
                while(!Echo)
                {
                       TR1 = 1;
                }
                while(Echo)
                {
                               TR1 = 0;
                }        

?

                                                           

请问有何见解?

仿真跟一下                                                  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top