完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想按一下键盘的时候把整个屏幕移16位,得到新的两行,可是为什么我一输入移屏指令0x18之后,屏幕就不断地移动,不能停下来那?
求大神帮帮忙!!!最好有具体指令讲解 |
|
相关推荐
13个回答
|
|
求大神解答...............
|
|
|
|
程序贴上来看看,不然不好说
|
|
|
|
|
|
|
|
应该是你程序有问题,移屏指令每次只移动一列,操作完就结束了,不会不停的移动。看看你控制移屏16列的循环有没有问题。 |
|
|
|
指令不是用0x18吗? 要不要先设置指针什么的先阿? |
|
|
|
不用,直接把0x18,当作命令送进1602就可以了,送一次移动一列。 还是建议你贴一下程序 |
|
|
|
write_com(0x80+0x11); for(num=0;num<15;num++) { write_date(table7[num]); } write_com(0x80+0x54); for(num=0;num<5;num++) { write_date(table8[num]); } for(num=0;num<16;num++) { write_com(0x18); } 前面初始化的那几个函数都不写了,主函数就是这个,就想把它移进显示区域.可是执行后只会不停地移动 |
|
|
|
本帖最后由 tangkii 于 2013-8-13 22:52 编辑
最后加一个while(1); 用于停止程序,不停下来的话会从main函数开始语句再次执行程序(我记得好像是这样),就造成了你说的不断移屏的现象了。
|
|
|
|
可是如果在有其它程序的情况下,整个程序一执行不就停在这里了吗? 有什么方法可以让它跳出来阿? |
|
|
|
如果你还有其他程序,那你就不加while(1),在下面继续写的程序,他执行完移屏后会继续执行下面的语句,知道所有程序都执行完了,在后面再加一个while(1)。 或者你把这个1602显示程序改为子函数,当需要的时候就在main函数里调用,在main函数结尾处加上while(1)。 |
|
|
|
说的不错,顶一个
|
|
|
|
看1602的指令表,每写一次,整屏移动一位
|
|
|
|
同求同求同求同求同求同求同求同求同求同求同求同求同求同求
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
720 浏览 0 评论
932 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
442 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
1159 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
554 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11382 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 22:39 , Processed in 0.585435 second(s), Total 64, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号