资源简介
超详细的超声波资料,附有代码可直接下载。本人亲自验证过,有效
代码片段和文件信息
/*============================================================
//HC-SRO4 超声波测距模块 DEMO 程序
// QQ: 517535000
//淘宝店铺:http://shop58246706.taobao.com
==============================================================
SMC1602A(16*2)模拟口线接线方式
连接线图:
---------------------------------------------------
|LCM-----51 | LCM-----51 | LCM------51 |
--------------------------------------------------|
|DB0-----P1.0 | DB4-----P1.4 | RW-------P3.4 |
|DB1-----P1.1 | DB5-----P1.5 | RS-------P3.3 |
|DB2-----P1.2 | DB6-----P1.6 | E--------P3.5 |
|DB3-----P1.3 | DB7-----P1.7 | VLCD接1K电阻到GND|
---------------------------------------------------
接线:模块TRIG接 P2.6 ECH0 接P2.7
本程序源码只供学习参考,不得应用于商业用途,如有需要请联系作者。
[注:AT89x51使用12M或11.0592M晶振实测使用11.0592M]
=============================================================*/
#include //器件配置文件
#include
#define RX P2_7
#define TX P2_6
sbit LCM_RS=P2^6;
sbit LCM_RW=P2^5;
sbit LCM_E=P2^7;
#define LCM_Data P1
#define Key_Data P2_0 //定义Keyboard引脚
#define Key_CLK P3_2
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
void LCMInit(void);
void DisplayOneChar(unsigned char X unsigned char Y unsigned char DData);
void DisplayListChar(unsigned char X unsigned char Y unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCMBuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char code mcustudio[] ={“mcustudio.com.cn“};
unsigned char code email[] = {“fhwxaoo@163.com “};
unsigned char code Cls[] = {“ “};
unsigned char code ASCII[15] = {‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘.‘‘-‘‘M‘};
static unsigned char DisNum = 0; //显示用指针
unsigned int time=0;
unsigned long S=0;
bit flag =0;
unsigned char disbuff[4] ={ 0000};
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 0; //延时
LCM_E = 1;
}
//写指令
void WriteCommandLCM(unsigned char WCLCMBuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//读数据
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //检测忙信号
return(LCM_Data);
}
void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x380); //三次显示模式设置,不检测忙信号
Delay5Ms();
WriteCommandLCM(0x380);
Delay5Ms();
WriteCommandLCM(0x380);
Delay5Ms();
WriteCommandLCM(0x381); //显示模式设置开始要
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5287 2009-12-22 22:40 超声波测距51C程序\51.C
目录 0 2010-03-12 19:25 超声波测距51C程序
----------- --------- ---------- ----- ----
5287 2
- 上一篇:无人机飞行PID控制
- 下一篇:lwip_ping.rar
相关资源
- DYP-ME007超声波模块资料以及驱动程序
- 智能小车红外遥控超声波测距
- US100例程资料
- 基于TMS320F2812的相关法超声波流量计研
- STM32-串口能显示-超声波测距SR04 - LC
- 项目二-51单片机-倒车雷达控制系统设
- HC-SR04超声波测距模块STM32源码
- 基于stm32f4zgt6超声波模块测距.rar
- 基于STM32F103C8T6超声波测距源码及接线
- 51单片机超声波测距模块全套程序
- 三路超声波测距,亲测有用
- arduino超声波避障小车
- FundamentalsofUltrasonicNondestructiveEvaluati
- CC2530+DHT11温湿度传感器+HC-SR04超声波传
- us100超声波测温测距模块介绍及程序
- 基于stm32超声波震荡频率stm32程序+原理
- 采用HC-SR04实现的超声波测距FPGA源码
- 西门子外夹式超声波流量计安装指导
- 西门子符合 HART 的 超声波流量计SIT
- 德国氟莱克森 FLUXUS ADM 6725便携式超声
- TDS-100系列超声波流量计产品说明书
- 利用STM32F103驱动HC-SR04超声波模块
- STM32F407-四路超声波测距代码
- 串口超声波.zip
- STM32F103超声波输入捕获测距
- 毕设-超声波测距仪
- GP22-EVA-KIT.rar
- STM32+超声波传感器HC_RS04+光照传感器
- 汇编程序测控51单片机超声波测距16
- 基于GP22的超声波流量计
评论
共有 条评论