second.vhd

来自「数字显示当前的小时、分钟、秒; 2、可以预置为12小时计时显示和24小时计时显」· VHDL 代码 · 共 37 行

VHD
37
字号
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SECOND IS
PORT(CLK,RESET:IN STD_LOGIC;----时钟/清零信号
     SECOND0,SECOND1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);----秒高位/低位
     COUT:OUT STD_LOGIC);-------输出/进位信号
END SECOND;
ARCHITECTURE SEC OF SECOND IS
BEGIN
PROCESS(CLK,RESET)
VARIABLE CNT1,CNT0:STD_LOGIC_VECTOR(3 DOWNTO 0);---计数
BEGIN
IF RESET='1' THEN----当CKR为1时,高低位均为0
CNT1:="0000";
CNT0:="0000";
ELSIF CLK'EVENT AND CLK='1' THEN
IF CNT1="0101" AND CNT0="1000" THEN----当记数为58(实际是经过59个记时脉冲)
COUT<='1';----进位
CNT0:="1001";----低位为9
ELSIF CNT0<"1001" THEN----小于9时
CNT0:=CNT0+1;----计数
ELSE
CNT0:="0000";
IF CNT1<"0101" THEN----高位小于5时
CNT1:=CNT1+1;
ELSE
CNT1:="0000";
COUT<='0';
END IF;
END IF;
END IF;
SECOND1<=CNT1;
SECOND0<=CNT0;
END PROCESS;
END SEC;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?