2回答

1收藏

[原创] FireBeetle 点阵屏的中文显示

DFROBOT DFROBOT 5859 人阅读 | 2 人回复 | 2018-01-04

FireBeetle 点阵屏具有24×8个显示点,在显示汉字时其分辨率相对来说差一些,因此在其例程中未配置汉字显示功能,那如何来为其增添汉字显示功能呢?
这主要需2个部分,一个是构建小字库;另一个是配置相应的显示函数。
1. 构建小字库
使用字模提取构建软件PCtoLCD2002即可构建供显示需要的小字库,受点阵屏分辨率的限制,这里构建的字模为8*8点阵。
提取的界面如图1所示,数据的提取格式则如图2所示。

1字模提取


2 提取格式

提取的字模内容如下:
//(0) (1) (2) (3)
{0x7C,0x00,0xFE,0x28,0x28,0x24,0xE2,0x00},/*"",0*/
/* (8 X 8 , 等线 )*/
{0x7C,0x44,0x7C,0x44,0x7C,0x00,0xFF,0x00},/*"",1*/
/* (8 X 8 , 等线 )*/
{0x24,0xF6,0xAD,0xF4,0x24,0x54,0x88,0x00},/*"",2*/
/* (8 X 8 , 等线 )*/
{0x7C,0x12,0x12,0xFE,0x54,0x94,0x1A,0x00},/*"",3*/
/* (8 X 8 , 等线 )*/
2. 配置显示函数
配合小字库的显示函数如下:
  1. //汉字显示函数,其中参数p为显示位置取0或1,n为显示汉字的编号取值为0~3。
  2. void hzxs(uint8_t p,uint8_t n){
  3.   p=p*8;
  4.   n=n*8;
  5. for(uint8_t x=0; x<8; x++)
  6. {
  7. for(uint8_t y=0; y<8; y++)
  8. {
  9.   if(FONT_8X8 [n+x]&(0x01<<y))  ht1632c.setPixel(p+y,x);
  10. //matrix[x] |= 0x80>>y;
  11.   ht1632c.writeScreen();
  12. //
  13. }
  14. }
  15. }
复制代码
  1. void clrxs(){
  2. for(uint8_t x=0; x<24; x++){
  3. for(uint8_t y=0; y<8; y++){
  4. ht1632c.clrPixel(x,y);
  5. ht1632c.writeScreen();
  6. }
  7. }
  8. }
复制代码
3. 应用实例
元旦刚过,这里就后补一个显示“元旦快乐”的示例,其程序如下:
  1. #include "DFRobot_HT1632C.h"
  2. #define DATA 6
  3. #define CS 2
  4. #define WR 7

  5. byte FONT_8X8 []={
  6. //元(0) 旦(1) 快(2) 乐(3)
  7. 0x7C,0x00,0xFE,0x28,0x28,0x24,0xE2,0x00,/*"元",0*/
  8. /* (8 X 8 , 等线 )*/
  9. 0x7C,0x44,0x7C,0x44,0x7C,0x00,0xFF,0x00,/*"旦",1*/
  10. /* (8 X 8 , 等线 )*/
  11. 0x24,0xF6,0xAD,0xF4,0x24,0x54,0x88,0x00,/*"快",2*/
  12. /* (8 X 8 , 等线 )*/
  13. 0x7C,0x12,0x12,0xFE,0x54,0x94,0x1A,0x00,/*"乐",3*/
  14. /* (8 X 8 , 等线 )*/
  15. };

  16. DFRobot_HT1632C ht1632c = DFRobot_HT1632C(DATA, WR,CS);

  17. void setup() {
  18. ht1632c.begin();
  19. ht1632c.isLedOn(true);
  20. ht1632c.clearScreen();
  21. hzxs(0,0);
  22. hzxs(1,1);
  23. delay(1000);
  24. clrxs();
  25. hzxs(0,2);
  26. hzxs(1,3);
  27. }

  28. void loop() {
  29. }
复制代码

3 显示效果

分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

sacq12

发表于 2018-1-4 11:32:49 | 只看该作者

拜读,顶~~~
板凳

jinglixixi

发表于 2018-1-5 10:17:59 | 只看该作者

sacq12 发表于 2018-1-4 11:32
拜读,顶~~~

感谢支持!
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条