8*8点阵屏怎样实现0~9,字母,汉字三者进行切换(C语言程序)

8*8点阵屏怎样实现0~9,字母,汉字三者进行切换(C语言程序),第1张

你这个问题信息量太大,只能给你提个思路:

1) 88的点阵屏要显示0-9,字母以及汉字需要使用点整显示的方法。对于0-9以及字母都没有问题,点阵用的的很少,在程序里直接写就可以啦。对于汉字你需要找88的汉字点阵字库,能不能找到都是个问题,除非只是显示几个有限的简单汉字。而且88的屏显示汉字太小,比如必要显示汉字“真”,用88的点阵是很难显示的。一般显示汉字最小的也要1212,正常情况是1616的点阵,个别有窄体汉字用1216的。

2)你要弄明白点阵显示汉字的逻辑,视觉暂留是LED显示屏得以广泛应用的基础,目前广为采用的扫描驱动方式。你需要一个通用函数,就是根据要显示的数字,字母或汉字,找到对应的点阵码值,然后用行扫描的方法依次给对点阵进行行地址选定,再对列电平置位。

3)比如数字0的88点阵就是(0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xE7,0xFF,/ 0 / ),你需要先选b0,将c0到c7,设置为0xff(即8位全1),接着选b1,将c0到c7设置为0xE7(即两段为0,中间全1,01111110 ),接着选b2,将 c0到c7设置为0xBD(即两段为1,中间全0,10000001 ),依次类推,就显示了数字0。可以根据同样的逻辑,把十个数字,26个字母的大小写都点阵化,写成数组放在代码里直接用就可以。

4)当你要显示汉字的时候,汉字其实是两个字节都成的,第一个字节的最高位是1,表示区码,后面跟着的是位码。根据这两个字节的信息可以定位你的汉字在字库里对应的点阵数据。然后和上面显示数字一样的处理方法把汉字点阵数据显示即可。

5)你的88显示屏显示数字和英文还勉强,显示中文太小啦。

6)你现在的首要难题是去找88的中文点阵字库,并弄清楚存放汉字点阵数据的逻辑,这样才能根据汉字的区位码找到对应的点阵数据。如果只显示数据和英文字母,可以在88的坐标纸上自己去写上数字或字母后,在转化成10101111类似的二进制,去做一个自己的字库。显示数字的时候,把每个数字的ASCII码值减去数字0的ASCII码值,去定位点阵数组的序号。英文字母同理进行处理。

每4个点写成一个16进制数。1616 ,就是把字型分成16行,每行分16个点。

你可以用中文字库里的 bitmap font,挖出来 用。

下面是 2424的 点阵,“我”字:

000400

006700

01f660

0f8630

3b0618

030610

030600

03060c

7ffffe

030600

030600

033630

03c638

1f0660

7b02c0

230380

030300

030784

030984

0330c4

3f4074

0e003e

04000e

000000

上面是用CYD的CNPRINT把国标码我字转PostScript文件,把字体从PostScript文件里复制出来。字库 cclibj24 (cnj24hbf)。

int s[2][2];

for(e=0;e<2;e++)

for(f=0;f<2;f++)

{

s[e][f]=a[i][j]+b[m][n];

printf("s[%d][%d]=%d\t",e,f,s[e][f]);

}

你这个运算很明显有问题的,i和j 和m和n都没有变呢,所以这个程序段有问题的。你改下

for(e=0;e<2;e++)

for(f=0;f<2;f++)

{

s[e][f]=a[e][f]+b[e][f];

printf("s[%d][%d]=%d\t",e,f,s[e][f]);

}这样应该得的

不过不懂你是真样的设计来加的。

两层for循环搞定。

#include<stdioh>

int main()

{

int i,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=4-i;j++)

printf(" ");

for(j=1;j<=2i-1;i++)

printf("");

printf("\n");

}

getch();

}

第一,没有硬件连接描述,单片机类型,晶振参数等;

第二,既然是点阵 ,显示的内容是需要自编字库的,即字模;

第三,没有说明所谓的移动是什么类型的,如整个字母移动,或单列移动;整屏移动又是什么情况。

595是串行输入,并行输出,自动移位的一个芯片,级联的话,也是自动移位到下一块595内部的,,所以这样的发送方式,在使用指针进行的时候,相对简单一些的,,,不使用指针也是可以达到那个目的的,,只是程序相对复杂一点,,,建议学会使用指针,,很多程序都是使用指针很简单,,不然程序就很复杂。。

以上就是关于8*8点阵屏怎样实现0~9,字母,汉字三者进行切换(C语言程序)全部的内容,包括:8*8点阵屏怎样实现0~9,字母,汉字三者进行切换(C语言程序)、关于一个C语言点阵的小问题!、C语言编程 点阵运算得不到预计结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9364005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存