资源描述:
《[论文精品] 超声波lc1602显示脉宽测量》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、/*============================================================//DYP-ME007超声波测距模块DEMO程序==============================================================SMC1602A(16*2)模拟口线接线方式连接线图:---------------------------------------------------
2、LCM-----51
3、LCM-----51
4、LCM------
5、51
6、--------------------------------------------------
7、
8、DB0-----P1.0
9、DB4-----P1.4
10、RW-------P3.4
11、
12、DB1-----P1.1
13、DB5-----P1.5
14、RS-------P3.3
15、
16、DB2-----P1.2
17、DB6-----P1.6
18、E--------P3.5
19、
20、DB3-----P1.3
21、DB7-----P1.7
22、VLCD接1K电阻到GND
23、----------------------------------------
24、-----------接线:模块TRIG接P2.6ECH0接P2.7本程序源码只供学习参考,不得应用于商业用途,如有需要请联系作者。[注:AT89x51使用12M或11.0592M晶振,实测使用11.0592M]=============================================================*/#include//器件配置文件#include#defineRXP2_7#defineTXP2_6#defineLCM_RWP3_4
25、//定义LCD引脚#defineLCM_RSP3_3#defineLCM_EP3_5#defineLCM_DataP1#defineKey_DataP2_0//定义Keyboard引脚#defineKey_CLKP3_2#defineBusy0x80//用于检测LCM状态字中的Busy标识voidLCMInit(void);voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData);voidDisplayListChar(unsignedc
26、harX,unsignedcharY,unsignedcharcode*DData);voidDelay5Ms(void);voidDelay400Ms(void);voidDecode(unsignedcharScanCode);voidWriteDataLCM(unsignedcharWDLCM);voidWriteCommandLCM(unsignedcharWCLCM,BuysC);unsignedcharReadDataLCM(void);unsignedcharReadStatusLCM(void)
27、;unsignedcharcodemcustudio[]={"mcustudio.com.cn"};unsignedcharcodeemail[]={"fhwxaoo@163.com"};unsignedcharcodeCls[]={""};unsignedcharcodeASCII[15]={'0','1','2','3','4','5','6','7','8','9','.','-','M'};staticunsignedcharDisNum=0;//显示用指针unsignedinttime=0;unsig
28、nedlongS=0;bitflag=0;unsignedchardisbuff[4]={0,0,0,0,};//写数据voidWriteDataLCM(unsignedcharWDLCM){ReadStatusLCM();//检测忙LCM_Data=WDLCM;LCM_RS=1;LCM_RW=0;LCM_E=0;//若晶振速度太高可以在这后加小的延时LCM_E=0;//延时LCM_E=1;}//写指令voidWriteCommandLCM(unsignedcharWCLCM,BuysC)//BuysC为0时忽
29、略忙检测{if(BuysC)ReadStatusLCM();//根据需要检测忙LCM_Data=WCLCM;LCM_RS=0;LCM_RW=0;LCM_E=0;LCM_E=0;LCM_E=1;}//读数据unsignedcharReadDataLCM(void){LCM_RS=1;LCM_RW=1;LCM_E=0;LCM_E=0;LCM_E=1;return(LCM_Data);}//