˜Ë(bi¨¡o)î}:
†ÎƬ™C(j¨©)³¬Â•²¨œy(c¨¨)¾à³ÌÐò?y¨¤n)éʲô²»ÄÜÓ㿳ÌÐòÔÚÏÂÃæ£¬ÄÄλ´óÀÐŽÍ¿´¿?
[´òÓ¡±¾í“(y¨¨)]
×÷Õß:
ÉÆÁ¼µÄСÌì
•r(sh¨ª)ég:
2019-4-14 16:21
˜Ë(bi¨¡o)î}:
†ÎƬ™C(j¨©)³¬Â•²¨œy(c¨¨)¾à³ÌÐò?y¨¤n)éʲô²»ÄÜÓ㿳ÌÐòÔÚÏÂÃæ£¬ÄÄλ´óÀÐŽÍ¿´¿?
#include "sys.h"
//#include "lcd12864.h"
sbit Trig = P1^1;
sbit Echo = P1^2;
uint cnt = 0; //•r(sh¨ª)égȦ”µ(sh¨´)
void Timer0_Init(void)
{
/*¶¨•r(sh¨ª)Æ÷0³õʼ»¯*/
TMOD |= 0x01; //ßx“ñ¶¨•r(sh¨ª)Æ÷0¹¤×÷ ¹¤×÷·½Ê½žé·½Ê½1
TH0 = 0; //Ñb³õÖµ0
TL0 = 0;
TF0 = 0; //ÖДàÒç³ö˜Ë(bi¨¡o)־λ
ET0 = 1; //é_(k¨¡i)¶¨•r(sh¨ª)Æ÷ÖДà
EA = 1; // é_(k¨¡i)¿‚ÖДà
}
float Distance1(void)
{
uint time_data=0;
float Distance;
uint outcomeH=0,outcomeL=0;
/* °l(f¨¡)ËÍ20usÃ}›_ */
Trig = 0;
Delay10us();
Trig = 1;
Delay20us();
Trig = 0;
/* ÅДàÊÇ·ñ½ÓÊܵ½»Ø²¨£¬½ÓÊܵ½»Ø²¨´òé_(k¨¡i)¶¨•r(sh¨ª)Æ÷*/
while(!Echo);
TR0 = 1;
while(Echo);
TR0 = 0;
if(cnt < 5)
{
time_data = outcomeH*256 + outcomeL ;
Distance = time_data / 58;
}
else
{
Distance = 0;
}
cnt = 0;
TH0 = TL0 = 0;
return Distance;
}
void Timer0() interrupt 1
{
cnt++;
}
Ö÷³ÌÐò£º
void main()
{
float uidistance = 0;
EA = 0;
Timer0_Init();
LcdInit();
while(1)
{
LED = !LED;
uidistance = Distance1();
LcdShowNum(2,3,uidistance);
delay_ms(20);
}
}
×÷Õß:
yzwzfyz
•r(sh¨ª)ég:
2019-4-15 16:39
outcomeHÔÚÄÄÀï¸Ä׃µÄ£¬Èç¹û›](m¨¦i)Óеط½¸Äžé£¬ËüŒ¢ÓÀßh(yu¨£n)=0¡£outcomeLÒ²Ò»˜Ó¡£
šgÓ¹âÅR (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1