FPGA的数字钟带校时闹钟报时功能VHDL

这篇具有很好参考价值的文章主要介绍了FPGA的数字钟带校时闹钟报时功能VHDL。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:基于FPGA的数字钟具有校时闹钟报时功能

软件:Quartus

语言:VHDL

要求:

  1、计时功能:这是数字钟设计的基本功能,每秒钟更新一次,并且能在显示屏上显示当前的时间。
  2、闹钟功能:如果当前的时间与闹钟设置的时间相同,则扬声器发出闹音。
  3、校时设置:用户可以通过功能键重新进行时间设置.精确校时时还可以对秒进行清零

  4、整点报功能:如果当前时间为整点,则扬声器发出特定频率的整点报音。
  5、闹铃设置:用户可以通过功能键完成任意时间的闹铃设置。
  6、显示功能:正常计时状态6位数码管分别显示时、分、秒;校时状态显示时、分、闹钟设置状态显示当前闹钟的时分设置值。

  本课题要达到的目标是:在Quartus II软件上用VHDL语言编写相关的应用程序,利用FPGA完成数字时钟,使其功能基本得到实现。

部分代码展示

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY Digital_clock IS
   PORT (
      clk_50M     : IN STD_LOGIC;
      key_0       : IN STD_LOGIC;--模式设置按键--4'd0:计时,4'd1:闹钟,4'd3:温度
      key_1       : IN STD_LOGIC;--设置修改
      key_2       : IN STD_LOGIC;--修改确认
      key_3       : IN STD_LOGIC;--修改时分秒,闹钟关闭
   one_wire    : INOUT STD_LOGIC;  -- 传感器One-Wire总线
      
      bell_out    : OUT STD_LOGIC;
      led_mode    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--led显示当前模式
      bit_select  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管位选
      seg_select  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
   );
END Digital_clock;
ARCHITECTURE behave OF Digital_clock IS
--模块声明
   --响铃模块
   COMPONENT Bell IS
      PORT (
         clk_50M     : IN STD_LOGIC;
         clear_alarm : IN STD_LOGIC;
         alarm_hour_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_minute_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_second_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         hour_time   : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         minute_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         second_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         bell_out    : OUT STD_LOGIC
      );
   END COMPONENT;
   --闹钟模块
   COMPONENT alarm_clock IS
      PORT (
         clk_50M     : IN STD_LOGIC;
         state_mode  : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
         set_time_key : IN STD_LOGIC;
         confirm_key : IN STD_LOGIC;
         change_time_key : IN STD_LOGIC;
         alarm_hour_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_minute_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_second_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
   --显示模块
   COMPONENT display IS
      PORT (
         clk         : IN STD_LOGIC;
         state_mode  : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
temperature : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--温度
         alarm_hour_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_minute_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         alarm_second_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         hour_time   : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         minute_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         second_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
         bit_select  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         seg_select  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
   --设置模式
   COMPONENT set_mode IS
      PORT (
         clk_50M     : IN STD_LOGIC;
         set_mode_key : IN STD_LOGIC;
         led_mode    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
         state_mode  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
      );
   END COMPONENT;
   --分频模块
   COMPONENT fenping IS
      PORT (
         clk_50M     : IN STD_LOGIC;
         clk_1Hz     : OUT STD_LOGIC
      );
   END COMPONENT;
   --按键消抖
   COMPONENT key_jitter IS
      PORT (
         clkin       : IN STD_LOGIC;
         key_in      : IN STD_LOGIC;
         key_negedge : OUT STD_LOGIC
      );
   END COMPONENT;
   --计时模块
   COMPONENT jishi IS
      PORT (
         clk_50M     : IN STD_LOGIC;
         clk_1Hz     : IN STD_LOGIC;
         state_mode  : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
         set_time_key : IN STD_LOGIC;
         confirm_key : IN STD_LOGIC;
         change_time_key : IN STD_LOGIC;
         hour_time   : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         minute_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         second_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
COMPONENT ds18B20 is  
port(
clk : in std_logic;   --为50MHz 
dq  : inout std_logic;  
LED : out std_logic; 
LED2 : out std_logic; 
LED3 : out std_logic; 
rst: in std_logic; 
temp_h:out std_logic_vector(7 downto 0);
temp_l:out std_logic_vector(7 downto 0)
);  
end COMPONENT; 
   SIGNAL state_mode            : STD_LOGIC_VECTOR(3 DOWNTO 0);--当前模式,4'd0:计时,4'd1:闹钟,4'd2:跑表
   SIGNAL hour_time             : STD_LOGIC_VECTOR(7 DOWNTO 0);--时
   SIGNAL minute_time           : STD_LOGIC_VECTOR(7 DOWNTO 0);--分
   SIGNAL second_time           : STD_LOGIC_VECTOR(7 DOWNTO 0);--秒
   SIGNAL alarm_hour_time       : STD_LOGIC_VECTOR(7 DOWNTO 0);--闹钟时
   SIGNAL alarm_minute_time     : STD_LOGIC_VECTOR(7 DOWNTO 0);--闹钟分
   SIGNAL alarm_second_time     : STD_LOGIC_VECTOR(7 DOWNTO 0);--闹钟秒
   
   SIGNAL key_0_negedge         : STD_LOGIC;--按键下降沿
   SIGNAL key_1_negedge         : STD_LOGIC;--按键下降沿
   SIGNAL key_2_negedge         : STD_LOGIC;--按键下降沿
   SIGNAL key_3_negedge         : STD_LOGIC;--按键下降沿
   
   SIGNAL clk_1Hz               : STD_LOGIC;--1Hz

  

本代码已在开发板验证

代码下载:

FPGA的数字钟校时闹钟报时VHDL_Verilog/VHDL资源下载名称:基于FPGA的数字钟具有校时闹钟报时功能(代码在文末付费下载)软件:Quartus语言:VHDL要求:1、计时功能:这是数字钟设计的基本功能,每秒钟更新一次,并且能在显示屏上显示当前的时间。 2、闹钟功能:如果当前的时间与闹钟设置的时间相同,则扬声器发出闹音。 3、校时设置:用户可以通过功能键重新进行时间设置.精确校时时还可以对秒进行清零。4、整点报功能:如果当前时间为整点,则扬声器发出http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=181

仿真图(文档点击可下载):

仿真图.doc

1. 分频模块

fgpa 整点报时,fpga开发

2. 设置闹钟模块

fgpa 整点报时,fpga开发

3. 响铃模块包括闹钟和整点报时

fgpa 整点报时,fpga开发

fgpa 整点报时,fpga开发

4. display显示模块

fgpa 整点报时,fpga开发

fgpa 整点报时,fpga开发

fgpa 整点报时,fpga开发

5. 计时模块

fgpa 整点报时,fpga开发

fgpa 整点报时,fpga开发

fgpa 整点报时,fpga开发

6. 模式设置模块

fgpa 整点报时,fpga开发

7. 按键模块

fgpa 整点报时,fpga开发

8. 整体仿真

fgpa 整点报时,fpga开发文章来源地址https://www.toymoban.com/news/detail-760773.html

到了这里,关于FPGA的数字钟带校时闹钟报时功能VHDL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA-DE2-115-实验二-模块化多功能数字钟

    前言: 本文主要介绍了集成电路EDA这门课程的相关实验及代码。使用的软件是Quartus Ⅱ,该实验使用fpga芯片为cyclone IV EP4CE115F29C7。 本次实验我们需要实现生活中常见的电子手表的所有功能。 我们知道: 电子手表有五个功能,包括:时间显示功能,夜光模式功能,计时功能,闹钟功能

    2024年02月04日
    浏览(74)
  • 【电子技术综合设计】数字钟(包含计数模块、12/24进制切换模块以及闹钟模块)

    工程文件: https://pan.baidu.com/s/1PnYd2mwMUf0tgxczdcl2MA 提取码: ihrk B站演示: 【电子技术综合设计】数字电子时钟(包含计数模块、12/24进制切换模块以及闹钟模块)_哔哩哔哩_bilibili 一、设计要求 1. 24小时制的时、分、秒计时; 2. 手动调时功能; 3. 闹钟功能; 4. 12/24小时制转换;

    2023年04月22日
    浏览(54)
  • FPGA小脚丫开发板实现数字时钟,具备调时、整点报时、闹钟功能(含verilog代码)

    一、实现功能 1. 能正常完成时钟的时、分、秒走时; 2. 使用 LED 闪烁或者改变颜色等方式实现秒的指示,要求闪烁频率或者颜色切换频率为 1Hz ; 3. 使用两位七段数码管显示时和分,其切换方式为:默认显示“分钟”,按住 K4 键显示“小时”,按下 K3 显示秒针; 4. 关上开关

    2024年02月11日
    浏览(61)
  • 年轻人的第一个数字钟!适用于FPGA的数字钟Verilog实现

    因为闲。 当然也不是很闲,初衷是因为本科时上过的数电实验课最后的大作业就是在 FPGA 上实现一个数字钟,这个作业当时困扰了我们班的诸多同学(难以置信,我们只是学材料的弱小可怜又无助{{{(_)}}}。最终,大部分同学在 拷贝一位学长的代码 一位学长的帮助下顺利通过

    2024年02月11日
    浏览(47)
  • 基于FPGA的数字钟设计

    这篇文章通过VHDL代码实现数字钟的功能,绑定引脚就可以看到实际的效果。 代码运行成功,就可以实现了计时(年月日/时分秒)、秒表、倒计时、闹钟的全部功能。

    2024年02月11日
    浏览(59)
  • 基于FPGA的可调数字钟设计

            在此特别感谢哔站up主 甘第 发布的FPGA企业实训课(基于FPGA的数字钟设计)教学视频,让一个FPGA小白开始了第一个FPGA设计开发流程。本设计参考了这个教学视频,在此基础上添加并修改了一些代码,完成了这个小小的不带任何功能的数字时钟。         初次学习

    2024年02月06日
    浏览(62)
  • 【基于FPGA的可调数字钟设计】

    近年来由于美国对我国芯片行业的封锁,我国芯片行业迎来了一波发展的浪潮,FPGA这款小众而又实用的芯片也被划在制裁名单中。 (1)、能在开发板的数码管上显示时间功能 (2)、正常显示时、分、秒 (3)、4个按键:一个作为rst复位,1个作为数字钟调节时的切 换,1个

    2024年02月09日
    浏览(57)
  • 【verilog】多功能数字钟的设计

    掌握数字钟的工作原理。 掌握计数器级联构成更大模值计数器的方法。  能用verilog描述简单的时序逻辑电路。         多功能数字钟应该具有的基本功能有:显示时-分-秒、整点报时、小时和分钟可调等。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的

    2024年02月04日
    浏览(61)
  • 51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能)

    51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能) 首先展示硬件设计部分,此处采用proteus仿真演示。其中液晶屏上面一行显示的是实际时间,下面一行显示的是设定闹钟时间。通过调节单刀双掷开关来改变正在调整的时间是实际时间还是闹钟时

    2024年02月11日
    浏览(56)
  • FPGA课程设计——数字电子时钟VERILOG(基于正点原子新起点开发板,支持8位或6位共阳极数码管显示时分秒毫秒,可校时,可设闹钟,闹钟开关,led指示)

    2019   级    电子科学与技术   专业FPGA课程设计 报   告 2022  年 5 月 20 日 多功能数字电子钟的设计 摘要 电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,使用EDA技术设计的结果既可以用FPGA / CPLD来实施验证,也可以直接做成专用集成电路(ASIC)。

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包