HZK16点阵字库程序

发布者:心灵舞者最新更新时间:2016-07-30 来源: eefocus关键字:HZK16点阵  字库程序 手机看文章 扫描二维码
随时随地手机看文章
  1. /******************************************************************************* 
  2. ** 程序名称:演示使用HZK16点阵字库的程序 
  3. ** 程序描述:使用HZK16实现显示16*16点阵汉字 
  4. ** 性能提升: 
  5. ** 程序版本:V1.0 
  6. ** 程序作者:syrchina 
  7. ** 最后修改:2011年8月16日 
  8. *******************************************************************************/ 
  9. #include  
  10.   
  11. /******************************************************************************* 
  12. ** 函数名称:Bytes_Read_from_HZK16 
  13. ** 函数描述:从字库文件中读取一个汉字的字模点阵数据 
  14. ** 入口参数:unsigned char *s 指向目标汉字的指针, 
  15.              char* const chs 用于存储字模的数组首地址 
  16. ** 出口参数:无 
  17. *******************************************************************************/ 
  18. void Bytes_Read_from_HZK16(unsigned char *s, char* const chs) 
  19.     FILE *fp; 
  20.     unsigned long offset; 
  21.       
  22.     offset=((s[0]-0xa1)*94+(s[1]-0xa1))*32; //根据内码找出汉字在HZK16中的偏移位置 
  23.       
  24.     if((fp=fopen("HZK16","r"))==NULL) return; //打开字库文件 
  25.     fseek(fp,offset,SEEK_SET); //文件指针偏移到要找的汉字处 
  26.     fread(chs,32,1,fp); //读取该汉字的字模 
  27.     fclose(fp); 
  28.   
  29. /******************************************************************************* 
  30. ** 函数名称:Bytes_Display 
  31. ** 函数描述:在屏幕上显示一个汉字 
  32. ** 入口参数:char* const chs 存储了汉字点阵数据的数组首地址 
  33. ** 出口参数:无 
  34. *******************************************************************************/ 
  35. void Bytes_Display(char* const chs) 
  36.     int i,j; 
  37.       
  38.     for (i=0;i<32;i++)//显示 
  39.     { 
  40.         if (i%2==0) printf("\n"); //每行两字节,16X16点阵 
  41.         for (j=7;j>=0;j--) 
  42.         { 
  43.             if (chs[i]&(0x1<
  44.                 {printf("O");} //由高到低,为1则输出'O',反之输出'-'; 
  45.             else 
  46.                 {printf("-");} 
  47.         } 
  48.     } 
  49.   
  50. /******************************************************************************* 
  51. ** 函数名称:main 
  52. ** 函数描述:main 函数 
  53. ** 入口参数:无 
  54. ** 出口参数:无 
  55. *******************************************************************************/ 
  56. int main(void) 
  57.     char chs[32]; //16*16=256个点 
  58.     unsigned char s[]="中国"; //要显示的汉字 
  59.       
  60.     Bytes_Read_from_HZK16(&s[0],chs); //去字库中读取汉字字模 
  61.     Bytes_Display(chs); //在屏幕上显示这个汉字 
  62.     printf("\n"); 
  63.       
  64.     Bytes_Read_from_HZK16(&s[2],chs); //去字库中读取汉字字模,注意每个汉字占2个char的存储空间 
  65.     Bytes_Display(chs); //在屏幕上显示这个汉字 
  66.       
  67.     return 0; 
  68. }
关键字:HZK16点阵  字库程序 引用地址:HZK16点阵字库程序

上一篇:IIC OLED驱动
下一篇:ISD4004语音程序

推荐阅读最新更新时间:2024-03-16 15:02

ATmega128并行控制带字库的12864程序
ATmega128的特点是io口很多,所以我们可以用并行的方式来驱动此液晶屏,增加总线的速度,此程序是是网上整理收集而来,但已经通过本人验证可以使用,故在此发表.大家在应用的时候只需更改相应的io就行了. 软件:GCC V4.20 --------------------------------------------------------------- 实验内容:写Lcd12864_ST7920。 --------------------------------------------------------------- 硬件连接: LCD12864_ST7920 ATmega128 1.GND
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved