资源简介
HC-SR04 超声波测距 资料 例程代码 51单片机 绝对能用
![](http://www.nz998.com/pic/65983.jpg)
代码片段和文件信息
/*============================================================
//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 “reg52.H“ //器件配置文件
#include “intrins.h“
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
sbit RX=P1^0;
sbit TX=P1^1;
sbit LCM_RW=P2^6; //定义LCD引脚
sbit LCM_RS=P2^5;
sbit LCM_E =P2^7;
sbit LCM_Data=P0;
sbit Key_Data=P3^3; //定义Keyboard引脚
sbit Key_CLK=P3^2;
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); //显示模式设置开始要求每次检测忙信号
WriteCommandLCM(0x081); //关闭显示
Writ
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5287 2009-12-22 22:40 超声波测距51C程序\51.C
目录 0 2010-03-12 19:25 超声波测距51C程序
----------- --------- ---------- ----- ----
5287 2
相关资源
- 并购重组资料(协议模板)
- 高压无刷电机的硬件资料
- STM32中文资料
- 清翔电子MCS51开发板资料_新版 01_开发
- 直流稳压电源资料,78,79系列
- 美赛论文MCM两个word模板 论文格式 w
- 红外接收头资料(各种品牌的红外接
- 国外汇编语言实验资料
- MCAFEE epo 培训资料
- MAX5417底层代码和资料
- SAS3008芯片资料
- 鼎捷 T100 管理软件 V1.0 操作手册
- max262中文资料
- Logistic回归总结非常好的机器学习总结
- 高通CPU救砖工具刷入完整资料
- Cisco Secure PIX 515防火墙产品资料
- VL53L0X激光测距传感器资料
- 2018数学建模相关资料与思路
- 软件工程Roger S.Pressman
- SAEJ1939 全部资料打包中英文
- 安富莱STM32开发板资料
- Modelsim学习资料很全
- IR204PT202C红外接收管中文资料
- PCI-EXPRESS总线基础规范,白皮书,中文
- 易语言修改qq资料模块源码
- 数学资料合集 Math Complete
-
西门子4SI IO-li
nk使用入门.pdf - 易语言post登录DZX2论坛读个人资料源码
- AI人工智能学习资料全套
- N76E003开发资料最新SDK参考代码
评论
共有 条评论