Đây là trương trình đo khoảng cách bằng sóng siêu âm dùng srf05 hiển thị trên LCD. Thaks các bác.
#include<at89x52.h>
#include<lcd.c>
unsigned char array[5];
void inter() interrupt 0
{
unsigned int time_return;
char i;
TR0=0;
time_return=(TH0<<8)|TL0;
time_return=(time_return-15535)/58;
TR0=1;
for(i=0;i<5;i++)
{
array[i]=time_return%10;
time_return/=10;
}
mov(1,5);
for(i=4;i>=0;i--)
{
dat(array[i]+48);
}
dat_str(":cm");
}
void time() interrupt 1
{
unsigned char i;
TR0=0;
P1_0=1;
TH0=0x3c;
TL0=0xaf;
for(i=0;i<3;i++);
P1_0=0;
P3_2=1;
while(!P3_2);
TR0=1;
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xaf;
ET0=1;
EX0=1;
IT0=1;
EA=1;
TR0=1;
int_lcd();
dat_str("Time xung tra ve");
while(1)
{
}
}
#include<at89x52.h>
#include<lcd.c>
unsigned char array[5];
void inter() interrupt 0
{
unsigned int time_return;
char i;
TR0=0;
time_return=(TH0<<8)|TL0;
time_return=(time_return-15535)/58;
TR0=1;
for(i=0;i<5;i++)
{
array[i]=time_return%10;
time_return/=10;
}
mov(1,5);
for(i=4;i>=0;i--)
{
dat(array[i]+48);
}
dat_str(":cm");
}
void time() interrupt 1
{
unsigned char i;
TR0=0;
P1_0=1;
TH0=0x3c;
TL0=0xaf;
for(i=0;i<3;i++);
P1_0=0;
P3_2=1;
while(!P3_2);
TR0=1;
}
void main()
{
TMOD=1;
TH0=0x3c;
TL0=0xaf;
ET0=1;
EX0=1;
IT0=1;
EA=1;
TR0=1;
int_lcd();
dat_str("Time xung tra ve");
while(1)
{
}
}
Comment