第一范文网 - 专业文章范例文档资料分享平台

基于modbus总线的监测系统的开发

来源:用户分享 时间:2025/6/1 1:39:29 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#define LCD_CLEAR_SCREEN 0x01 // 清屏 #define LCD_HOMING

0x02 // 光标返回原点

void LCD_Write(bit style, unsigned char input) { }

/****************设置显示模式***********************/ #define LCD_SHOW 0x04 //显示开 #define LCD_HIDE 0x00 //显示关 #define LCD_CURSOR 0x02 //显示光标 #define LCD_NO_CURSOR 0x00 //无光标 #define LCD_FLASH 0x01 //光标闪动 #define LCD_NO_FLASH 0x00 //光标不闪动 void LCD_SetDisplay(unsigned char DisplayMode) {

LCD_Write(LCD_COMMAND, 0x08|DisplayMode);

LcdEn=0; LcdRs=style; LcdRw=0;

_nop_();

DBPort=input; _nop_();//注意顺序 LcdEn=1; LcdEn=0; LCD_Wait();

_nop_();//注意顺序 _nop_();

}

/****************设置输入模式***********************/ #define LCD_AC_UP 0x02

#define LCD_AC_DOWN 0x00 // default #define LCD_MOVE 0x01 // 画面可平移 #define LCD_NO_MOVE 0x00 //default void LCD_SetInput(unsigned char InputMode) { }

/***************初始化LCD**************************/ void LCD_Initial() { }

/***************液晶字符输入的位置*******************/ void GotoXY(unsigned char x, unsigned char y)

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 LCD_Write(LCD_COMMAND, 0x04|InputMode);

{ }

/**************将字符输出到液晶显示*****************/ void Print(unsigned char *str) { }

/***********ds18b20子程序***************************/ /***********ds18b20延迟子函数(晶振12MHz )********/ void delay_18B20(unsigned int i) { }

/**********ds18b20初始化函数**********************/

while(i--); while(*str!='\\0') { }

LCD_Write(LCD_DATA,*str); str++; if(y==0)

LCD_Write(LCD_COMMAND,0x80|x);

if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40));

void Init_DS18B20(void) {

unsigned char x=0; DQ = 1; //DQ复位 delay_18B20(8); //稍做延时 DQ = 0; //单片机将DQ拉低 delay_18B20(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay_18B20(14);

x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 }

/******************ds18b20读一个字节********************/ unsigned char ReadOneChar(void) {

uchar i=0; uchar dat = 0; for (i=8;i>0;i--) {

DQ = 0; // 给脉冲信号

dat>>=1;

DQ = 1; // 给脉冲信号 delay_18B20(20);

}

if(DQ) dat|=0x80; delay_18B20(4);

return(dat); }

/****************ds18b20写一个字节*********************/ void WriteOneChar(uchar dat) {

unsigned char i=0; for (i=8; i>0; i--) { } }

/****************读取ds18b20当前温度*******************/ void ReadTemp(void) {

DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat>>=1;

搜索更多关于: 基于modbus总线的监测系统的开发 的文档
基于modbus总线的监测系统的开发.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3kziv77syt1jxus0hkxz44s0w0d4pn00w2k_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top