完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想让显示一行滚动显示一行静态显示,如果用移动指令去的话,会两行都移动
用点阵移动方式去的话,在移动完数据后后面会全部显示6,比如0是不显示,p=123456 0000000000000001 0000000000000012 。。。。。。 0000123456666666 会出现这样的状况;如何解决; #include #include ***it rs=P2^4; ***it rw=P2^5; ***it en=P2^6; #define uchar unsigned char //uchar code table[]={} void delus(uchar t) { while(--t); } void delms(uchar t) { while(t--) { delus(245); delus(245); } } void lcd_write_com(uchar com) { delms(5); rs=0; rw=0; en=1; P0=com; _nop_(); en=0; } void lcd_write_dat(uchar dat) { delms(5); rs=1; rw=0; en=1; P0=dat; _nop_(); en=0; } void lcd_clear() { lcd_write_com(0x01); delms(5); } void lcd_write_char(uchar x,uchar y,uchar dat) { if(y==0) { lcd_write_com(0x80+x); } else { lcd_write_com(0xc0+x); } lcd_write_dat(dat); } void lcd_write_string(uchar x,uchar y,uchar *s) { if(y==0) { lcd_write_com(0x80+x); } else { lcd_write_com(0xc0+x); } while(*s) { lcd_write_dat(*s); s++; } } void lcd_init() { lcd_write_com(0x38); delms(5); lcd_write_com(0x38); delms(5); lcd_write_com(0x38); delms(5); lcd_write_com(0x38); lcd_write_com(0x08); lcd_write_com(0x01); lcd_write_com(0x06); delms(5); lcd_write_com(0x0c); } void main() { uchar i; lcd_init(); lcd_clear(); while(1) { for(i=16;i>0;i--) { lcd_write_string(i,0,"123456"); lcd_write_string(3,1,"i love you"); delms(200); } i=16; } } |
|
相关推荐
6个回答
|
|
无论你采用哪种方式,都必须计算地址后将需要移动的一行从头到尾全部重写一道
|
|
|
|
|
|
|
|
那就不移动,通过程序写入显示在不同位置
|
|
|
|
你还是按楼上说的吧,不用计算地址
|
|
|
|
同意楼上的说法 不移动 然后写入程序的方法比较好
|
|
|
|
不错。。值得学习!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
158 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
237 浏览 0 评论
655 浏览 1 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
563 浏览 0 评论
862 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12033 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:22 , Processed in 0.707131 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号