历史上的今天
今天是:2025年06月25日(星期三)
2018年06月25日 | 【51单片机】(手把手教你)1602液晶屏-基础篇
2018-06-25 来源:eefocus
1602液晶简介
1602液晶也叫1602字符型液晶,16x02,每行16个字符显示两行。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
#度娘告知
http://blog.csdn.net/wait_for_taht_day5/article/details/50636096
代码
/*
用液晶1602以从右侧移入方式第一行显示“Hello everyone!”
第二行显示“Welcome to my blog!”
*/
#include
#include
#define uint unsigned int
#define uint8 unsigned char
uint8 code table[]="Hello everyone!";
uint8 code table1[]="Welcome to my blog!";
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
uint8 num;
void delay(uint z);
void write_com(uint8 com);
void write_data(uint8 date);
void init();
void Write1602_Str(uint addr,uint length,uint *pbuf);
void main()
{
init();
Write1602_Str(0x80+0x10,strlen(table),table); //Hello everyone!
Write1602_Str(0x80+0x50,strlen(table1),table1); //Welcome to my blog!
while(1)
{
write_com(0x18);
delay(200); //移动速度,可自定
}
}
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=0;j<921;j++);
}
void write_com(uint8 com)
{
lcdrs=0; //RS=0->指令
// R/W我的单片机上引脚直接接地了所以不用设置
delay(1); //tsp1
P0=com; //DB0-DB7
delay(1); //tsp2
lcden=1; //tR
delay(1); //tpW
lcden=0; //tF、tHD1、tHD2
}
void write_data(uint8 date)
{
lcdrs=1; //RS=1->数据
delay(1);
P0=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void init()
{
dula=0; //段选位关闭,因为P0口同时也是控制数据管的口
wela=0; //同上
lcden=0; //使能关(操作之前看时序图都需要E开始是0后来变为1)
write_com(0x38); //设置16*2显示,5*7点阵,8位数据口
write_com(0x0e); //设置开显示,不显示光标
write_com(0x06); //写一个字符后地址指针加1
write_com(0x01); //显示清0,数据指针清0
}
void Write1602_Str(uint8 addr,uint8 length,uint8 *pbuf)
{
uint8 i;
write_com(addr);
for(i=0;i write_data(pbuf[i]); } 总结: 1602显示字符必要条件: (1)液晶显示模式的设置 (2)字符显示位置的指定 (3)待显示字符的字模代码
史海拾趣
|
我2台机子EVC都装了EVC的WINCE5.0模拟器SDK ,一台机子上EVC呈现编译能在WINCE5模拟器跑起来,而将此程序复制到另外一台机子的WINCE5模拟器却跑不起来,提示Cannot open(or one of its components).Make sure the path and filen~~不 ...… 查看全部问答> |
|
typedef struct { unsigned char bit0 : 1; unsigned char bit1 : 1; unsigned char bit2 : 1; unsigned char bit3 : 1; unsigned char bit4 : 1; unsigned char bit5 : 1; unsigned char bit6 : 1; unsigned char bit7 : 1; } tpBIT; # ...… 查看全部问答> |
|
前一阵子在写XS128的nrf24l01的收发程序 还是挺难写的 网上的代码都没有XS128的 现在都弄通了 所以把自己的成果传上来 希望大家共同学习 [ 本帖最后由 iwbago 于 2011-8-19 09:29 编辑 ]… 查看全部问答> |
|
最近要设计一块9B96的控制板,想把音频部分加上去,需要一个类似DK-9B96原理图中,STx-3000 耳机插座的PCB封装,不知道具体的尺寸,希望能有这方面设计经验的大侠不吝赐教,非常感谢!!!… 查看全部问答> |




