完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define LCD P0 ***it EN=P2^7; ***it RW=P2^5; ***it RS=P2^6; void DINGSHIQI() //定时器设置 { TMOD=0x01; EA=1; ET0=1; TR0=1; } void delay(char H,char L)//延时函数 { TF0=0;TH0=H;TL0=L; } void lcdwritecom(char com) { RW=0; RS=0; EN=1; delay(0xf4,0x48);//延时 LCD=com; delay(0xf4,0x48); EN=0; } void lcdwritedata(char dat) { RW=0; RS=1; EN=1; delay(0xf4,0x48); LCD=dat; delay(0xf4,0x48); EN=0; } void lcdchushihua()//1602初始化 { lcdwritecom(0x01); lcdwritecom(0x06); lcdwritecom(0x0f); lcdwritecom(0x14); lcdwritecom(0x80); } /*-------------------------------------*/ void main() { char T[]="STARBUCKS"; int i; lcdchushihua(); for(i=0;i<9;i++) { lcdwritedata(T[i]); } while(1) { } } 他就是显示不了任何东西,真的很郁闷,我是新手,才刚开始学1602,之前写过一个类似的显示的还好,这个就不知道哪出问题了,调不出来。 PS:程序不够标准,望误喷。 |
|
相关推荐
10个回答
|
|
void DINGSHIQI() //定时器设置
{ TMOD=0x01; EA=1; ET0=1; TR0=1; } void delay(char H,char L)//延时函数 { TF0=0;TH0=H;TL0=L; }请问这是什么延时程序???? |
|
|
|
这是我看别人的,后来我也在思考,感觉这个不能延时,那我想请问一下子,用定时器做定时的基本套路有么? 还有我改了一下: #include #define t P0 ***it RS=P2^6; ***it RW=P2^5; ***it EN=P2^7; void delay(int c) { char a,b; for (; c>0; c--) { for (b=199;b>0;b--) { for(a=1;a>0;a--); } } } void lcdwritecom(char com) { RS=0; RW=0; EN=1; delay(10); t=com; delay(10); EN=0; } void lcdwritedata(char dat) { RS=1; RW=0; EN=1; delay(10); t=dat; delay(10); EN=0; } void lcdchushihua(void) { lcdwritecom(0x01);//清屏 lcdwritecom(0x0c);//开显示,开光标,光标闪烁 lcdwritecom(0x06);//AC自加一 lcdwritecom(0x14);//八位数据总线,显示双行 lcdwritecom(0x80);//初始地址 } void main() { char lcd[]="MH370 GO HOME ;MH370 GO HOME"; int i; lcdchushihua(); for(i=0;i<27;i++) { lcdwritedata(lcd); } while(1) { } } 他还是啥也不出,我真的不晓得哪里出错了,请你帮看下。。 刚学,或许是基本的使用没掌握,但自己搞不明白,写的略乱,见谅。 |
|
|
|
char lcd[]="MH370 GO HOME ;MH370 GO HOME";
这个为什么写在main里面?? for(i=0;i<27;i++) { lcdwritedata(i);//这个值为 i } |
|
|
|
我改了,还是不对,还有,我想输出一个字符串,里面为啥只是个 i 呢?这个字符串定义在里面会有什么影响么? |
|
|
|
他这个写在MAIN里面是没有问题的!MAIN开头是允许定义变量的! |
|
|
|
for(i=0;i<27;i++) { lcdwritedata(lcd); }四楼说对了! |
|
|
|
|
|
|
|
没细看,不过使用定时的时器延时的时候不使用延时最好使用查询法,不要使用中断
|
|
|
|
|
|
|
|
你的lcd初始化和写命令写数据的程序有错
#include #define LCD P0 ***it EN=P2^7; ***it RW=P2^5; ***it RS=P2^6; void DINGSHIQI() //定时器设置 { TMOD=0x01; EA=1; ET0=1; TR0=1; } void delay(char H,char L)//延时函数 { TF0=0;TH0=H;TL0=L; } void lcdwritecom(char com) { RW=0; RS=0; EN=0; LCD=com; delay(0xf4,0x48);//延时 EN = 1; delay(0xf4,0x48); EN=0; } void lcdwritedata(char dat) { RW=0; RS=1; EN=0; delay(0xf4,0x48); LCD=dat; delay(0xf4,0x48); EN = 1; delay(0xf4,0x48); EN=0; } void lcdchushihua()//1602初始化 { lcdwritecom(0x38); lcdwritecom(0x0C); lcdwritecom(0x06); lcdwritecom(0x01); lcdwritecom(0x80); } /*-------------------------------------*/ void main() { char T[]=" STARBUCKS"; int i; lcdchushihua(); for(i=0;i<10;i++) { lcdwritedata(T[i]); } while(1) { } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNK210使用指南 -CanMV版 V1.0》第八章 CanMV IDE初体验
1031 浏览 0 评论
过采样提高12位ADC精度在STM32主控上的实现(附电路及代码)
744 浏览 0 评论
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
970 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
1581 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1255 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11129 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-18 04:53 , Processed in 0.748690 second(s), Total 93, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号