完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 天涯琼 于 2014-4-3 22:50 编辑
#include #define uint unsigned int ***it lcdrs=P2^6;//数据、命令选择 ***it lcdrw=P2^5;//读写选择 ***it lcden=P2^7;//使能 uchar code table1[]="I LOVE Shenzhen"; uchar code table2[]="WELCOME TO 1602 "; uchar num; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com)//写命令 { lcdrs=0;//数据命令选择,置0选命令 lcdrw=0;//读写选择,置0选写 delay(5);//根据时序,要延时一段时间 P0=com;//把命令送入1602 lcden=1;//开使能,完成mcu向1602的传输 delay(5);//使能延时足够时间,以完成数据传输 lcden=0;//关使能 } void write_data(uchar dat)//写数据 { lcdrs=1;//数据命令选择,置1选命令 lcdrw=0;//读写选择,置0选写 delay(5);//根据时序,要延时一段时间 P0=dat;//把数据送入1602 lcden=1;//开使能,完成mcu向1602的传输 delay(5);//使能延时足够时间,以完成数据传输 lcden=0;//关使能 } void init() { lcden=0;//平时使能一定是关的,传输数据瞬间才开 write_com(0x38);//显示模式,初始化0x38一定要有,没有商量余地 write_com(0x0c);//后三位110,开显示,光标显示,光标不闪烁 write_com(0x06);//后二位,指针、光标加一,写个字符整屏不移动 } void main() { init(); write_com(0x80+0x10);//首地址在屏外第一格 for(num=0;num<15;num++)//在屏外从第一格依次写完整句 { write_data(table1[num]); delay(100); } /*for(num=0;num<16;num++) { write_com(0x18);//整屏移动16次 delay(100); }*/ write_com(0x80+0x50);//首地址在屏外第一格 for(num=0;num<15;num++)/在屏外从第一格依次写完整句 { write_data(table2[num]); delay(100); } for(num=0;num<16;num++) { write_com(0x18);//整屏移动16次 delay(100); } while(1); //这句话使显示稳定下来,等待 } 以上是我写的1602显示程序,是正确的。功能是从右到左移动显示字符“I LOVE Shenzhen” “WELCOME TO 1602”,以上被注释掉的绿色部分是我写错的地方。 起初想法是,第一行先从右到左整屏移动显示,然后再是第二行从右到左整屏移动显示,最后两行的字符稳定显示,而且都在液晶显示范围之内。 最初是有上述那绿色部分语句的,可调试结果跟我所想不一样,产生这样一个奇怪现象:第一行“I LOVE Shenzhen” 是从右边整屏移出来的没错,第二行却是从左到右依次写入(在液晶显示范围内),最后两行字符都向左移出屏幕,一个字都没有了。 请问各位前辈,这是怎么回事?地址指针怎么变? |
|
相关推荐
5个回答
|
|
你好,我使用了你的程序,可是我没能实现民屏幕移动,能帮我一下吗。
|
|
|
|
首先,我认为“write_com(0x06);//后二位,指针、光标加一,写个字符整屏不移动”这行不应出现在初始化中,应该放在主程序中,其次这行应该是write_com(0x05);//指令00000101,读或写一个字符后,地址指针减一,且光标减一,写一个字符整屏显示左移。多看看datasheet
|
|
|
|
这个程序主函数里面while语句放在所有子程序之后 常理说是没办法整屏移动的 你可以把所有程序放while语气里面 应该就可以实现你的要求 |
|
|
|
这个程序主函数里面while语句放在所有子程序之后 常理说是没办法整屏移动的 你可以把所有程序放while语气里面 应该就可以实现你的要求 |
|
|
|
你的程序没问题,二楼说法有问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
726 浏览 0 评论
777 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
680 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1149 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1120 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11800 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 06:53 , Processed in 0.489950 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号