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系列.。