回复【14楼】fangjikun
-----------------------------------------------------------------------
汉字字符数组可以实现,但要使用内码的方法. LCD上显示汉字也是可能的.
取内码时,可先在文本文中输入汉字串,然后用UltraEdit打开,切换到16进制
状态,然后以16进制复制到C程序中即可.
以
第三章 3.29 单片机与PC双向串口通信仿真,为例,其中串口发送中文,有如下代码.
53 //-----------------------------------------------------------
54 // 按下K1时向PC发送字符串
55 //-----------------------------------------------------------
56 void Send_String()
57 {
58 INT8U i = 0;
59 //"HELLO!"
60 //"这是由PIC单片机发送的字符串!!!"
61 //由于PICC不允许使用中文字符串,故用UltraEdit取该文字串内码再发送
62 //00000000h: 48 45 4C 4C 4F 21 0D 0A D5 E2 CA C7 D3 C9 50 49
63 //00000010h: 43 B5 A5 C6 AC BB FA B7 A2 CB CD B5 C4 D7 D6 B7
64 //00000020h: FB B4 AE 21 21 21 0D 0A
65 //其中英文字符与标点符号可使用ASCII码,也可直接使用字符.
66 char s[] = { 'H','E','L','L','O','!','\r','\n',
67 0xD5,0xE2,0xCA,0xC7,0xD3,0xC9,'P','I','C',
68 0xB5,0xA5,0xC6,0xAC,0xBB,0xFA,0xB7,0xA2,
69 0xCB,0xCD,0xB5,0xC4,0xD7,0xD6,0xB7,0xFB,
70 0xB4,0xAE,'!', '!', '!', '\r','\n','\0'};
71 while (s)
72 {
73 TXREG = s[i++]; //发送一个字符
74 while (TRMT); //等待发送结束
75 __delay_ms(1);
76 }
77 }
纯中文的字符串,例如"统计图表示", 也可表示为: "\xCD\xB3\xBC\xC6\xCD\xBC\xCF\xD4\xCA\xBE"
注意"\"前不能加0x, 其中每两个相邻的字节为一个汉字的两字节内码.
在LCD上显示汉字同样没有问题,同样可通过取内码,及在ROM中保存汉字点阵即可.
详见: 4.16 PG160128A液晶图文演示
链接地址: http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4935348&bbs_page_no=1&bbs_id=1028