当前位置:首页 > 专题范文 > 公文范文 >

单片机应用中从Excel软件提取字模方法【精选推荐】

时间:2022-10-19 10:45:09 来源:网友投稿

下面是小编为大家整理的单片机应用中从Excel软件提取字模方法【精选推荐】,供大家参考。

单片机应用中从Excel软件提取字模方法【精选推荐】

 

 单片机应用中从 l Excel 软件提取字模的方法

 2009 年 12 月 16 日 13:34 单片机与嵌入式系统 作 者:陈学昌,袁燕 重庆大学 LED 点阵作为一种重要的显示手段,得到了广泛的应用,在单片机控制的点阵显示系统程序中需要解决的一个重要问题就是字符点阵数据的获取,也就是常说的取字模。笔者在工作过程中也遇到这个问题,经学习和研究发现常用的取字模的方法是用专门的取字模软件来完成的,但也遇到点阵大小固定、不能随意选择的问题。比如,在控制 5×7 的 LED 点阵程序中,无法找到合适的软件取得字模。经研究试验发现,使用 Excel 软件可以实现任意点阵大小取字模。

 此方法的核心思想是应用 Excel 的“条件格式”功能。选中 Excel 表格中的任意单元格,使用“格式”菜单中“条件格式”,设置为单元格数值等于 1 时单元格格式为黑色底纹,如图 1 所示。设置成功后会发现当单元格内数值为 1 时,单元格会变成黑色。利用这一功能,可以在 Excel 中形象地显示点阵字模显示效果。在Excel 中选中与需要取模的点阵大小相当的表格区域,一个单元格代表一个 LED,将列宽设置为 2,将此区域中的各个单元格均设置好条件格式,并在需要点亮的LED 对应位置单元格中填人 1,便得到了与显示效果类似的图形。如图 2 中为 5×7点阵中显示数字“1”的效果。然后就可以利用 Excel 的公式功能计算对应行和列的数据,得到点阵数据了。为便于识读,在左侧和顶部分别加上了行标号和列标号,右侧得到的便是每行的字模数据,底部得到的是每列的字模数据。

 在加载了 Excel 的“分析工具库”宏后,可以使用函数 DEC2HEX()将十进制转换为十六进制,并使用函数 TEXT()将其转换为两位的字符,再用&运算符在其后面加上 H,便得到了单片机程序中常用的十六进制数据格式。对应图 2 的 Excel 表格区域位置,5×7 点阵中显示“1”的第 1 行字模数据的公式为: =TEXT(DEC2HEX(B2+C2*2+D2*4+E2*8+F2*16),”00”)&”H”,结果为 04H;第1 列字模数据的公式为: =TEXT(DEC2HEX(B2+B3*2+B4*4+B5*8+B6*16+B7*32+B8*64),”00”&”H”,结果为 00H。其他行、列公式类推。同理,使用&运算符可以将各字模数据组合成单片机程序的数据表格式。如图 2 中第 10 行公式为:,”DB”&B9&","&C9 &","&D9&",","&E9 &","&F9,得到"1",的 5×7 点阵按列取的字模数据为 DB 00H,42H,7FH,40H,00H;图 2 中第 11 行公式为:="DB"&G2&","&G3 8L","&G4&","&G5 &","&G6&","&G7&","&G8,得到“1”的 5×7 点阵按行取的字模数据为DB04H,06H,04H,04H,04H,04H,0EH,成功生成单片机汇编语言数据表格式字模数据,直接复制到单片机程序中即可 使用。

 扩展运用此法,在 Excel 中还可实现七段数码管求字形码。如图 3 中第 9 行中计算七段数码管求字形码的公式为: =TEXT(DEC2HEX(C2+D3*2+D5*4+C6*8+B5*16+B3*32+C4*64),"00")&"H",得到“2”的七段数码管求字形码为 5BH。

  在此使用 Excel 取字模的方法中:

 ?点阵取模的高低位顺序问题可以通过调整单元格计算公式中各位的位权来修改。

 ?不同大小点阵取字模时,以文中 5×7 点阵类推,画出对应大小区域并修改公式计算的单元格数量即可实现。

 ?此方法中如果条件格式设置为“单元格数值等于 1 时单元格格式为黑色底纹”,则计算和求字形码

 显示结果为共阴极数码管字形码,即亮的字段为 1。如需共阳极数码管字形码,即亮的字段为 0,则将条件格式设置为“单元格数值等于 0 时单元格格式为黑色底纹”,并在不需要点亮的位置输入 1,公式不变即可实现。

推荐访问:字模 单片机 提取 单片机应用中从excel软件提取字模的方法 单片机取字模软件怎么用

相关推荐