Verilog HDL 之 LCD1602英文显示

本文介绍如何使用VerilogHDL进行LCD1602显示模块的建模,包括分层设计原理、始终分频模块和具体显示控制模块的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   从即日起,开始将自己变成一名真正的程序猿……

  今天开始使用Verilog HDL进行建模,首先真是的是LCD1602英文显示部分的代码,具体代码如下:

  

 1 module lcd1602 (clock, reset, rw, en,data);  
 2     input     clock;               //系统时钟输入50M
 3     output     [7:0] data;           //LCD的8位数据口
 4     output      reset,rw,en;       //LCD的控制脚
 5  
 6  wire e; 
 7  wire [7:0] data; 
 8  wire clkr; 
 9  wire reset;   
10  //reg  [15:0] counter; 
11 
12 
13     clock_dev    u1    (
14         .clock(clock),
15         .clk_out(clkr));
16         
17     display        u2(
18         .clkr(clkr),
19         .data(data),
20         .reset(reset),
21         .e(e));    
22 assign en=clkr|e; 
23 assign rw=0; 
24 endmodule  
Top_Module

 

 4 module lcd1602 (clock, reset, rw, en,data);  
 5     input     clock;               //系统时钟输入50M
 6     output     [7:0] data;         //LCD的8位数据口
 7     output      reset,rw,en;       //LCD的控制脚
 8  
 9  wire e; 
10  wire [7:0] data; 
11  wire clkr; 
12  wire reset;   
13  //reg  [15:0] counter; 
14 
15 
16     clock_dev    u1    (
17         .clock(clock),
18         .clk_out(clkr));
19         
20     display        u2(
21         .clkr(clkr),
22         .data(data),
23         .reset(reset),
24         .e(e));    
25 assign en=clkr|e; 
26 assign rw=0; 
27 endmodule  
View Code

 

  采用分层设计原理,这是顶层部分,底层还有始终分频模快和具体显示控制模块,

 1 module clock_dev(clock,clk_out);
 2     input        clock;
 3     output    reg    clk_out;
 4     
 5     reg    [31:0]    counter;
 6     
 7     always    @    (posedge clock)
 8     begin
 9         if (counter<32'hfffe)
10         counter=counter+32'd1;
11         else
12         counter=32'd0;
13     end
14     
15     always    @ (posedge clock )
16     begin
17         if (counter==32'hff)
18         clk_out=~clk_out;
19         
20     end 
21 
22     endmodule
23     

  最后是显示控制模块:

 

 

转载于:https://www.cnblogs.com/philips-lu/archive/2013/05/29/3105620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值