嵌入式系统中数据与字符串的转换及应用
2012-09-25权建军胡佩琦
单片机与嵌入式系统应用 2012年4期
权建军,胡佩琦
(兰州石化职业技术学院 电子电气工程系,兰州 730050)
引 言
在嵌入式应用系统的开发中,经常遇到通过LCD显示数据、通过键盘键入数据之类的问题。
LCD显示,由于显示方式灵活、界面友好,在嵌入式应用系统中得到了广泛的应用。在嵌入式应用系统中,较为常用的LCD有字符型的1602、点阵型的LCM12864,以及带汉字库的12864Z等。无论哪种LCD,其显示字符都用ASCII码。而要显示数值,就必须进行数值到字符串的变换。
同样,在嵌入式系统中,经常使用矩阵键盘进行数据等的键入,如输入“幅值”、“相位”等数据信息。对于数字的键入,就必然涉及字符串到数据的转换问题。
1 数据转字符串的方法及应用
从数据到字符串的转换,典型方法是先进行字位分离,将每个字转为ASCII码(数字+0x30即转为ASCII码)后送LCD显示。这种方法比较繁琐,每次显示都要进行这样的工作。
当然,也可以利用itoa函数编写从整型到字符串的转换函数,把整型数转换为字符串,进而送LCD显示。下面就是把整型数转为字符串的程序:

这种方法对空间占用不大,对于无符号整型数是比较方便的;对于有符号的整型数,需要判断正负,程序编写方法也类似;对于浮点数,编制这种程序比较繁琐。
其实,除此之外,KEIL C和ICC还提供了更为有效的方法,实现数据到字符串的转换。
1.1 KEIL C环境下数据到字符串的转换
在KEIL C的stdio.h中提供了sprintf语句可以进行数据到字符串的格式转换。以下是在KEIL C环境下编写的LCD1602显示整型数和浮点数的程序:

运行的结果是在LCD1602第1行显示“a=-1235”,第2行显示“b=1.235”。……
登录APP查看全文
