标题: 问一下老哥们,怎么在LCD1602里显示“℃”这个符号啊 [打印本页]

作者: liangsheng0212    时间: 2020-4-22 00:06
标题: 问一下老哥们,怎么在LCD1602里显示“℃”这个符号啊
LCD显示

作者: hotpet    时间: 2020-4-22 03:01
字符集里没有,如必须用可以自建。我嫌麻烦一般用 “C 代替,只是要分成两个字符写入。
作者: hantu    时间: 2020-4-22 08:09
LCD_WriteData(0xDF);
LCD_WriteData('C');

这样就行了,如果你的函数名不一样就改一下。
作者: HC6800-ES-V2.0    时间: 2020-4-22 08:15
如果真想显示这个,可以是两个字符组合:字符集中有(地址0xDF)上标0,再加上C(地址0x43),就可以了
作者: Versenkt    时间: 2020-4-22 08:24
unicode字库中 2103是℃符号,utf8编码e28483
作者: 黄youhui    时间: 2020-4-22 08:27
C可以°不行,至于为什么不行,LCD的像素没这么高
作者: hantu    时间: 2020-4-22 08:33
若是想让它是单独一个字符,那就自定义点阵就行了
作者: man1234567    时间: 2020-4-22 08:33
真想要就自己画一个,1602可以自定义8个字符。
不过怎么画也就是个意思,分辨率在哪儿,小圈圈也就是用个点代替。
作者: 权威人物    时间: 2020-4-22 09:09
用生成工具产生字符串,然后写入点阵即可
作者: 107056    时间: 2020-4-22 09:11
取模,再用描点程序
作者: liangsheng0212    时间: 2020-4-22 13:59
107056 发表于 2020-4-22 09:11
取模,再用描点程序

啥意思啊不太明白我有字模软件,不知道怎么搞
作者: 107056    时间: 2020-4-22 14:19
liangsheng0212 发表于 2020-4-22 13:59
啥意思啊不太明白我有字模软件,不知道怎么搞

你字模软件不是可以点像素点显示你要的样子吗,在生成程序,网上百度个描点程序,在粘贴进去就行了
作者: sfdsl1    时间: 2020-7-17 08:42

LCD_WriteData(0xDF);
LCD_WriteData('C');

这样就行了,如果你的函数名不一样就改一下。
//  这个方法可以,已经成功在lcd1602上显示 ℃
作者: TTQ001    时间: 2020-7-17 09:21
我认为您可以使用大写字母C代替℃作为不错的折衷方案。
作者: 找人PK    时间: 2020-7-17 09:39
可以玩一下LCD1602自建字符,完全能做出来,包括你要的汉字
作者: robinsonlin    时间: 2020-7-17 15:52
黄youhui 发表于 2020-4-22 08:27
C可以°不行,至于为什么不行,LCD的像素没这么高

你用的那个1602可能是欧文字库, 所以小圈显示成了点号
作者: zhai1995    时间: 2020-7-20 09:16
// 自定义字符 一共可写入16个自字义字符,写入后可用其CGRAM代码直接提取显示。
u8  Xword[]={
    0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00,  //℃,代码 0x00
    0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,  //一,代码 0x01
    0x00,0x00,0x00,0x0e,0x00,0xff,0x00,0x00,  //二,代码 0x02
    0x00,0x00,0xff,0x00,0x0e,0x00,0xff,0x00,  //三,代码 0x03
   
        0x00,0x11,0x0A,0x04,0x1F,0x1F,0x1F,0x00,  //收音图标,代码 0x04
   
       
        0x0C,0x1A,0x09,0x0E,0x0A,0x09,0x1A,0x0C,  //蓝牙图标,代码 0x05
    0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,  //暂停,代码 0x06
   
        0x10,0x18,0x1C,0x1E,0x1F,0x1E,0x18,0x10,  //播放,代码 0x07
       

       
};
void CgramWrite(void) { // 装入CGRAM //
    uint8 i;
    write_command(0x06);   // CGRAM地址自动加1
    write_command(0x40);   // CGRAM地址设为00处
    for(i=0;i<64;i++) {
    write_dat(Xword[i]);// 按数组写入数据
    }
}


这是相关代码,以前搞过




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1