完善资料让更多小伙伴认识你,还能领取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无效; |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
727 浏览 0 评论
815 浏览 0 评论
850 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
823 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1274 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11816 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 01:26 , Processed in 0.605006 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号