智能车制作

标题: 求助STC12C5A60S2的超声波测距问题 [打印本页]

作者: suebillt    时间: 2012-11-7 16:26
标题: 求助STC12C5A60S2的超声波测距问题
用普通51是可以的,但换上加强型的就不行了trig=1;//   delay20us();   trig=0; 这一句,我用while语句循环,输出波形是预料中的,但是衔接起来就不行了,时间被拉得很长,软件就测不到超声波模块的echo的信号了(因为回复信号在trig还没有降到低电平前就完了)困惑我好几天了#include<reg51.h>
#include<intrins.h>
#include "6x8.h"
#include "LQ12864.h"
#define uint unsigned int
#define uchar unsigned char
sbit trig=P1^7;
sbit echo=P3^2; uint succeed;
float t,d;
uint distance,timeh,timel;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay20us()
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
} void init_time1()
{
TMOD=0x11; //两个定时器都工作为16位定时器
TH1=0; //清零
TL1=0; //
}
void T1_time() interrupt 3
{
TH1=0;
TL1=0;
succeed=0;
EA=0;
}
void ex0()interrupt 0
{
timeh=TH1;
timel=TL1;
t=(timeh*256+timel)*1.09;
d=t*0.17;
distance=(int)d;
succeed=1;
TH1=0;
TL1=0;
EA=0;
}void main()
{
LCD_Init();
LCD_6x8(60,0,"start");
init_time1();
while(1)
{
trig=0;
echo=0;
succeed=0;
trig=1;
delay20us();
trig=0;

while(echo==0);
EA=1;
EX0=1;
ET1=1; //定时器1中断允许
TR1=1;
delay(60);
switch(succeed)
{
case 1:
LCD_Cler_6x8(0,0,4);
display();
break;
case 0:
LCD_Cler_6x8(0,2,6);
displayerror();
break;
}
// delay(1000);
}
}
程序就死在红色字体那边




作者: qinlu123    时间: 2012-11-7 19:29
你的时序有问题吧
作者: 宓海宁    时间: 2012-11-8 09:44
定时器中断打开后,等待测试结果,在关闭定时器和中断
作者: suebillt    时间: 2012-11-8 14:37
宓海宁 发表于 2012-11-8 09:44
定时器中断打开后,等待测试结果,在关闭定时器和中断

程序就停在while那边了
作者: 冰葑世纪    时间: 2012-12-24 08:31
试下更改头文件
作者: suebillt    时间: 2012-12-24 10:47
冰葑世纪 发表于 2012-12-24 08:31
试下更改头文件

哪个头文件?

作者: 夏唯夕    时间: 2012-12-31 19:01

作者: suebillt    时间: 2012-12-31 20:25
夏唯夕 发表于 2012-12-31 19:01

????????
作者: v8266    时间: 2014-6-29 16:22
遇到和楼主一样的问题,请问楼主有没有解决?怎么解决的?
作者: HDT    时间: 2014-7-17 20:55
我也一样,不过我一开始是在开发板上实验的,后来感觉程序没错,换了个自己焊的最小系统,就可以了。(我没有仔细看你的程序哈
作者: 湖工~浮生若梦    时间: 2014-7-25 12:47
程序应该没有进入中断。。。
作者: 知识阅览者    时间: 2015-1-5 18:46
#include<reg51.h>
你把这个头文件给换掉换成你所用的芯片的头文件试试。
作者: 知识阅览者    时间: 2015-1-5 18:47
楼主你的问题解决了吗?如果解决了,和大家分享一下哦。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2