自动打铃控制系统设计VHDL代码Quartus 实验箱

本文详细描述了一个自动打铃控制系统的设计过程,采用VHDL编程在Quartus环境中实现,包括分频模块和控制模块的实现,以及如何根据学校作息时间间隔进行铃声控制。最终代码在实验箱上进行了验证和调试。
摘要由CSDN通过智能技术生成

名称:自动打铃控制系统设计VHDL代码Quartus  实验箱(文末获取)

软件:Quartus

语言:VHDL

代码功能:

自动打铃控制系统设计

要求:根据学校打铃系统设计,打第一个上课铃后,隔45分钟打一次下课休息铃,5分钟后再打一次上课铃,再隔45分钟后打下课铃

包括总体电路、各模块设计和相应模块的VHDL程序,系统框图,仿真图,引脚锁定,最

终需要上开发板调试。

本代码已在实验箱验证,实验箱如下,其他实验箱可以修改管脚适配:

实验箱.jpg

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--顶层模块
ENTITY ring IS
   PORT (
      clk       : IN STD_LOGIC;--时钟
      reset_p   : IN STD_LOGIC;--复位
      speaker   : OUT STD_LOGIC;--蜂鸣器
      hour_H    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--小时十位
      hour_L    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--小时个位
      minute_H  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--分钟十位
      minute_L  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--分钟个位
   );
END ring;
ARCHITECTURE behave OF ring IS
--控制模块
   COMPONENT ring_ctrl IS
      PORT (
         clk_1m    : IN STD_LOGIC;
         reset_p   : IN STD_LOGIC;
         clk       : IN STD_LOGIC;
         speaker   : OUT STD_LOGIC;
         hour_H    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
         hour_L    : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
         minute_H  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
         minute_L  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
      );
   END COMPONENT;
  --分频模块 
   COMPONENT div_clk IS
      PORT (
         clk       : IN STD_LOGIC;
         clk_1m    : OUT STD_LOGIC
      );
   END COMPONENT;
   
   SIGNAL clk_1m         : STD_LOGIC;
BEGIN
--分频模块 
   i_div_clk : div_clk
      PORT MAP (
         clk     => clk,
         clk_1m  => clk_1m
      );
--控制模块
   i_ring_ctrl : ring_ctrl
      PORT MAP (
         clk_1m    => clk_1m,
         reset_p   => reset_p,
         clk       => clk,
         speaker   => speaker,
         hour_H    => hour_H,
         hour_L    => hour_L,
         minute_H  => minute_H,
         minute_L  => minute_L
      );
   
END behave;
源代码

 扫描文章末尾的公众号二维码

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录 摘要……………………………………………………………………………………1 关键字…………………………………………………………………………………2 第一章、绪论…………………………………………………………………………3第二章、自动打铃器的硬件实现……………………………………………………4 第三章、自动打铃器的软件实现……………………………………………………6 1.VHDL语言简介 ………………………………………………………………6 2、VHDL编程环境 MaxplusII…………………………………………………10 3、VHDL编程环境Quartus II…………………………………………………12 第四章、自动打铃器软件分析………………………………………………………13 1. 系统框图……………………………………………………………………13 2、顶层文件图………………… ………………………………………………14 3.状态机………………………………………………………………………15 4、消抖模块……………… ……………………………………………………18 5、分频模块…………………… ………………………………………………20 6、计时调时模块…… …………………………………………………………21 7、打铃时间设置模块…………………………………………………………22 8、打铃长度间隔模块…………………………………………………………23 9、秒表模块……………………………………………………………………24 10、万年历模块 ………………………………………………………………25 11、显视控制模块………………………………………………………………28 12、打铃控制模块………………………………………………………………30 13、分位模块……………………………………………………………………33 14、七段码译码模块……………………………………………………………34 15、应急报警及扩展模块………………………………………………………39 参考文献 ……………………………………………………………………………41 致谢……………………………………………… ………………………………… 42 附录………………………………………………………………………………… 43 1、程序部分……………………………………………………………………43 2、图例部分……………………………………………………………………65 毕业设计勘误表…………………………………………………………………… 66 外文资料复印件及译文…………………………………………………………… 69 详细的毕业论文 该有的都有

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值