完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人使用的郭天祥老师的TX-1C开发板
结果再做1602实验,结果下载程序后1602还是什么都木有,只有背光灯亮着 程序如下: #include #define uchar unsigned char #define uint unsigned int ***it dula=P2^6; ***it wela=P2^7; ***it lcden=P3^4; ***it rs=P3^5; uchar num; uchar code table[]=" 2013-2-20 "; uchar code table1[]=" 00:00:00 "; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { rs=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) { rs=1; lcden=0; P0=date; delay(5); lcden=1; delay(5); lcden=0; } void init() { lcden=0; dula=0; wela=0; num=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<16;num++) { write_date(table[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(table1[num]); delay(5); } } void main() { init(); while(1); } 求大神帮忙看看啊,找了好久就是不知道哪有问题,要崩溃了 |
|
相关推荐
28个回答
|
|
{:7:}
|
|
|
|
|
|
|
|
|
|
|
|
本帖最后由 me860 于 2014-2-21 19:26 编辑
看看板子上,如果有调对1602比度的电位器,可以调一下,看看是不是对比度太低,显示不出来(如果程序没问题) |
|
|
|
|
|
|
|
本帖最后由 dpjfsy007 于 2014-2-21 19:45 编辑
1)1602方向有没有插反; 2)板子硬件有没有什么问题,短路帽有没有插对,可以下载个测试文件试试; 3)看看亮度有没有调好; 还是不行的话,只好联系卖家看看能不能找出是什么问题,或者换个板子。 |
|
|
|
这些都是没有问题的,因为我拿另一个开发板原来光盘带的程序实验了一下是可以的~~ 还是非常感谢您~~ |
|
|
|
同样,拿另一个1602的程序实验木有问题 |
|
|
|
谢谢您~ 另一个1602程序可以是不是就意味着亮度是木有问题的 |
|
1 条评论
|
|
刚才把你的程序下载到我的板子上面跑了一下,没问题啊 第一行中间显示2013-2-20 第二行中间显示 00:00:00 |
|
|
|
本帖最后由 dpjfsy007 于 2014-2-23 11:04 编辑
“拿另一个开发板原来光盘带的程序实验了一下是可以的” 是直接烧录光盘里面的 hex 文件? 建议用 keil 生成 hex 文件再烧录到板子上面试试; 看看是不是 keil 软件设置的问题。。。 |
|
|
|
本帖最后由 me860 于 2014-2-23 11:40 编辑
不知楼主的Leden指的是LCD的E "使能信号"端么?R/W端口用的哪个I/O口呢?在你的读写子函数中,没有发现,如果没有R/W读写I/O的操作,1602是不能正常工作的,单片机上电复位I/O为0XFF,所以程序一直在执行读操作 void write_com(uchar com) { rs=0; lcden=0; //E信号I/O口? LCD_RW = 0;//读写选择端口,高为读操作,低为写操作 (别的读写子函数也要有R/W的操作)P0=com; delay(5); lcden=1; delay(5); lcden=0; //cden=1; //如果加上RW端口的使用还是不行,加上这句试试 //最后把使能I/O拉高,如果还不行,在这句上面加一句lcden=0; 小延时下 } |
|
|
|
lcden就是使能端信号,这里读写信号R/W就不需要了啊,因为初始化低电平就是写,另外R/S为写命令与写数据控制端,所以这个函数里只要R/S和R/W两个控制口啊。 谢谢您的帮助 |
|
|
|
是这样的啊,很奇怪,把关盘里的程序生成HEX文件运行没问题 该程序见附件 另外我把郭老师视频教程里上课写的程序源文件烧写到板子上和我写的程序的情况一样啊,朱老师的程序: #include #define uchar unsigned char #define uint unsigned int ***it dula=P2^6; ***it wela=P2^7; ***it rs=P3^5; ***it lcden=P3^4; ***it s1=P3^0; ***it s2=P3^1; ***it s3=P3^2; ***it rd=P3^7; uchar count,s1num; char miao,shi,fen; uchar code table[]=" 2007-7-30 MON"; uchar code table1[]=" 00:00:00"; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { rs=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) { rs=1; lcden=0; P0=date; delay(5); lcden=1; delay(5); lcden=0; } void init() { uchar num; dula=0; wela=0; lcden=0; // fen=59; // miao=53; // shi=23; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<15;num++) { write_date(table[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<12;num++) { write_date(table1[num]); delay(5); } TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void write_sfm(uchar add,uchar date) { uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } void keyscan() { rd=0; if(s1==0) { delay(5); if(s1==0) { s1num++; while(!s1); if(s1num==1) { TR0=0; write_com(0x80+0x40+10); write_com(0x0f); } } if(s1num==2) { write_com(0x80+0x40+7); } if(s1num==3) { write_com(0x80+0x40+4); } if(s1num==4) { s1num=0; write_com(0x0c); TR0=1; } } if(s1num!=0) { if(s2==0) { delay(5); if(s2==0) { while(!s2); if(s1num==1) { miao++; if(miao==60) miao=0; write_sfm(10,miao); write_com(0x80+0x40+10); } if(s1num==2) { fen++; if(fen==60) fen=0; write_sfm(7,fen); write_com(0x80+0x40+7); } if(s1num==3) { shi++; if(shi==24) shi=0; write_sfm(4,shi); write_com(0x80+0x40+4); } } } if(s3==0) { delay(5); if(s3==0) { while(!s3); if(s1num==1) { /* if(miao==0) { miao=59; write_sfm(10,miao); write_com(0x80+0x40+10); }*/ miao--; if(miao==-1) miao=59; write_sfm(10,miao); write_com(0x80+0x40+10); } if(s1num==2) { fen--; if(fen==-1) fen=59; write_sfm(7,fen); write_com(0x80+0x40+7); } if(s1num==3) { shi--; if(shi==-1) shi=23; write_sfm(4,shi); write_com(0x80+0x40+4); } } } } } void main() { init(); while(1) { keyscan(); } // while(1); } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++; if(count==18) { count=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; } write_sfm(4,shi); } write_sfm(7,fen); } write_sfm(10,miao); } }
|
|
|
|
还有就是,1602第一行有一排黑背景,这里跪求大婶了
|
|
|
|
本帖最后由 me860 于 2014-2-23 11:48 编辑
不好意思,没注意到初始化,真头疼,那只有检查端口的定义和实际LCD的端口是否一致了,你可以比着板子自带的程序看看哪里不一样,搞定后望告知 |
|
|
|
端口木有问题啊,我看了板子的原理图,而且是看着郭老师的视频写的程序啊。。。调不出来真蛋疼初学者,还请大神多多教我 |
|
|
|
附件不能下啊!!!!
|
|
|
|
write_com(0x01); 这个就是清屏指令,这样还有黑背景? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
158 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
237 浏览 0 评论
655 浏览 1 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
563 浏览 0 评论
862 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12034 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 18:48 , Processed in 1.157012 second(s), Total 83, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号