资源简介
HC-SR04 超声波测距 C51 精度2MM,调试通过

代码片段和文件信息
/* 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 P3_3
#define TX P3_4
#define LCM_RW P1_1 //定义LCD引脚
#define LCM_RS P1_0
#define LCM_E P1_2
#define LCM_Data P0
#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[] ={“Code By ChenBin“};
unsigned char code email[] = {“McuCore@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[5] ={ 00000};
//写数据
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); //关闭显示
WriteCommandLCM(0x011); //显示清屏
WriteCommandLCM(0x061); // 显示光标移动设置
WriteCommandLCM(0x0F1); // 显示开及光标设置
}
//按指定位置显示一个字符
void DisplayOneChar(uns
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-07-05 17:16 超声波测距LC1602显示\
文件 17312 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量
文件 7587 2011-07-05 16:25 超声波测距LC1602显示\脉宽测量.c
文件 6442 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.hex
文件 33 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.lnp
文件 15131 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.LST
文件 18157 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.M51
文件 19274 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.OBJ
文件 1154 2011-07-05 11:37 超声波测距LC1602显示\脉宽测量.opt.bak
文件 18630 2011-07-05 17:16 超声波测距LC1602显示\脉宽测量.plg
文件 2095 2011-07-05 11:37 超声波测距LC1602显示\脉宽测量.Uv2.bak
文件 68294 2011-07-05 17:16 超声波测距LC1602显示\脉宽测量.uvgui.Administrator
文件 68294 2011-07-05 16:25 超声波测距LC1602显示\脉宽测量.uvgui_Administrator.bak
文件 6444 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.uvopt
文件 13250 2011-07-05 16:55 超声波测距LC1602显示\脉宽测量.uvproj
文件 1149 2011-02-15 18:23 超声波测距LC1602显示\脉宽测量_Opt.Bak
文件 1691 2011-02-18 13:22 超声波测距LC1602显示\脉宽测量_Uv2.Bak
文件 6431 2011-07-05 16:54 超声波测距LC1602显示\脉宽测量_uvopt.bak
文件 13231 2011-07-05 11:37 超声波测距LC1602显示\脉宽测量_uvproj.bak
- 上一篇:淘宝天猫秒杀助手浏览器插件.zip
- 下一篇:IT十八掌徐培成HADOOP笔记
相关资源
- HC-SR04超声波模块(包含基于51stm32配套
- stm32f103精准超声波测距程序_HC-SR04模块
- HC-SR04超声波模块超详细资料
- HC-SR04超声波测距模块STM32源码
- CC2530+DHT11温湿度传感器+HC-SR04超声波传
- 采用HC-SR04实现的超声波测距FPGA源码
- 利用STM32F103驱动HC-SR04超声波模块
- 单片机超声波模块HC-SR04说明
- 多功能小车 51单片机控制 超声测距
- HC-SR04 STM32程序
- HC-SR04超声波测距 STM32 keil
- STM32F1控制HC-SR04超声波测距
- HC-SR04 全套超声波测距资料
- 关于测距模块HC-SR04的内部电路图 ,
- HC-SR04超声波测距资料及例程代码 51单
- STM32F103VET6驱动HC-SR04.rar
- STM32HC-SR04程序
- STM32F103VE_Sonic HC-SR04超声波模块程序
- hc-sr04超声波测距
- 基于STM32的超声波测距程序
- labview小车程序:避障+循迹+超声测距
- HC-SR04超声波模块+STM32F103
- 基于STM32F103ZET6芯片的超声波模块HC-
- STM32超声波测距代码-HC-SR04.zip
- HC-SR04超声波测距显示LED灯闪烁
- STM32F10X 和HC-SR04 测距
- LCD12864串行显示DS18B20温度和超声波测
- 嵌入式linux之mini2440的hc-sr04超声波驱动
- 超声模块HC-SR04说明及例程
- 基于HC-SR04超声波测距LCD12864显示源码
评论
共有 条评论