?? 超聲波.c
字號:
# include<reg51.h>
#include<intrins.h>
#include <absacc.h>
#define unit unsigned int
#define uchar unsigned char
sbit P34=P3^4;
sbit P10=P1^0;
void send();
void receive();
void init_io();
void init_com();
void mDelay(unsigned int Delay);
void delay_us(uchar time);
void qidongcs();
uchar TL0data,TH0data; //T0計數值
uchar recdata=0; //從上位機接收到的數據
uchar recFlag=0;//接收回波標志
unit DlyT;
void int1()interrupt 2
{
TR0=0;
recFlag=1;
}
void main()
{
init_io();
init_com();
for(;;)
{
//P10=!P10;
qidongcs();
//////////////////延時1.765ms
mDelay(1);
/* DlyT=200;//230;
while(--DlyT);*/
/////////////////////
EX1=1;
mDelay(45);
EX1=0;
if(recFlag==1)
{
//P10=!P10;
recFlag=0;
TH0data=TH0;
TL0data=TL0;
send();
//mDelay(100);
}
}
}
void init_io()
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x0f;
}
void init_com()
{
SCON=0x50; //選擇串口工作方式1 允許接收
PCON=0x80; //波特率加倍
TMOD=0x21; //定時器1工作方式2(8位自動重裝)//T0設置為方式1,16位定時器
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -