博主github:https://github.com/MichaelBeechan
博主CSDN:https://blog.csdn.net/u011344545

module lcd(clk, rs, rw, en,dat,switch2);
input clk,switch2;  output [7:0] dat; output  rs,rw,en; reg e; reg [7:0] dat; reg rs;   reg  [16:0] counter; reg [4:0] current,next; reg clkr; reg [1:0] cnt; parameter  set0=4'h0; parameter  set1=4'h1; parameter  set2=4'h2; parameter  set3=4'h3; parameter  set4=5'h11;parameter  set5=5'h1E;parameter  set6=5'h1F;parameter  dat0=4'h4; parameter  dat1=4'h5; parameter  dat2=4'h6; parameter  dat3=4'h7; parameter  dat4=4'h8; parameter  dat5=4'h9; parameter  dat6=4'hA; parameter  dat7=4'hB; parameter  dat8=4'hC; parameter  dat9=4'hD; parameter  dat10=4'hE; parameter  dat11=5'h10; parameter  dat12=5'h12; parameter  dat13=5'h13; parameter  dat14=5'h14; parameter  dat15=5'h15; parameter  dat16=5'h16; parameter  dat17=5'h17; parameter  dat18=5'h18; parameter  dat19=5'h19; parameter  dat20=5'h1A; parameter  dat21=5'h1B; parameter  dat22=5'h1C; parameter  dat23=5'h1D;parameter  nul=4'hF;
always @(posedge clk)      begin counter=counter+1; if(counter==16'h000f)  clkr=~clkr;
end
always @(posedge clkr)
begin current=next; case(current) set0:   begin  rs<=0; dat<=8'h38; next<=set1; end set1:   begin  rs<=0; dat<=8'h0c; next<=set2; end set2:   begin  rs<=0; dat<=8'h6; next<=set3; end set3:   begin  rs<=0; dat<=8'h1; next<=set4; end set4:   begin  rs<=0; dat<=8'h1c; next<=set5; end set5:   begin  rs<=0; dat<=8'h80; next<=dat0; enddat0:   begin  rs<=1; dat<="P"; next<=dat1; end dat1:   begin  rs<=1; dat<="l"; next<=dat2; end dat2:   begin  rs<=1; dat<="a"; next<=dat3; end dat3:   begin  rs<=1; dat<="y"; next<=dat4; end dat4:   begin  rs<=1; dat<="i"; next<=dat5; end dat5:   begin  rs<=1; dat<="n"; next<=dat6; end dat6:   begin  rs<=1; dat<="g"; next<=dat7; end dat7:   begin  rs<=1; dat<=" "; next<=dat8; end dat8:   begin  rs<=1; dat<="M"; next<=dat9; end dat9:   begin  rs<=1; dat<="u"; next<=dat10; end dat10:   begin  rs<=1; dat<="s"; next<=dat11; end dat11:   begin  rs<=1; dat<="i"; next<=dat12; end  dat12:   begin  rs<=1; dat<="c"; next<=dat13; end dat13:   begin  rs<=1; dat<="!"; next<=set6; end set6:   begin  rs<=0; dat<=8'hc0; next<=dat14; enddat14:   begin  rs<=1; dat<="F"; next<=dat15; end dat15:   begin  rs<=1; dat<="r"; next<=dat16; end dat16:   begin  rs<=1; dat<="i"; next<=dat17; end dat17:   begin  rs<=1; dat<="e"; next<=dat18; end dat18:   begin  rs<=1; dat<="n"; next<=dat19; end dat19:   begin  rs<=1; dat<="d"; next<=dat20; end dat20:   begin  rs<=1; dat<="s"; next<=dat21; end dat21:   begin  rs<=1; dat<="h"; next<=dat22; end dat22:   begin  rs<=1; dat<="i"; next<=dat23; end dat23:   begin  rs<=1; dat<="p"; 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  

Verilog | HDL LCD显示(代码类)相关推荐

  1. 如何用Verilog HDL设计显示译码器

    Verilog HDL 设计显示译码器 逻辑原理: 7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数字系统中的数据处理和运算都是 ...

  2. Verilog HDL 语法学习笔记

    今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...

  3. Verilog HDL简明教程

    Verilog HDL简明教程 来源: 郭红卫的日志 Verilog HDL简明教程 Verilog HDL是一种硬件描述语言,用于从算法级.门级到开关级的多种抽象设计层次的数字系统建模.被建模的数字 ...

  4. 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)

    目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...

  5. Verilog hdl与VHDL混用详解

                                                                                             Verilog hdl ...

  6. I.MX6ULL之LCD显示

    I.MX6ULL之LCD显示 代码放在git仓库,有需要的可以自行下载:Gitee LCD的操作原理: 在Linux系统中通过Framebuffer驱动程序来控制LCD.我们只需要知道怎么获取LCD的 ...

  7. 日历android实训报告,EAD万年历实训报告及Verilog HDL源码

    <EDA技术及应用>实训报告1  系统设 1.1 设计要求 1.1.1 设计任务 设计并制作一台数字日历. 1.1.2 性能指标要求 ⑴用Verilog HDL语言设计一个数字日历. ⑵数 ...

  8. 8位伪随机序列(m序列verilog HDL源码 )

     伪随机码又称伪随机序列,它是具有类似于随机序列基本特性的确定序列.通常广泛应用二进制序列,因此我们仅限于研究二进制序列.二进制独立随机序列在概率论中一般称为贝努利(Bernoulli)序列,它由 ...

  9. 显示译码器——Verilog HDL语言

    显示译码器 任务描述 相关知识 逻辑原理 共阴数码管及其电路 编程要求 源代码 任务描述 根据所学的组合逻辑及数字电路的知识完成一个16进制7段数码显示译码器的设计,验证满足一个16进制7段数码显示译 ...

最新文章

  1. 来,锁个痛快(6)—— 与lock相关的视图和简单实验
  2. Mac下python3配置opencv3 3和Mac下单独opencv的配置以及iOS下配置opencv
  3. HDU 1043 Eight(双向BFS+康托展开)
  4. 【Linux 内核 内存管理】Linux 内核堆内存管理 ① ( 堆内存管理 | 内存描述符 mm_struct 结构体 | mm_struct 结构体中的 start_brk、brk 成员 )
  5. Python基础知识(第九天)
  6. 吴恩达 coursera AI 专项四第二课总结+作业答案
  7. DynaSLAM跑通的辛酸之路
  8. 椭圆中心到椭圆切线的距离
  9. 〖Python〗-- Django内置Admin
  10. oracle全角字符转半角,Oracle 表字段全角字符轉換半角字符辦法
  11. LeetCode 编辑距离 II(DP)
  12. Tensorflow学习笔记4:分布式Tensorflow
  13. css 宽高最大值最小值 0303
  14. C#中的IO流操作(FileStream)
  15. 鄂尔多斯打造西部云计算基地
  16. Inno Setup打包基本笔记
  17. 均方距离计算公式_均值、方差、均方值、均方差计算
  18. ajax poker,《使命召唤15》大逃杀模式介绍 人物解锁方法一览
  19. decltype和拖尾返回类型
  20. 大视角、大方向、大问题、大架构:(结局)解决问题的出发点

热门文章

  1. Linux系统云主机教程,新开的linux云主机磁盘挂载教程
  2. python封装c++_用pybind11封装C++实现的函数库
  3. matlab中欠定方程组超定方程组_七年级下册第10章:解二元一次方程组(12课时)...
  4. 2021-03-28 收敛性常用一阶微分方程
  5. Git复习(六)之标签管理
  6. Codeforces Round FF(Div. 2)
  7. redis 底层数据结构 压缩列表 ziplist
  8. Linux下防止文件误删方法
  9. 分享一些好用的 Chrome 扩展
  10. 函数和构造函数的区别