ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:15.58KB ,
资源ID:148875      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/148875.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的液晶数字钟程序.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的液晶数字钟程序.docx

1、timescale 1ns / 1ps/ Company:/ Engineer:/ Create Date: 21:00:25 06/13/2011/ Design Name:/ Module Name: lcd1602shizhong/ Project Name:/ Target Devices:/ Tool versions:/ Description:/ Dependencies:/ Revision:/ Revision 0.01 - File Created/ Additional Comments:/module lcd1602shizhong(input clk,/input C

2、LOCK_50, / 板载时钟 50MHzinput rst, / 板载按键 RST/ LCD1602 Interfaceoutput 7:0 LCD1602_DATA, / LCD1602 数据总线output LCD1602_E, / LCD1602 使能output LCD1602_RS, / LCD1602 指令数据选择output LCD1602_RW, / LCD1602 读写选择input sw1,sw2,sw3,sw4,output led);/ 0 (8*16-1) = 128/ 16bits - 0123456789ABCDEF -wire 127:0 row1_val =

3、 the FPGA clock ;/wire 127:0 row2_val = Amy-studio Pub ;wire 3:0second_L,second_H;wire 3:0miniute_L,miniute_H;wire 3:0hour_L,hour_H;wire 3:0 sw_code;/ 例化 LCD1602 驱动/lcd1602_drive u0( .clk (clk),.rst (rst),/ LCD1602 Input Value.row1_val (row1_val),/.row2_val (row2_val),.second_L (second_L),.second_H

4、(second_H),.miniute_L (miniute_L),.miniute_H (miniute_H),.hour_L (hour_L),.hour_H (hour_H),/ LCD1602 Interface.lcd_data (LCD1602_DATA),.lcd_e (LCD1602_E),.lcd_rs (LCD1602_RS),.lcd_rw (LCD1602_RW);/ 时钟例化/watch watch(.clk (clk),.rst (rst),.sw_code (sw_code),.second_L (second_L),.second_H (second_H),.m

5、iniute_L (miniute_L),.miniute_H (miniute_H),.hour_L (hour_L),.hour_H (hour_H),.led (led);/按键例化/key key(.clk (clk),.rst (rst),.sw1 (sw1),.sw2 (sw2),.sw3 (sw3),.sw4 (sw4),.sw_code (sw_code);endmodule/lcd1602 驱动模块/module lcd1602_drive(input clk, / 50MHz时钟input rst, / 复位信号/ LCD1602 Input Valueinput 127:

6、0 row1_val, / 第一行字符/input 127:0 row2_val, / 第二行字符input 3:0second_L,input 3:0second_H,input 3:0miniute_L,input 3:0miniute_H,input 3:0hour_L,input 3:0hour_H,/ LCD1602 Interfaceoutput reg 7:0 lcd_data, / 数据总线output lcd_e, / 使能信号output reg lcd_rs, / 指令、数据选择output lcd_rw / 读、写选择);/ +/ 分频模块 开始/ +reg 15:0

7、cnt; / 计数子reg 7:0 date9:0;initialbegindate0=0;date1=1;date2=2;date3=3;date4=4;date5=5;date6=6;date7=7;date8=8;date9=9;endalways (posedge clk, negedge rst)if (!rst)cnt = 0;elsecnt = cnt + 1b1;/ 500Khz 1MHz 皆可wire lcd_clk = cnt15; / (216 / 50M) = 1.31ms/ -/ 分频模块 结束/ -/ +/ LCD1602 驱动模块 开始/ +/ 格雷码编码共 40

8、 个状态parameter IDLE = 8h00;/ 写指令初始化parameter DISP_SET = 8h01; / 显示模式设置parameter DISP_OFF = 8h03; / 显示关闭parameter CLR_SCR = 8h02; / 显示清屏parameter CURSOR_SET1 = 8h06; / 显示光标移动设置parameter CURSOR_SET2 = 8h07; / 显示开及光标设置/ 显示第一行parameter ROW1_ADDR = 8h05; / 写第 1 行起始地址parameter ROW1_0 = 8h04;parameter ROW1_

9、1 = 8h0C;parameter ROW1_2 = 8h0D;parameter ROW1_3 = 8h0F;parameter ROW1_4 = 8h0E;parameter ROW1_5 = 8h0A;parameter ROW1_6 = 8h0B;parameter ROW1_7 = 8h09;parameter ROW1_8 = 8h08;parameter ROW1_9 = 8h18;parameter ROW1_A = 8h19;parameter ROW1_B = 8h1B;parameter ROW1_C = 8h1A;parameter ROW1_D = 8h1E;par

10、ameter ROW1_E = 8h1F;parameter ROW1_F = 8h1D;/ 显示第二行parameter ROW2_ADDR = 8h1C; / 写第 2 行起始地址parameter ROW2_0 = 8h14;parameter ROW2_1 = 8h15;parameter ROW2_2 = 8h17;parameter ROW2_3 = 8h16;parameter ROW2_4 = 8h12;parameter ROW2_5 = 8h13;parameter ROW2_6 = 8h11;parameter ROW2_7 = 8h10;parameter ROW2_8

11、 = 8h30;parameter ROW2_9 = 8h31;parameter ROW2_A = 8h33;parameter ROW2_B = 8h32;parameter ROW2_C = 8h36;parameter ROW2_D = 8h37;parameter ROW2_E = 8h35;parameter ROW2_F = 8h34;reg 5:0 current_state, next_state; / 现态、次态/ FSM: always1always (posedge lcd_clk, negedge rst)if(!rst) current_state = IDLE;e

12、lse current_state = next_state;/ FSM: always2alwaysbegincase(current_state)IDLE : next_state = DISP_SET;/ 写指令初始化DISP_SET : next_state = DISP_OFF;DISP_OFF : next_state = CLR_SCR;CLR_SCR : next_state = CURSOR_SET1;CURSOR_SET1 : next_state = CURSOR_SET2;CURSOR_SET2 : next_state = ROW1_ADDR;/ 显示第一行ROW1_ADDR : next_state = ROW1_0;ROW1_0 : next_state = ROW1_1;ROW1_1 : next_state = ROW1_2;ROW1_2 : next_state = ROW1_3;ROW1_3 : next_state = ROW1_4;ROW1_4 : next_state = ROW1_5;ROW1_5 : next_state = ROW1_6;ROW1_6 : next_state = ROW1_7; ROW1_7 : next_sta

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1