第一范文网 - 专业文章范例文档资料分享平台

lcd1602指令解读及基本程序

来源:用户分享 时间:2025/5/24 11:06:26 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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) //显示一个整数 {

unsigned int number[8]; int k,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指令解读及基本程序 的文档
lcd1602指令解读及基本程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c56xl86lcxc44p5c1brnt_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top