⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display_driver.vhd

📁 可以调整时间和设置闹钟的数字钟(VHDL)
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use work.p_alarm.all;

entity display_driver is
	port(alarm_time: in t_clock_time;
		current_time: in t_clock_time;
		new_time: in t_clock_time;
		show_new_time: in std_logic;
		show_a: in std_logic;
		sound_alarm: out std_logic;
		display: out t_display);
end display_driver;

architecture art of display_driver is
	signal display_time: t_clock_time;
	begin
		ctrl: process(alarm_time,current_time,new_time,show_a,show_new_time) is
		begin
			sound_lp: for i in alarm_time'range loop
				if(not(alarm_time(i)=current_time(i))) then
					sound_alarm<='0';
					exit sound_lp;
				else 
					sound_alarm<='1';
				end if;
			end loop sound_lp;
			if(show_new_time='1') then
				display_time<=new_time;
			elsif (show_a='1') then
				display_time<=alarm_time;
			elsif (show_a='0') then
				display_time<=current_time;
			else
				assert false report "uncertain display_driver control!"
				severity warning;
			end if;
		end process ctrl;
		
	disp: process(display_time) is
		begin
				display(0)<=seven_seg(display_time(0));
				
				display(1)<=seven_seg(display_time(1));				
				display(2)<=seven_seg(10);				
				display(3)<=seven_seg(display_time(2));				
				display(4)<=seven_seg(display_time(3));				
				display(5)<=seven_seg(10);				
				display(6)<=seven_seg(display_time(4));				
				display(7)<=seven_seg(display_time(5));
		end process;
end art;

⌨️ 快捷键说明

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