好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

#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总线的监测系统的开发

#defineLCD_CLEAR_SCREEN0x01//清屏#defineLCD_HOMING0x02//光标返回原点voidLCD_Write(bitstyle,unsignedcharinput){}/****************设置显示模式*******************
推荐度:
点击下载文档文档为doc格式
3kziv77syt1jxus0hkxz44s0w0d4pn00w2k
领取福利

微信扫码领取福利

微信扫码分享