超声波.c

来自「超声波检测C代码源程序」· C语言 代码 · 共 76 行

C
76
字号
# 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 + =
减小字号Ctrl + -
显示快捷键?