微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机-超声波测距程序

51单片机-超声波测距程序

时间:11-13 来源:互联网 点击:

********************************************/

void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围

{

flag=1; //中断溢出标志

}

/********************************************************/

void StartModule() //T1中断用来扫描数码管和计800MS启动模块

{

TX=1; //800MS 启动一次模块

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

TX=0;

}

/********************************************************/

void main(void)

{

TMOD=0x01; //设T0为方式1,GATE=1

TH0=0;

TL0=0;

TR0=1;

Lcd_init(); //设置液晶显示器

Clr_Scr(); //清屏

Disp_img(logo); //显示欢迎使用本产品LOGO

Delaynms(1000);

Lcd_init(); //从图形显示状态下返回

Lcd_Mark2();

while(1)

{

StartModule();

//计算

while(!RX); //当RX为零时等待

TR0=1; //开启计数

while(RX); //当RX为1计数并等待

TR0=0; //关闭计数

Conut();

delayms(80); //80MS

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top