软件:Keil uVision2、ISIS 7 Professional
仿真内容:LCD1602显示,超声波测距
仿真结果:
实际效果
仿真结果:
单片机源程序如下:
- #include <LCDcmd.h>
- sbit LEDRed=P1^7; //测距指示灯
- sbit Trig=P1^6; //HC-SR04触发信号输入
- sbit Echo=P1^5; //HC-SR04回响信号输入,初始状态为高电平
- float DistanceValue=0.0;
- float s;
- //延时函数
- void Delay20us()
- {
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- float GetDistance()
- {
- Trig=1;
- Delay20us();
- Trig=0;
- while(!Echo);
- TH0=0;
- TL0=0;
- TR0=1;
- while(Echo);
- TR0=0;
- s=((TH0*256+TL0)*1.7)/100;
- TH0=0;
- TL0=0;
-
- return s;
- }
- void main()
- {
- Trig = 0;
- TMOD=0x01;
- LcdInitiate(); //1602初始化
- while(1)
- {
- GetDistance();
- display_val(s,0x80+0x4a);//显示距离值
- delay1(100);
- }
- }
复制代码
所有资料51hei提供下载:
超声波模块.rar
(65.58 KB, 下载次数: 40)
|