verilog数字钟设计(FPGA)全新.pdfVIP

  • 12
  • 0
  • 约1.81万字
  • 约 15页
  • 2021-11-12 发布于上海
  • 举报
一、 课程设计目标 1. 熟悉并掌握 verilog 硬件描述语言 2. 熟悉 quartus 软件开发环境 3. 学会设计大中规模的数字电路,并领会其中的设计思想 二、课程设计实现的功能 (1)设计一个数码管实时显示时、分、秒的数字时钟( 24 小时显示模式) ; (2 )可以调节小时,分钟。 (3 )能够进行 24 小时和 12 小时的显示切换。 (4 )可以设置任意时刻闹钟,并且有开关闹钟功能。 (5 )有整点报时功能,几点钟 LED 灯闪亮几下。 (6 )有复位按键,复位后时间从零开始计时,但闹钟设置时间不变。 三、设计原理: 1、总原理框图: 译 码 显 示 模 块 是 切换 12 进制显示 分 频 模 块 计 小时校正 数 到达整点 输出整点报时信号 分钟校正 模 是否到闹钟时间 是 输出闹钟信号 复 位 块 设 置 闹 钟 分 钟 设置闹钟小时 模式选择模块 附全部代码: 总模块: module clock(clk,reset,MODE,Alarm_ctr,BT2,H12_24,DSH,DSL,DMH,DML,DHH,DHL,dian,bao_signa l,nao_signal); input clk;//50MHz input reset,MODE,Alarm_ctr,BT2,H12_24;// 复位键,模式选择按钮,闹钟开关档,调节按 钮 , 12— 24 小时切换档 output [7:0]DMH,DML,DHH,DHL; //4 个数码管显示输入信号 output dian,bao_signal,nao_signal; // 时分间隔点,报时信号 ,闹钟信号 output [3:0]DSH,DSL; // 秒钟输出信号 wire [3:0] SH,SL,MH,ML,HH,HL; wire [3:0] LED_mode; wire [3:0] HH12,HL12,HH24,HL24,MH24,ML24,SH24,SL24; wire [3:0] set_HH,set_HL,set_MH,set_ML; wire _1HZ,_10ms,_250ms,_500ms; wire Keydone1; wire Keydone2; wire co1,co11,co111,co2,co22,co222,set_co2; wire [3:0]mode_flag; assign dian=1b0; devide_f u1(_1HZ,_10ms,_250ms,_500ms,reset,clk); // 分频,得到 4 种不同频率的时钟信号 key_press u2(_10ms,MODE,Keydone1); // 模式档按钮去抖动 key_press u20(_10ms,BT2,Keydone2); // 调节按钮去除抖动 mode u3(Keydone1,mode_flag); // 通过模式按钮产生不同模式 second u4(_1HZ,reset,mode_flag,

文档评论(0)

1亿VIP精品文档

相关文档