|
#include <reg52.h>
#include <intrins.h>
#define RX echo //接收
#define TX trig //發送
sbit RX=P1^4;
sbit TX=P1^5;
unsigned int time=0;
unsigned long S=0;
sbit moto1=P2^0;
sbit moto2=P2^1; //右
sbit moto3=P2^2;
sbit moto4=P2^3; //左
//sbit sense1=P1^6; //右
sbit sense1=P1^1;
sbit sense2=P1^2;
sbit sense3=P1^3;
sbit PWM1=P2^4;
sbit PWM2=P2^5;
unsigned int speed1=0;
unsigned int speed2=0;
unsigned char count;
int count0=0;
int count1=0;
void delay_1ms(unsigned char x) //1ms延時函數,100ms以內可用 +
{
unsigned char i;
while(x--)
for(i=124;i>0;i--);
}
void delay_m(unsigned int n)
{
unsigned int i=0,j=0;
for(i=0;i<n;i++)
for(j=0;j<21738;j++);
}
void delay(unsigned int xms)
{
unsigned int x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
void compute ()
{
TX=1;
delay_1ms(1);
TX=0;
while(!RX); //當RX3為零時等待
TR1=1; //開啟計數
while(RX); //當RX3為1計數并等待
TR1=0; //關閉計數
time=TH1*256+TL1;
TH1=0;
TL1=0;
S=(time*1.7)/100; //算出來是CM
}
void timer0_init()
{
TMOD=0x12;
TH0=TL0=156;
EA=1;
ET0=1;
TR0=1;
}
void main( )
{
timer0_init();
while(1)
{
compute();
|
-
-
bz6.zip
2018-12-4 21:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.31 KB, 下載次數: 10, 下載積分: 黑幣 -5
小車避障循跡減速
|