找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2342|回復(fù): 0
收起左側(cè)

可移植的嵌入式系統(tǒng)漢字顯示代碼

[復(fù)制鏈接]
ID:75926 發(fā)表于 2015-4-10 17:10 | 顯示全部樓層 |閱讀模式
移植之前 必須保證 成功移植了文件系統(tǒng),這是在VS2008上運(yùn)行通過(guò)的;
//移植的時(shí)候要修改printf 函數(shù)為L(zhǎng)CD的打印一個(gè)點(diǎn)的函數(shù),與文件系統(tǒng)相關(guān)的函數(shù) 酌情修改

這是顯示效果,16*16 的GBK字庫(kù) 字庫(kù)的文件名是 "font.DZK"

  1. #include "stdio.h"

  2. #define FONT_SIZE        32//定義單個(gè)漢字所占的字節(jié)數(shù)

  3. void Display(FILE *f,char *str);
  4. void Displays(FILE *f,char *str,unsigned char count);

  5. int main(void)
  6. {
  7. FILE *f;
  8. f=fopen("font.DZK",r");
  9. if(f==NULL)
  10. {
  11. printf("error..");
  12. return 0;
  13. }
  14. Displays(f,"您好",2);

  15. fclose(f);
  16. return 0;
  17. }



  18. void GetFont(FILE *f,char *str,unsigned char *buff)
  19. {
  20. unsigned char High=*str;
  21. unsigned char Low=*(str+1);
  22. unsigned long offset;
  23. High-=0x81;
  24. if(Low<0x7f)
  25. Low-=0x40;
  26. else
  27. Low-=0x41;
  28. offset=(unsigned long)(High*190+Low)*FONT_SIZE;
  29. fseek(f,offset,0);
  30. fread(buff,FONT_SIZE,1,f);
  31. }


  32. void Display(FILE *f,char *str)
  33. {
  34. char i,j;
  35. unsigned char buff[FONT_SIZE],temp;
  36. GetFont(f,str,buff);
  37. for(i=0;i<32;i+=2)
  38. {
  39. temp=buff[i];
  40. for(j=0;j<8;j++)
  41. {
  42. if(temp&0x80)
  43. printf("*");
  44. else
  45. printf(" ");
  46. temp<<=1;
  47. }
  48. temp=buff[i+1];
  49. for(j=0;j<8;j++)
  50. {
  51. if(temp&0x80)
  52. printf("*");
  53. else
  54. printf(" ");
  55. temp<<=1;
  56. }
  57. printf("\n");
  58. }
  59. }


  60. void printblank(void)
  61. {
  62. unsigned char i;
  63. for(i=0;i<16;i++)
  64. printf("  ");
  65. }

  66. void Displays(FILE *f,char *str,unsigned char count)
  67. {
  68. unsigned char i;
  69. for(i=0;i<count;i++,str+=2)
  70. {
  71. Display(f,str);
  72. printblank();
  73. }
  74. }
復(fù)制代碼






回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表