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

📄 60counter.vhd

📁 这是一个SD卡的TESTBENCH,源码中有如何产生一个特定的命令序列的样例。支持产生任何的SD卡交互过程中用到的命令序列。
💻 VHD
字号:
--实验题号   : lab4-2
--项目名称   :六十进制计数器
--文件名     : SixtyCalcu.vhd
--作者       : 胡博
--班号.      : 计60 
--创建日期   : 2008-04-14
--目标芯片   : EP1C6Q240C8
--电路模式   : 模式1
--时钟选择   : clock0
--演示说明   : CQLOW接数码管1;CQHIGH接数码管2;COUT接发光二极管。RST,EN为键八及键七。

LIBRARY IEEE ; 
USE IEEE.STD_LOGIC_1164.ALL ; 
USE IEEE.STD_LOGIC_UNSIGNED.ALL ; 
ENTITY SixtyCalcu IS     --顶层实体
 PORT ( CLK,RST,EN : IN STD_LOGIC ; 
 	CQLOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);  --输出低位
	CQHIGH:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);	--输出高位
	COUT:OUT STD_LOGIC);	--进位
END SixtyCalcu; 
ARCHITECTURE behav OF SixtyCalcu IS
BEGIN
   PROCESS(CLK, RST, EN)--主进程
     VARIABLE  CQLOWI : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; 
	 VARIABLE	CQHIGHI : STD_LOGIC_VECTOR(2 DOWNTO 0):="000";
   BEGIN
     IF RST = '1' THEN   CQLOWI := (OTHERS =>'0') ; --计数器异步复位 
						CQHIGHI:=(OTHERS=>'0');
						CQLOW<=(OTHERS=>'0');
						CQHIGH<=(OTHERS=>'0');
                                                               
       ELSIF CLK'EVENT AND CLK='1' THEN    --检测时钟上升沿
	 			IF EN = '1' THEN        --检测是否允许计数(同步使能)
          			IF CQLOWI < 59 THEN   CQLOWI := CQLOWI + 1; --允许计数,检测是否小于59,加上一个数后最多为59
               			ELSE    CQLOWI := (OTHERS =>'0');     --计数值清零,CQHIGH上加1
							IF CQHIGHI<5 THEN CQHIGHI:=CQHIGHI+1;	--CQHIGHI<6;
												COUT<='0';	--进位为0
								ELSE CQHIGHI:=(OTHERS=>'0');
									COUT<='1';--进位为1
							END IF;							
          			END IF;
					CQLOW<=CQLOWI;
					CQHIGH<=CQHIGHI;
				END IF;
     END IF;   
   END PROCESS;
END behav; 

⌨️ 快捷键说明

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