1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我的程序是这样的
#include #define uint unsigned int #define uchar unsigned char ***it E=P2^6; ***it RW=P2^5; ***it RS=P2^4; ***it RST=P2^3; ***it Busy=P0^7; #define LCDdata P0 void delay(uint xx) { while(xx--); } void rdbf(void) { while(1) { RS=0; RW=1; E=0; LCDdata=0xFF; E=1; if((LCDdata&Busy)==0) break; } } void wr_data(uchar wrdata) { rdbf(); RS=1; RW=0; E=1; LCDdata=wrdata; E=0; } void wr_cmd(uchar cmd) { rdbf(); //当BF=0时,模块内部方可接收新的指令 RS=0; RW=0; E=1; LCDdata=cmd; E=0; } void lcd_init(void) { delay(5000); RST=1; RST=0; RST=1; wr_cmd(0x30); delay(500); wr_cmd(0x30); //2次功能模式设置,不用判忙(基本指令) delay(500); wr_cmd(0x0c); //整体显示,光标及其设置不显示 delay(500); wr_cmd(0x01); //清屏 delay(500); delay(500); wr_cmd(0x06); //光标右移 delay(500); } void main(void) { lcd_init(); wr_cmd(0x80); wr_data(0x44); while(1); } |
|
相关推荐
4个回答
|
|
在wr_cmd(uchar cmd) 函数里执行每条语句后加一段延时时间
|
|
|
|
时序没有完全满足要求,参照这个12864的资料看看先
|
|
|
|
不知楼主的液晶是否是特殊的,楼主的程序很有问题啊。有多地方E的设置都不对。高电平的变低电平,低电平的变高电平。例如侧忙函数应该是
而楼主的是
楼主还是在再看资料吧。 附:
|
|
|
|
lcd_init中复位延时应该加在RST=1后,RST=0应该至少保持10uS;
main中 wr_cmd(0x80); wr_data(0x44);之后都没有判忙或延时; rdbf没有使用,也没有在程序结束时使E无效; |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12013 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 07:55 , Processed in 0.620189 second(s), Total 78, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号