标题:
LCD1602能显示中文吗
[打印本页]
作者:
1111122223333
时间:
2018-12-30 22:30
标题:
LCD1602能显示中文吗
如题
作者:
admin
时间:
2018-12-30 22:36
51hei搜索 “1602 中文”即可找到答案
http://www.51hei.com/bbs/dpj-132220-1.html
作者:
sjh234
时间:
2018-12-30 22:57
没办法显示的,LCD1602的字符字摸关系里面没有办法构成中文
作者:
angmall
时间:
2018-12-31 00:59
我给你来个程序试试
#include <STC15.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define DataPort P0 // 数据端口
#define Busy 0x80
sbit RS = P2^1; //LCD控制引脚定义
sbit RW = P2^2;
sbit E = P2^3;
code char exampl[]="Hello Every Body";
code char examp2[]={0x32,0x30,0x31,0x36,0x00,0x31,0x01,0x32,0x36,0x02};
code char Hzzimo[]={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x00, //“年”
0x0F,0x09,0x0F,0x09,0x0F,0x09,0x11,0x00, //“月”
0x0F,0x09,0x09,0x0F,0x09,0x09,0x0F,0x00};//“日”
/******************************** 1Ms延时函数 ********************************/
void Delayms(){ //1Ms延时 @12MHzx
uchar i, j;
i = 12; j = 169;
do{
while (--j);
} while (--i);
}
/*************************** Ms延时函数 *****************************/
void Delay(uchar t){
while(--t) Delayms();
}
/******************************** 400Ms延时函数 ********************************/
void Delay400Ms(void){
unsigned char i, j, k;
_nop_();_nop_();i = 19;
j = 62;k = 43;
do{
do{
while (--k);
} while (--j);
} while (--i);}
/**************************** 等待允许函数 ******************************/
void WaitForEnable( void ) {
DataPort = 0xff;
RS =0; RW = 1; _nop_();
Delayms();
E = 1; _nop_(); _nop_();
Delayms();
while( DataPort & Busy );
E = 0;
}
/**************************** 写命令函数 ******************************/
void LcdWriteCommand( uchar CMD,uchar AttribC ) {
if (AttribC) WaitForEnable(); // 检测忙信号?
RS = 0; RW = 0; _nop_();
DataPort = CMD; _nop_(); // 送控制字子程序
E = 1;_nop_();_nop_();E = 0; // 操作允许脉冲信号
}
/*************************** 写数据函数 ***************************/
void LcdWriteData( char dataW ) {
WaitForEnable(); // 检测忙信号
RS = 1; RW = 0; _nop_();
DataPort = dataW; _nop_();
E = 1; _nop_(); _nop_(); E = 0; // 操作允许脉冲信号
}
/**************************** 显示光标定位函数 ****************************/
void LocateXY( char posx,char posy) {
uchar temp;
temp = posx & 0xf;
posy &= 0x1;
if ( posy )temp |= 0x40;
temp |= 0x80;
LcdWriteCommand(temp,0);
}
/**************************** 单字符显示函数 ******************************/
void DispOneChar(uchar x,uchar y,uchar Wdata) {
LocateXY( x, y ); // 定位显示字符的x,y位置
LcdWriteData( Wdata ); // 写字符
}
/***************************** 显示字符串函数 *****************************/
void ePutstr(uchar x,uchar y,uchar j, uchar code *ptr){
uchar i;
for (i=0;i<j;i++) {
DispOneChar(x++,y,ptr[i]);
if ( x == 16 ){
x = 0; y ^= 1;
}
}
}
/***************************** LCD初始化函数 ********************************/
void LcdReset( void ) {
LcdWriteCommand( 0x38, 0); // 显示模式设置(不检测忙信号)
Delay(5);
LcdWriteCommand( 0x38, 0); // 共三次
Delay(5);
LcdWriteCommand( 0x38, 0);
Delay(5);
LcdWriteCommand( 0x38, 1); // 显示模式设置(以后均检测忙信号)
LcdWriteCommand( 0x08, 1); // 显示关闭
LcdWriteCommand( 0x01, 1); // 显示清屏
LcdWriteCommand( 0x06, 1); // 显示光标移动设置
LcdWriteCommand( 0x0c, 1); // 显示开及光标设置
}
/************************** 自定义汉字字符函数 ***************************/
void Hz(){
uchar i;
LcdWriteCommand( 0x40,1 );
for (i=0;i<24;i++){
LcdWriteData(Hzzimo[i]);
}
}
/******************************* 主函数 **********************************/
void main(void){
LcdReset();
Delay400Ms();
Hz();
ePutstr(0,0,16,exampl); // 第一行从第0位开始显示Hello Every Body
ePutstr(4,1,10,examp2); // 第二行从第4位开始显示2014年5月26日
while(1);
}
复制代码
作者:
Teslatony
时间:
2018-12-31 15:29
可以显示中文 简单的可以显示
作者:
xieyunyan
时间:
2018-12-31 18:14
一般需要取字模软件,生成点阵数据,最后按照写点程序调用即可。
作者:
画流星
时间:
2018-12-31 19:18
LCD1602是字符型液晶,只能显示ASCII码字符,如数字、大小写字母、各种符号等等
作者:
qweqwe99
时间:
2018-12-31 21:22
好像不能显示中文
作者:
wcxhs
时间:
2018-12-31 23:35
1602液晶是字符型液晶,总共有2行,每行16个字符。每个字符有效的可显示字体是5*8点阵字体。所以通常无法显示中文
作者:
1196779686
时间:
2019-1-1 02:22
不能显示汉字
作者:
gh001
时间:
2019-1-1 09:17
通过字模的方式,自己设计汉字字模,但是显示效果不一定好!
作者:
天风情
时间:
2019-1-1 09:43
不能,只能显示ASCII码。想显示汉字的话用12864
作者:
xiaob123
时间:
2019-1-1 09:43
可以显示简单的中文,复杂的就不行了
作者:
gh001
时间:
2019-1-1 13:59
LCD2004 1602液晶显示汉字和自定义字符教程+仿真+keil程序
http://www.51hei.com/bbs/dpj-92901-1.html
作者:
寒烟泪
时间:
2019-1-1 15:34
可以通过取字模的软件然后在输出到1602.但是复杂的字不一定好,而且效果也不咋地
作者:
微扬
时间:
2019-1-1 16:22
不可以显示的哦
作者:
jll586
时间:
2019-1-1 16:43
好像不行把
作者:
25Hzzz
时间:
2019-1-1 17:54
只能显示笔画比较少的汉字
作者:
小润龙
时间:
2019-1-1 22:50
不能显示中文lcd没有中文字库,它的像素太小,不能显示汉字,汉字至少需要8*8的像素,,你可以使用LCD12864
作者:
l280709854
时间:
2019-1-2 09:07
不能显示
作者:
爱爱爱
时间:
2019-1-5 10:02
不能显示 12864能显示中文 1602只能显示数字 英文字母 和符号
作者:
1137221527
时间:
2019-1-5 17:10
建议别用 一般来说是不能的 最好用12864
作者:
2925141396
时间:
2019-1-5 18:47
不能,12864可以
作者:
T34/85
时间:
2019-1-5 19:59
没办法显示的,百度有使用手册
作者:
deln
时间:
2019-1-6 10:41
写出的汉子也不清晰
作者:
嘿巴扎黑
时间:
2019-1-6 14:35
不能的,最好使用12864
作者:
yaoji123
时间:
2019-1-6 21:31
不能,点阵数不够汉字显示。
作者:
小匠人
时间:
2019-1-7 01:12
能的,百度一下就能找到相应教程
作者:
wph578092851
时间:
2019-1-7 09:29
没办法显示的,LCD1602的字符字摸关系里面没有办法构成中文
作者:
santong
时间:
2019-1-7 12:25
应该是不能显示。
作者:
鱼主~
时间:
2019-1-7 18:45
不能显示的,只能显示字符
作者:
师稷
时间:
2019-1-7 22:19
需要购买标识带有中文字库的LCD1602液晶屏
作者:
weidoit
时间:
2019-1-8 21:07
截图00.png
(8.13 KB, 下载次数: 70)
下载附件
2019-1-8 21:06 上传
可自定义简单的字符或者图形符号。
作者:
累不死的狗
时间:
2019-1-9 00:08
不能显示中文,显示中文可以拥12864
作者:
xiaohu123456789
时间:
2019-1-9 00:47
lcd1602能显示一些简单的汉子。像年月日
作者:
(ˉ(∞)ˉ)昌盛
时间:
2019-1-9 16:47
好像只显示字符
作者:
轻舞飞鸢
时间:
2019-1-9 18:32
1602要分种类。标识带有中文字库的LCD1602液晶屏 。液晶可以12864可以显示汉字。
作者:
shuisheng60
时间:
2019-2-5 01:32
不仅是能,而且是很能啊
作者:
studentluck
时间:
2019-2-5 10:09
自己做字库就能显示,就像点阵LED那样,都是一个点一个像素,然后一个像素一个像素的去画,最终形成一个汉字的字节,再在程序里面用驱动函数写进去就可以了
作者:
jinsheng7533967
时间:
2019-2-5 20:14
这边看过来,有你想要的东东
作者:
高频驱动-春哥
时间:
2019-2-6 21:50
可以显示但是只有5*7的分辨率,可以显示一些简单的汉字
作者:
51黑游客登陆
时间:
2019-12-28 08:48
显示的也不太好
作者:
yidawei001
时间:
2020-1-2 10:57
不能显示汉字!
作者:
w1179benp
时间:
2020-1-3 08:10
只有你想不到的,没,,,,,,,,,,,,,,,
作者:
TTQ001
时间:
2020-1-3 09:48
1602 LCD 可以显示简单的中文和自定义字符,复杂的就不能显示了
作者:
000123456789
时间:
2020-6-29 16:38
angmall 发表于 2018-12-31 00:59
我给你来个程序试试
点赞
作者:
szzhuguang
时间:
2020-6-30 11:43
不能 ,可以模拟显示,但不全。
作者:
单片机爱好者223
时间:
2020-6-30 13:27
自己取模就可以显示中文
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1