云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > lcd1602液晶资料

lcd1602液晶资料

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 8:39:49

void writecmd(unsigned char cmd) //写命令到LCD1602 {

waitfor(); //测忙

RS=0;RW=0; //选择指令寄存器写操作 dataport=cmd; //将数据送到数据口 EN=1;

EN=0; //使能下降沿脉冲 }

void init(void) // 初始化函数 {

writecmd(0x38); //功能设定 8位数据传输双行显示设置工作方式:0x28=4位总线字符两行显示,0x38=8位总线字符两行显示 writecmd(0x0c); //显示器开关 writecmd(0x01); //清屏

writecmd(0x06); //字符进入模式每进入一个字符光标向右移动一格原有字符不动 }

void location(unsigned char x,unsigned char y) //坐标函数 {

unsigned char temp;

temp=x&0x0f; //只要x数据的后四位 if(y) {

temp=temp|0x40;

} //第一行为0 第二行为1 如果y=1则地址加0x40

temp|=0x80; //DDRAM地址的命令DB7为一 writecmd(temp); }

void DisplayOneChar(unsigned char x,unsigned char y,unsigned char dataw) //显示一个字符函数 {

location(x,y);

writedata(dataw); }

void displaylistchar(unsigned char x,unsigned char y,unsigned char *p) //显示字符串 {

while(*p) //当一个字符型数组读完时*P指的为零 {

displayonechar(x,y,*(p++)); x++; } }

void WriteCgram(unsigned char address,unsigned char *p) //写CGRAM的数据 {

unsigned char i=8;

writecmd(address); //CGRAM里的地址初始值0x40 每次加0x80 while(i--) {

writedata(*p); p++; } }

void DisplayOneChar(unsigned char x,unsigned char y,unsigned char address,unsigned char *p) //显示一个自定义字符 {

unsigned char i=8;

writecmd(address); //CGRAM里的地址初始值0x40 每次加0x08 while(i--) {

writedata(*p); p++; }

location(x,y); //设定要显示的位置

writedata((address&=0x3f)/0x08); //要从CGRAM中读出数据在1602上显示搞了半天发现CGRAM里的地址

} //和DDRAM里的地址有上面的转换关系

void displynumber(unsigned char x,unsigned char y,unsigned long num) //显示一个整数 {

unsignedint number[8]; intk,gh;

for(k=0;;k++) {

*(number+k)=(unsigned int)(num);//强制类型转换 num=num/10; if(num==0)break; }

for(gh=k;gh>=0;gh--) {

displyonechar(x,y,(*(number+gh)+48)); x++; } }

//字型码

uchar code nian[]={0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02};// \年\ uchar code yue[]={0x0f,0x09,0x0f,0x09,0x0f,0x09,0x0b,0x11};// \月%uchar code ri[]={0x1f,0x11,0x11,0x1f,0x11,0x11,0x11,0x1f};// \日\

//显示汉字

displyonecharacter(0,0,0x40,nian); displyonecharacter(1,0,0x80,yue); displyonecharacter(1,0,0xc0,ri);

搜索更多关于: lcd1602液晶资料 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void writecmd(unsigned char cmd) //写命令到LCD1602 { waitfor(); //测忙 RS=0;RW=0; //选择指令寄存器写操作 dataport=cmd; //将数据送到数据口 EN=1; EN=0; //使能下降沿脉冲 } void init(void) // 初始化函数 { writecmd(0x38); //功能设定 8位数据传输双行显示设置工作方式:0x28=4位总线字符两行显示,0x38=8位总线字符两行显示 writecmd(0x0c); //显示器开关 writecmd(0x01); //清屏 writecmd(

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com