6826|10

15

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

lcd1602背光没效果 [复制链接]

求助各位大神,我的开发板是EP2C8Q208C8,学的是verylog,店家给我的实验例程只有vhdl的,所以用了我同学的程序,但烧进去运行,能显示我要他显示的字符,但背光效果全无,引脚也没有接错啊。后来又到网上当了几段代码,也没有效果,倒是我自己的那份vhdl的既能显示字符又有背光。晚上又换了个lcd,(因为买来时开发板里面就已经内置了程序,所以一按电源键,lcd就会滚动WELCOME~~~~~的字符,有背光效果),这次接了个新的以后,按下电源键,新lcd能显示字符,但也没有背光效果,我还没有烧进去啊!又接了个新lcd,这次是直接连字符都几不可见。

不知道各位能不能看懂?新手求教啊。是硬件的事还是程序的事呢?
此帖出自FPGA/CPLD论坛

最新回复

关注,加油  详情 回复 发表于 2012-10-29 13:33
点赞 关注
 

回复
举报

15

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

下面附上第一次我用的同学的程序

module lcd (clk, rs, rw, en,dat);  
input clk;           //系统时钟输入50M
output [7:0] dat;   //LCD的8位数据口
output  rs,rw,en;   //LCD的控制脚

reg e;
reg [7:0] dat;
reg rs;   
reg  [15:0] counter;
reg [5:0] current,next;
reg clkr;
reg [1:0] cnt;
//定义了LCD状态机需要的状态。
parameter  set0=6'h0;
parameter  set1=6'h1;
parameter  set2=6'h2;
parameter  set3=6'h3;
parameter  set4=6'h4;   

parameter  dat0=6'h7;
parameter  dat1=6'h8;
parameter  dat2=6'h9;
parameter  dat3=6'hA;
parameter  dat4=6'hB;
parameter  dat5=6'hC;
parameter  dat6=6'hD;
parameter  dat7=6'hE;
parameter  dat8=6'hF;
parameter  dat9=6'h10;

parameter  dat10=6'h12;
parameter  dat11=6'h13;
parameter  dat12=6'h14;
parameter  dat13=6'h15;
parameter  dat14=6'h16;
parameter  dat15=6'h17;
parameter  dat16=6'h18;
parameter  dat17=6'h19;
parameter  dat18=6'h1A;
parameter  dat19=6'h1B;
parameter  dat20=6'h1C;
parameter  dat21=6'h1D;
parameter  dat22=6'h1E;
parameter  dat23=6'h1F;
parameter  dat24=6'h20;
parameter  dat25=6'h21;
parameter  dat26=6'h22;      
  
parameter  nul=6'hF1;
always @(posedge clk)         //da de shi zhong pinlv
begin
  counter=counter+1;
  if(counter==16'h000f)  
  clkr=~clkr;
end
always @(posedge clkr)
begin
current=next;
  case(current)
        //LCD1602的资料上面介绍的地址第一行的起始地址是00H
        //第二行的其实地址是40H,他这个是没有加上最高位那个1
        //所以我们实际的编程是地址第一行的起始地址是00H+80H= 0x80
        //实际的编程是地址第二行的起始地址是40H+80H= 0xC0
        //这里要注意
       // case 0:addr=0x80; break; //所以我们实际的编程是地址第一行的起始地址是00H+80H= 0x80
       // case 1:addr=0xC0; break;//实际的编程是地址第二行的起始地址是40H+80H= 0xC0
    set0:   begin  rs<=0; dat<=8'h38; next<=set1; end  //*设置8位格式,2行,5*7*
    set1:   begin  rs<=0; dat<=8'h0C; next<=set2; end  //*整体显示,关光标,不闪烁*/  
    set2:   begin  rs<=0; dat<=8'h06; next<=set3; end //*设定输入方式,增量不移位*/  
    set3:   begin  
                   rs<=0; dat<=8'h01; next<=dat0;             //*清除显示*/  
   
                  end  

    dat0:   begin  rs<=1; dat<="D"; next<=dat1; end    //显示第一行
    dat1:   begin  rs<=1; dat<="E"; next<=dat2; end
    dat2:   begin  rs<=1; dat<="V"; next<=dat3; end
    dat3:   begin  rs<=1; dat<=":";next<=dat4; end
    dat4:   begin  rs<=1; dat<="<"; next<=dat5; end
    dat5:   begin  rs<=1; dat<="A"; next<=dat6; end
    dat6:   begin  rs<=1; dat<="-"; next<=dat7; end
    dat7:   begin  rs<=1; dat<="C";next<=dat8; end
    dat8:   begin  rs<=1; dat<="5"; next<=dat9; end
    dat9:   begin  rs<=1; dat<="F";next<= dat10 ; end
    dat10:  begin  rs<=1; dat<="B"; next<=dat11; end
    dat11:  begin  rs<=1; dat<=">"; next<=set4; end

    set4:   begin  rs<=0; dat<=8'hC0; next<=dat12; end //显示第二行

    dat12:   begin  rs<=1; dat<="W"; next<=dat13; end
    dat13:   begin  rs<=1; dat<="W";next<=dat14; end
    dat14:   begin  rs<=1; dat<="W"; next<=dat15; end
    dat15:   begin  rs<=1; dat<="."; next<=dat16; end
    dat16:   begin  rs<=1; dat<="2"; next<=dat17; end
    dat17:   begin  rs<=1; dat<="1"; next<=dat18; end
    dat18:   begin  rs<=1; dat<="E"; next<=dat19; end
    dat19:   begin  rs<=1; dat<="D"; next<=dat20; end
    dat20:   begin  rs<=1; dat<="A"; next<=dat21; end
    dat21:   begin  rs<=1; dat<="."; next<=dat22; end
    dat22:   begin  rs<=1; dat<="N"; next<=dat23 ; end
    dat23:   begin  rs<=1; dat<="E"; next<=dat24; end
    dat24:   begin  rs<=1; dat<="T"; next<=dat25; end
    dat25:   begin  rs<=1; dat<=" "; next<=dat26; end
    dat26:   begin  rs<=1; dat<=" "; next<=nul;   end

     nul:   begin rs<=0;  dat<=8'h00;                    // 把液晶的E 脚 拉高
              if(cnt!=2'h2)  
                  begin  
                       e<=0;next<=set0;cnt<=cnt+1;  
                  end  
                   else  
                     begin next<=nul; e<=1;
                    end   
              end
   default:   next=set0;
    endcase
end
assign en=clkr|e;
assign rw=0;
endmodule
此帖出自FPGA/CPLD论坛
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
求助啊,各位大神,在线等
此帖出自FPGA/CPLD论坛
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

4
 
没有人肯给个意见吗
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

5
 
一般硬件出问题较少,主要考虑你设计的程序问题。
此帖出自FPGA/CPLD论坛

点评

感谢版主出来,我不解为什么能显示字符,却没有背光效果,另外还复制过网上其他人上传的据说成功的程序烧进去,也是一样没有背光:puzzle:  详情 回复 发表于 2012-10-27 15:08
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 eeleader 的帖子

感谢版主出来,我不解为什么能显示字符,却没有背光效果,另外还复制过网上其他人上传的据说成功的程序烧进去,也是一样没有背光
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

7
 
据我所知,背光是不是还与硬件电路设计有关
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

384

帖子

0

TA的资源

一粒金砂(中级)

8
 
建议先把它的程序下载进去试一试,如果成功了,那说明是你的程序的问题,如果历程也有问题,那么不一定是你的问题,你的有没有电位器调背光的呢??
此帖出自FPGA/CPLD论坛
 
 
 

回复

138

帖子

0

TA的资源

一粒金砂(高级)

9
 
LCD1602的背光是靠15跟16叫的电压和地来的,除非你的开发板上有对这个电压进行控制,否则正常情况下应该是接电背光就能亮的!
此帖出自FPGA/CPLD论坛
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(高级)

10
 
调对比度嘛,就是调那个可调电阻,,
此帖出自FPGA/CPLD论坛
 
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

11
 
关注,加油
此帖出自FPGA/CPLD论坛
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表