【正文】
ary BEGINtest_S = SAMPLE。 DLY_OUT : OUT STD_LOGIC。USE 。因此,必須加上彈跳消除電路,除去短脈沖,避免誤操作的發(fā)生。抖動(dòng)時(shí)間的長(zhǎng)短和機(jī)械開關(guān)特性有關(guān),一般為 5ms到 10ms。End Block SEVEN_SEGMENT。END Block Binary_BCD。139。BIN = (39。 WHEN Q=24 OR CLR=39。END PROCESS。139。event AND CP = 39。BEGINPROCESS (CP,RST)BEGINIF RST = 39。CY24 : OUT STD_LOGIC)。BIN : OUT STD_LOGIC_VECTOR (5 DOWNTO 0)。 子文件定義代碼***************************************************LIBRARY IEEE。CLR : IN STD_LOGIC。END a。039。139。 END IF。IF EC = 39。ELSIF CP39。SIGNAL RST, DLY : STD_LOGIC。EC : IN STD_LOGIC。***************************************************ENTITY COUNTER60 ISPORT(CP : IN STD_LOGIC。CY60 : OUT STD_LOGIC)。 BIN : OUTSTD_LOGIC_VECTOR (5 DOWNTO 0)。 about 250 HzENB = 001 WHEN (S=0 OR S=1) ELSE010 WHEN (S=2 OR S=3) ELSE100 WHEN (S=4 OR S=5) ELSE000。 END IF。Event AND CP=39。END PROCESS。139。Event AND CP=39。 END IF。Begin PROCESS (CP)BeginIF CP39。Q = Q+1。 about 1Hz S = Q(15 DOWNTO 13)。 主文件聲明代碼COMPONENT COUNTER60PORT( CP : IN STD_LOGIC。EC : IN STD_LOGIC。USE 。CLR : IN STD_LOGIC。 子文件定義代碼ARCHITECTURE a OF COUNTER60 ISSIGNAL Q : STD_LOGIC_VECTOR (5 DOWNTO 0) 。 THENQ = 000000。 THENDLY = Q(5)。END IF。RST = 39。 ELSE 39。 ELSE 000000。 S : IN STD_LOGIC。END COMPONENT。***************************************************ENTITY COUNTER24 ISPORT(CP : IN STD_LOGIC。EC : IN STD_LOGIC。SIGNAL RST, DLY : STD_LOGIC。ELSIF CP39。IF EC = 39。 END IF。139。039。 Q) WHEN S = 39。Binary_BCD : BlockBEGIN BCD = 00000000 WHEN BIN = 0 ELSE00000001 WHEN BIN = 1 ELSE00000010 WHEN BIN = 2 ELSE00000011 WHEN BIN = 3 ELSE00000100 WHEN BIN = 4 ELSE00000101 WHEN BIN = 5 ELSE00000110 WHEN BIN = 6 ELSE00000111 WHEN BIN = 7 ELSE00001000 WHEN BIN = 8 ELSE00001001 WHEN BIN = 9 ELSE00010000 WHEN BIN = 10 ELSE00010001 WHEN BIN = 11 ELSE00010010 WHEN BIN = 12 ELSE00010011 WHEN BIN = 13 ELSE00010100 WHEN BIN = 14 ELSE00010101 WHEN BIN = 15 ELSE00010110 WHEN BIN = 16 ELSE00010111 WHEN BIN = 17 ELSE00011000 WHEN BIN = 18 ELSE00011001 WHEN BIN = 19 ELSE00100000 WHEN BIN = 20 ELSE00100001 WHEN BIN = 21 ELSE00100010 WHEN BIN = 22 ELSE00100011 WHEN BIN = 23 ELSE00100100 WHEN BIN = 24 ELSE00100101 WHEN BIN = 25 ELSE00100110 WHEN BIN = 26 ELSE00100111 WHEN BIN = 27 ELSE00101000 WHEN BIN = 28 ELSE00101001 WHEN BIN = 29 ELSE00110000 WHEN BIN = 30 ELSE00110001 WHEN BIN =