基于51单片机的US-100(超声波模块)1602显示程序(共7页).doc





《基于51单片机的US-100(超声波模块)1602显示程序(共7页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的US-100(超声波模块)1602显示程序(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上/*/ Name: LCD1602+US-100+STC89C52 HC-SR04 超声波测距模块串口程序 晶振:11.0592M Designed by : 庶野琴风 Date:2016/08/11 QQ: 接线:模块TRIG接 P3.1 ECH0 接P3.0 RS(CS) 接 P2.0; RW(SID) 接 P2.1; E(SCLK) 接 P2.2; BF 接 P0.7; /*/#include#include#define nops _nop_();_nop_();_nop_();_nop_();/*引脚及变量的定义*/sbit RS = P20; /寄存器选择
2、位sbit RW = P21; /读取选择位sbit E = P22; /使能信号位sbit BF = P07; /忙碌信号位unsigned char code Tab = ;unsigned char code string = range:2cm-4.5m;char part,ge,shi,bai;char idata GLengthLoh2; /接收缓冲区bit success_flag; /定义测试成功标志位/*/*函数名称:delay1ms(void) */*函数功能:延时1毫秒 */*函数参数:void */*/void delay1ms(void) /误差 -0.7us cha
3、r a,b; for(b=102;b0;b-) for(a=3;a0;a-); /*/*函数名称:delaynms(char n) */*函数功能:延时n个1毫秒 */*函数参数:n */*/void delaynms(char n) char a;for(a = 0;a n;a-) delay1ms();/*/*函数名称:BusyTest(void) */*函数功能:判断液晶模块忙碌状态*/*函数参数:返回值:result */*/unsigned char BusyTest() bit result; RS = 0; RW = 1; /RS为低电平,RW为高电平时,可以读状态E = 1;
4、/使能为高电平时可读取信息nops; /延时40us,给硬件反应时间result = BF; /将忙碌标志位电平赋给resultE = 0; /使能1到0:执行指令return result;/*/*函数名称:WriteInstruction(char dictate)*/*函数功能:将模式设置指令或显示地址写入液晶模块*/*函数参数:dictate */*/void WriteInstruction(char dictate) while(BusyTest() = 1); /如果忙碌标志位忙碌则等待RS = 0;RW = 0; /RS/RW位同时为低电平时可写入指令E = 0; /使能0到1
5、:写入指令nops;P0 = dictate; /将数据送入P0口,写入数据或地址nops;E = 1; /使能0到1:写入指令nops;E = 0; /使能1到0:执行指令/*/*函数名称:WriteAddress(char x) */*函数功能:指定字符显示的实际地址 */*函数参数:x */*/void WriteAddress(char x) WriteInstruction(x|0x80);/80H+地址码/*/*函数名称:WriteData(char y) */*函数功能:将数据(字符的标准ASCII码)写入液晶模块*/*函数参数:y */*/void WriteData(char
6、 y) while(BusyTest() = 1); /如果忙碌标志位忙碌则等待RS = 1;RW = 0; /RS为高电平,RW为低电平时,可以写入数据E = 0;P0 = y;nops;E = 1;nops;E = 0;/*/*函数名称:LCDInit(void) */*函数功能:液晶模块初始化 */*函数参数:void */*/void LCDInit(void) delaynms(15); /延时15毫秒,首次写入液晶指令应给反应时间WriteInstruction(0x38);/显示模式设置:162显示,57点阵,8位数据接口delaynms(5); /延时5秒,反应时间 Write
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 US 100 超声波 模块 1602 显示 程序

限制150内