多点式单总线数字温度监测系统(完整程序)(7)

2018-11-22 18:40

Print(xiaoshu_temp);

}

else //负 { Print(\ Print(zhen_temp); if(dot_dis)

Print(\

Print(xiaoshu_temp);

}

Print(\ //delay(100);

}

while(1);

}

void delay1_64ms(void) { uchar i;

for(i = 0;i < 250;i++) { _nop_(); _nop_(); _nop_(); _nop_();

}

}

/******功能:延时40us**参数:无/*void delay40us(void) { uchar i;

for(i = 0;i < 20;i++) {

;

11

****/

}

}*/

/******功能:判断LCD忙 ****参数:无 ****/ unsigned char Lcd_Wait(void) { while(1) {

DBPort=0xff; LcdEn=0; _nop_(); LcdRs=0; _nop_(); _nop_(); LcdRw=1; _nop_(); _nop_(); LcdEn=1; _nop_(); _nop_(); _nop_(); _nop_();

if((DBPort&0x80)==0) { break;

} LcdEn=0; }

//delay40us(); return DBPort;

}

/*******功能:写LCD函数****参数:style为写命令/数据,0-命令,数据;input为写入的8位 ****命令/数据*****/

void Lcd_Write(bit style,unsigned char input) {

12

1- }

LcdEn=0; _nop_(); _nop_(); LcdRs=style; _nop_(); _nop_(); LcdRw=0; DBPort=input; _nop_(); _nop_(); LcdEn=1; _nop_(); _nop_(); LcdEn=0; _nop_(); Lcd_Wait();

/*********功能:LCD清屏函数**参数:无*******/ void ClrScreen(void) { }

/*********功能:LCD归位函数**参数:无 *******/ void Screen_home(void) { }

/********功能:设置显示模式 **参数: ******/ void Lcd_SetDisplay(unsigned char DisplayMode) { }

Lcd_Write(Lcd_Command,0x08|DisplayMode); Lcd_Write(Lcd_Command,Lcd_Home); //delay1_64ms();

Lcd_Write(Lcd_Command,Lcd_Clear_Screen); //delay1_64ms();

13

/********功能:LCD移动设置 **参数:取值如下 ******/ void Lcd_Move(unsigned char MoveMode) { }

/*********功能:LCD输入设置**参数:取值如下 *******/ void Lcd_SetInput(unsigned char InputMode) { }

/*********功能:LCD初始化**参数:取值如下*******/ void Lcd_Init(void) {

Lcd_Write(Lcd_Command,0x38); //8位数据端口,2行显示,5*7点阵 Lcd_SetDisplay(Lcd_Display_On); //开启显示, 无光标|Lcd_Cursor|Lcd_Flash }

/*********功能:显示位置设置**参数:x-行;y-列 *******/ void GotoXY(unsigned char x,unsigned char y) { }

/********功能:LCD显示函数**参数:str-要显示的字符串指针*****/ void Print(unsigned char *str) {

while(*str!='\\0') { if(y==0)

{Lcd_Write(Lcd_Command,0x80|x); }

{Lcd_Write(Lcd_Command,0x80|(x+0x40)); }

//Lcd_Move(Lcd_CursorMove|Lcd_Left);

Lcd_SetInput(Lcd_Ac_Up|Lcd_No_Move); //AC递增, 画面不动_To Lcd_Write(Lcd_Command,0x04|InputMode); Lcd_Write(Lcd_Command,0x10|MoveMode);

if(y==1)

14

Lcd_Write(Lcd_Data,*str); str++; }

}

void print_char(uchar a) { if(a>=0&&a<=9)

Lcd_Write(Lcd_Data,a+'0'); else if(a>=0x0a &&a<= 0x0f)

Lcd_Write(Lcd_Data,a+0x37);

}

void delay600us(void)

{ uchar i;

for(i=0;i<255;i++);

}

/******功能:延时60us **参数:无void delay60us(void) { uchar i;

for(i=0;i<20;i++);

}

/******功能:延时240us **参数:无void delay240us(void) { uchar i;

for(i=0;i<80;i++); }

/******功能:延时18us **参数:无/*void delay15us(void) { uchar i;

for(i=0;i<2;i++); }*/

15

****/ ****/ ***/


多点式单总线数字温度监测系统(完整程序)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:案例分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: