sprintf函数在LCD中使用

  • 格式:doc
  • 大小:24.00 KB
  • 文档页数:1

#include<stdio.h>//包含sprintf函数对于LCD1602/LCD12864显示数字很有用float temperature;
char displaytemp[16];//定义显示区域临时存储数组
temperature=(float)temp*0.0625;
sprintf(displaytemp,"Temp % 7.3f",temperature);//打印...
//sprintf函数功能:把格式化的数据写入某个字符串
//%[指定参数][标识符][宽度][.精度]指示符
//1. 处理字符方向。

负号时表示从后向前处理。

//2. 填空字元。

0 的话表示空格填0;空格是内定值,表示空格就放着
//3. 字符总宽度。

为最小宽度。

//4. 精确度。

指在小数点后的浮点数位数
// %% 印出百分比符号,不转换。

// %c 整数转成对应的 ASCII 字元。

// %d 整数转成十进位。

// %f 倍精确度数字转成浮点数。

// %o 整数转成八进位。

// %s 整数转成字符串。

// %x 整数转成小写十六进位。

// %X 整数转成大写十六进位。

LCD_Write_String(0,1,displaytemp);//显示
还有一种显示数字法:show[i]=time_buf1[j]/10+'0';//加上'0'是将数字转成字符
STC12C5A60S2
传统8051单片机执行I/O口操作,由高变低或由低变高,以及读外部状态都是12个时钟,而现在STC12系列单片机执行相应的操作是4个时钟。

传统8051单片机如果对外输出为低,直接读外部状态是读不对的。

必须先将I/O口置高才能够读对,而传统8051单片机由低变高的指令是12小时钟,该指令执行完成后,该I/O口也确定已变高。

故可以紧跟着由低变高的指令后面,直接执行读该I/O口状态指令。

而STC12系列单片机由于执行由低变高的指令是4个时钟,太快了,相应的指令执行完以后,I/0口还没有变高,要再过一个时钟之后,该I/O口才可以变高。

故建议此状况下增加2个空操作延时指令再读外部品的状态。

最新STC12系列单片机I/O口的灌电流是20mA,驱动能力超强,驱动大电流时,不容易烧坏. 传统STC89Cxx系列单片机I/O口的灌电流是6mA,驱动能力不够强,不能驱动大电流,建议使用STC12系列.。