xiao_menghan 发表于 2010-11-22 14:14:21

裸奔程序在屏幕上显示变量数据的可行性

大家好,我是用TQ2440ARM板在裸奔运行自己写的一些程序。为了在屏幕上显示汉字我自己建立了汉字库,并实现了汉字的显示。但是现在想在屏幕上显示数据,即阿拉伯数字。关键是这数字是个变量,可能是10到100,每次结果不确定的。这可怎么显示?我的想法是将数字也放到汉字库里,用循环比较来确定这个变量到底是多少,然后再输出。但这样貌似很麻烦。请高手指点指点。

xiao_menghan 发表于 2010-11-22 17:29:05

搞了一下午搞出来了。思路就是将0到9也写入到字库里去。(注意:数字通过汉字取模工具时取出来只有16个数字,要修改其点阵大小使其与汉字一样,然后再修改像素位置,将数字显示在中间部分,以取得更美观的效果)由于我要显示的变量位数不超过3位,我将此变量i/100得到的结果显示就是百位,将i%100再除以10就得到十位,再显示出来,以此类推。。。程序长了些,不过终于实现我要的功能了,呵呵。

chen_767 发表于 2010-11-22 17:38:06

你 很 能 搞

天嵌_support1 发表于 2010-11-22 17:39:20

2# xiao_menghan

自己制作的字库?
制作出来让网友们使用感受一下呀

xiao_menghan 发表于 2010-11-30 13:11:26

由于我现在用这个做毕业设计,程序现在还不方便全给出来。我的程序全是在test程序的基础上改出来的。上面说的字库,我是用汉字取模软件将我要用到的几个汉字和0到9几个阿拉伯数字放到汉字库中。要在液晶屏上显示时再用LCD_Paint_Hz()函数调用字库输出。

xiao_menghan 发表于 2010-11-30 13:27:41

程序太长了,贴出来也不方便。等毕业了再全部上传。把主要函数说下吧。LCD_Paint_Hz(70,140,16,1,&hz16,0xffff,0x0000);这句中70和140是输出的字在屏幕上的位置,16和1我也没仔细看懂是啥作用,我一般默认这两个参数。hz16[]这个数组保存着字库中所有字取模后的数据(一般每个字为32个数据)。0xffff,0x0000为输出字的颜色和背景颜色。字库见附件。我上面这句函数输出的就是“第”字。有兴趣的可以试试。修改hz16中的224可以输出字库中其他字,如将224改为256,输出的就是“一”字。当然这些仅仅是基本的字库输出演示。晕了,不支持上传.C文件。汉字字库的代码贴下面吧。顺便说下,我的屏是东华3.5寸液晶屏。
#include "LCD_TFT.h"

#define WIN32

#if(LCD_Type == LCDW35)                        // 3.5寸屏

unsigned char hz16[] = {

/*---------------钢----------------*/
0x20,0x00,0x21,0xFE,0x3F,0x02,0x21,0x0A,0x41,0x8A,0x7D,0x52,0xA1,0x22,0x21,0x22,
0xFD,0x52,0x21,0x4A,0x21,0x8A,0x21,0x02,0x29,0x02,0x31,0x02,0x21,0x0A,0x01,0x04,
/*---------------丝32----------------*/
0x00,0x00,0x08,0x20,0x0C,0x30,0x18,0x20,0x10,0x68,0x22,0x4C,0x7E,0xF8,0x24,0x50,
0x08,0x20,0x10,0x40,0x3E,0xFC,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,

/*---------------绳64----------------*/
0x20,0x00,0x31,0xF8,0x21,0x08,0x41,0x08,0x49,0xF8,0xF8,0x40,0x13,0xFC,0x22,0x44,
0x43,0xFC,0xFA,0x44,0x03,0xFC,0x00,0x40,0x18,0x42,0xE0,0x42,0x00,0x3E,0x00,0x00,
/*---------------张96----------------*/
0x00,0x80,0xF8,0x88,0x08,0x8C,0x08,0x90,0x78,0xA0,0x40,0xC0,0x40,0x80,0x43,0xFE,
0xF8,0xA0,0x48,0xA0,0x08,0x90,0x08,0x90,0x08,0x88,0x08,0xA6,0x29,0xC4,0x10,0x80,

/*---------------力128----------------*/
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFC,0x01,0x04,0x01,0x04,0x01,0x04,
0x01,0x04,0x02,0x04,0x02,0x04,0x04,0x04,0x04,0x04,0x08,0x04,0x10,0x28,0x20,0x10,
   
/*---------------平160----------------*/
0x7F,0xFC,0x01,0x00,0x21,0x10,0x11,0x18,0x09,0x10,0x0D,0x20,0x09,0x40,0x01,0x00,
0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,

/*---------------衡192----------------*/
0x22,0x00,0x33,0xDE,0x44,0x40,0x58,0x80,0x97,0xC0,0x25,0x5E,0x67,0xC4,0xA5,0x44,
0x27,0xC4,0x21,0x04,0x2F,0xE4,0x21,0x04,0x22,0x84,0x24,0x54,0x28,0x28,0x20,0x00,

/*---------------第224----------------*/
0x10,0x40,0x1F,0x7E,0x28,0xA0,0x45,0x10,0x9F,0xF8,0x00,0x88,0x1F,0xF8,0x10,0x80,
0x10,0x80,0x1F,0xFC,0x01,0x84,0x02,0x84,0x0C,0x94,0x70,0x88,0x00,0x80,0x00,0x80,

/*---------------一256----------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*---------------二288----------------*/
0x00,0x00,0x00,0x10,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,

/*---------------三320----------------*/
0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,

/*---------------四352----------------*/
0x00,0x00,0x7F,0xFC,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,
0x48,0x84,0x48,0x7C,0x50,0x04,0x60,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00,

/*----------------根384---------------*/
0x10,0x00,0x11,0xF8,0x11,0x08,0xFD,0x08,0x11,0xF8,0x11,0x08,0x39,0x08,0x35,0xF8,
0x51,0x84,0x51,0x4C,0x91,0x30,0x11,0x10,0x11,0x48,0x11,0x8E,0x11,0x04,0x10,0x00,

/*----------------超416---------------*/
0x08,0x00,0x09,0xFC,0x08,0x44,0x7E,0x44,0x08,0x44,0x08,0x54,0xFE,0x88,0x09,0xFC,
0x48,0x84,0x4E,0x84,0x48,0x84,0x48,0xFC,0x48,0x84,0xA8,0x00,0x9F,0xFE,0x00,0x00,

/*---------------出448----------------*/
0x01,0x00,0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x3F,0xFC,0x21,0x04,
0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x3F,0xFC,0x20,0x04,0x00,0x00,

/*----------------偏480---------------*/
0x10,0x80,0x18,0x40,0x17,0xFC,0x24,0x04,0x34,0x04,0x67,0xFC,0xA4,0x00,0x27,0xFC,
0x26,0x94,0x26,0x94,0x2B,0xFC,0x2A,0x94,0x2A,0x94,0x32,0x94,0x22,0x84,0x22,0x0C,
/*----------------差512---------------*/
0x08,0x20,0x06,0x30,0x04,0x40,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x02,0x00,0xFF,0xFE,
0x04,0x00,0x08,0x00,0x0F,0xF8,0x10,0x80,0x20,0x80,0x40,0x80,0x9F,0xFE,0x00,0x00,
/*----------------0 544---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,
0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,0x01,0x80,0x00,0x00,0x00,0x00,
/*----------------1 576---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x07,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,
/*----------------2 608---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x04,0x20,0x04,0x20,0x04,0x20,0x00,0x40,
0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x20,0x07,0xE0,0x00,0x00,0x00,0x00,
/*----------------3 640---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x04,0x20,0x04,0x20,0x00,0x40,0x01,0x80,
0x00,0x40,0x00,0x20,0x00,0x20,0x04,0x20,0x04,0x40,0x03,0x80,0x00,0x00,0x00,0x00,
/*----------------4 672---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xC0,0x01,0x40,0x02,0x40,0x02,0x40,
0x04,0x40,0x04,0x40,0x07,0xE0,0x00,0x40,0x00,0x40,0x01,0xE0,0x00,0x00,0x00,0x00,
/*----------------5 704---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x04,0x00,0x04,0x00,0x04,0x00,0x05,0x80,
0x06,0x40,0x00,0x20,0x00,0x20,0x04,0x20,0x04,0x40,0x03,0x80,0x00,0x00,0x00,0x00,
/*----------------6 736---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x05,0x80,
0x06,0x40,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,0x01,0x80,0x00,0x00,0x00,0x00,
/*----------------7 768---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x04,0x40,0x04,0x40,0x00,0x80,0x00,0x80,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
/*----------------8 800---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x04,0x20,0x04,0x20,0x04,0x20,0x02,0x40,
0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,0x03,0xC0,0x00,0x00,0x00,0x00,
/*----------------9 832---------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x04,0x20,0x04,0x20,
0x02,0x60,0x01,0xA0,0x00,0x20,0x00,0x20,0x02,0x40,0x03,0x80,0x00,0x00,0x00,0x00,

};

#endif
/*end of the file*/

天嵌_support1 发表于 2010-12-1 12:31:01

:)
好,以后共享一下,向你学习

fanfan 发表于 2010-12-13 17:10:42

等待着你发代码出来学习下

天嵌_support1 发表于 2010-12-13 18:15:28

:)期待期待

minghui2009 发表于 2011-3-5 01:24:27

:)期待学习

302609161 发表于 2011-3-18 18:05:21

:)期待学习

顾夜建 发表于 2011-3-23 08:15:22

页: [1]
查看完整版本: 裸奔程序在屏幕上显示变量数据的可行性