EDA作业
1. 三人表决电路设计
输入用拨码开关sw1-sw8 输出用LED显示。
LED引脚定义(8bit LEDs)
set_location_assignment PIN_AB20 -to led_down[0] set_location_assignment PIN_AD24 -to led_down[1] set_location_assignment PIN_AB23 -to led_down[2] set_location_assignment PIN_AB18 -to led_down[3] set_location_assignment PIN_Y21 –to led_down[4] set_location_assignment PIN_AD16 -to led_down[5] set_location_assignment PIN_U24 –to led_down[6] set_location_assignment PIN_T23 –to led_down[7] 8位拨码开关定义(8bit Switch)
set_location_assignment PIN_AA16 -to sw[0] set_location_assignment PIN_Y13 -to sw[1] set_location_assignment PIN_W10 -to sw[2] set_location_assignment PIN_V10 -to sw[3] set_location_assignment PIN_Y11 -to sw[4] set_location_assignment PIN_V13 -to sw[5] set_location_assignment PIN_V24 -to sw[6] set_location_assignment PIN_AB15 -to sw[7] 实验5:分频器设计
一:设计一个分频器,首先对系统时钟分频,形成2Hz的信号,然后依次点亮8个LED,形成流水灯。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY rightmove IS PORT(CLK,ENA:IN STD_LOGIC;
COUNT:IN STD_LOGIC_VECTOR(5 DOWNTO 0); OUTPUT:OUT STD_LOGIC_VECTOR(11 DOWNTO 0));
END rightmove ;
ARCHITECTURE one OF rightmove IS
BEGIN
PROCESS(CLK,ENA,COUNT)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF ENA='1' THEN CASE COUNT IS
WHEN \ WHEN \ WHEN \ WHEN \
WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS=>OUTPUT<=\
END CASE;
ELSE OUTPUT<=\
END IF; END IF; END PROCESS;
END one;
实验6:七段数码管动态显示
一:用8个动态数码管显示1-8的数字,每个数码管的刷新频率50Hz
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
--下面是构造实体
entity exp4 is --exp4为实体名
port( clk : in std_logic; key : in std_logic_vector(3 downto 0); ledag : out std_logic_vector(6 downto 0); del : out std_logic_vector(2 downto 0) end exp4;
architecture whbkrc of exp4 is --whbkrc为结构体名 begin --以begin为标志开始结构体的描述 process(clk) --进程,clk变化时启动进程
variable dount : std_logic_vector(2 downto 0); --变量,计数
begin
if clk'event and clk='1' then--检测时钟上升沿 dount:=dount+1;--计数器dount累加 end if;
del<=dount; --片选信号
end process;--结束进程
process(key) --进程,key变化时启动进程 begin case key is
when \七段数码管显示 0
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when others => null; end case;
end process; --结束进程
end whbkrc; --结束结构体
实验7:数字时钟 一:用6个数码管(动态显示),显示时间,格式HH:MM:SS。时间可以通过按键调整。
ORG 0000H
MOV 40H,#00H MOV 41H,#00H
MOV 42H,#00H MOV 43H,#00H MOV 44H,#00H MOV 45H,#00H MOV R0,#01H MOV R1,#02H CLR P3.0 CLR P3.1
UU: MOV TMOD ,#01H MOV TH0,#3CH MOV TL0,#0B0H CLR TR0
MM: MOV A,40H; MOV 50H,#0FEH MOV P2,50H MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P0,A
LCALL YY MOV A,50H RL A MOV 50H,A
MM1: MOV P2,50H
MOV DPTR,#TAB MOV A,41H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY
;显示程序:;延时 ;中断
MOV A,50H RL A MOV 50H,A
MM2: MOV P2,50H
MOV DPTR,#TAB MOV A,42H MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A
MM3: MOV P2,50H
MOV DPTR,#TAB MOV A,43H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A
MM4: MOV P2,50H
MOV DPTR,#TAB MOV A,44H MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H