51超声波串口显示程序。
/***********************************************************************************************************/
//HC-SR04 超声波测距模块 DEMO 程序
//晶振:11。0592
//接线:模块TRIG接 P1.2 ECH0 接P1.1
//串口波特率9600
/***********************************************************************************************************/
#include #include #include #define uchar unsigned char #define uint unsigned int #define RX P1_1 #define TX P1_2 unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0; /********************************************************/ void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; //算出来是CM if(flag==1) //超出测量 { flag=0; printf("-----n"); } printf("S=%fn",S); } /********************************************************/ void delayms(unsigned int ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i) { j=10; while(--j); } } } /********************************************************/ 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=0x21; //设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0; TR0=1; ET0=1; //允许T0中断 TR1=1; //开启定时器 TI=1; EA=1; //开启总中断 while(1) { StartModule(); while(!RX); //当RX为零时等待 TR0=1; //开启计数 while(RX); //当RX为1计数并等待 TR0=0; //关闭计数 Conut(); //计算 delayms(100); //100MS } }
上一篇:基于51 单片机的串口收发数据
下一篇:51单片机实现printf函数
推荐阅读最新更新时间:2024-11-08 18:52
设计资源 培训 开发板 精华推荐
- STEVAL-ISV021V1,基于 SPV1050 电池充电器的能量收集演示套件
- EVAL-AD7951CB,AD7951 评估板,14 位,1 Msps PulSAR 模数转换器
- NCV33072DR2G 高顺从电压至灌电流转换器的典型应用
- ADA4062-2ARZ-R7运算放大器用作陷波滤波器电路的典型应用电路
- NCP1729 具有高电流能力的正输出倍压器的典型应用
- 用于 LCD 背光的 8-LED 白光 LED 驱动器
- PCB垫板
- LTC3646IMSE 24V 输入至 5V 输出 (1MHz 频率) 和 EXTVCC 同步降压转换器的典型应用电路
- 具有突发模式操作的 LT1269 高效 5V 稳压器的典型应用电路
- 使用 Diodes Incorporated 的 PT8A 3519CPE 的参考设计