📄 lcd_top.v
字号:
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 21:15:08 08/01/2007 // Design Name: // Module Name: lcd_top // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////module lcd_top(Clk,Rst,RS,RW,EN,DB); input Clk;
input Rst;
output RS; output EN; output RW; output [7:0] DB;////**************************************display function *******************************//wire [7:0] FIRYOut = 0 ;//reg [7:0] display_dir ;reg [7:0] display_data ;wire [3:0] num10,num1 ;reg [3:0] num ;assign num10 = FIRYOut[7:4];assign num1 = FIRYOut[3:0] ;reg display_start ;
always @ ( * )begincase (num) 4'b0000 : display_data <= "0" ; 4'b0001 : display_data <= "1" ; 4'b0010 : display_data <= "2" ; 4'b0011 : display_data <= "3" ; 4'b0100 : display_data <= "4" ; 4'b0101 : display_data <= "5" ; 4'b0110 : display_data <= "6" ; 4'b0111 : display_data <= "7" ; 4'b1000 : display_data <= "8" ; 4'b1001 : display_data <= "9" ; 4'b1010 : display_data <= "a" ; 4'b1011 : display_data <= "b" ; 4'b1100 : display_data <= "c" ; 4'b1101 : display_data <= "d" ; 4'b1110 : display_data <= "e" ; 4'b1111 : display_data <= "f" ; default : display_data <= "0" ;endcase end/////////////////////////////////*******************reg [22:0] display_cnt ;always @ (posedge Clk or negedge Rst) //display refurbish if(!Rst) display_cnt <= 0 ;else display_cnt <= display_cnt + 1;always @ (posedge Clk or negedge Rst)begin if(!Rst) begin display_start <= 0 ; display_dir <= 8'b10000000 ; end else if (display_cnt == 23'b0000_0001_111111111111110) begin num <= FIRYOut[7] ; display_dir <= 8'b10000001 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_0011_111111111111110) begin num <= FIRYOut[6] ; display_dir <= 8'b10000010 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_0101_111111111111110) begin num <= FIRYOut[5] ; display_dir <= 8'b10000011 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_0111_111111111111110) begin num <= FIRYOut[4] ; display_dir <= 8'b10000100 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_1001_111111111111110) begin num <= FIRYOut[3] ; display_dir <= 8'b10000101 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_1011_111111111111110) begin num <= FIRYOut[2] ; display_dir <= 8'b10000110 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_1101_111111111111110) begin num <= FIRYOut[1] ; display_dir <= 8'b10000111 ; display_start <= 1 ; end else if (display_cnt == 23'b0000_1111_111111111111110) begin num <= FIRYOut[0] ; display_dir <= 8'b10001000 ; display_start <= 1 ; end else display_start <= 0 ;endwire [7:0] LcdDB ;assign DB = LcdDB ;lcd lcd ( .RS(RS), .RW(RW), .E(EN), .DDout(LcdDB), .Reset(!Rst), .Sclk(Clk), .display_dir(display_dir), .display_data(display_data), .display_start(display_start));////**************************************display end*******************************//endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -